总概:
skywalking-controller 接受探针的数据,入库 es 10800
es的contorllercluster名称是controller名称就可找到
skywalking-web 数据展现 8080
skywalking-agent 探针集成在应用程序用连接controller
源码中的这个拷贝到应用程序位置(注意目录位置)
设置要连接的controller
设置需要监控的应用名
在tomcat容器设置编译探针入应用源码的命令-javaagent:/path/to/agent/skywalking-agent.jar (集成到应用程序客户端的方式之一,当然也可以用jar依赖)
点击解压总的源码压缩包中的bin/startup.sh 启动这web 和 controller,agent就是其他集成在应用程序的客户端jar
介绍
SkyWalking 创建与2015年,提供分布式追踪功能。从5.x开始,项目进化为一个完成功能的Application Performance Management系统。
他被用于追踪、监控和诊断分布式系统,特别是使用微服务架构,云原生或容积技术。提供以下主要功能:
- 分布式追踪和上下文传输
- 应用、实例、服务性能指标分析
- 根源分析
- 应用拓扑分析
- 应用和服务依赖分析
- 慢服务检测
- 性能优化
主要特性
- 多语言探针或类库
- 多种后端存储: ElasticSearch, H2
- 支持OpenTracing
- Java自动探针支持和OpenTracing API协同工作
- 轻量级、完善功能的后端聚合和分析
- 现代化Web UI
- 日志集成
- 应用、实例和服务的告警
架构
在线体验
安装
安装es
新版本的skywalking使用ES作为存储,所以先安装es,注意6.X版本不行,安装5.6.8:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.8.tar.gz
tar zxvf elasticsearch-5.6.8.tar.gz
cd elasticsearch-5.6.8/
修改配置文件,主要修改cluster.name,并增加两行配置,
vim config/elasticsearch.yml:
cluster.name: CollectorDBCluster
# ES监听的ip地址
network.host: 0.0.0.0
thread_pool.bulk.queue_size: 1000
保存,然后启动es:
nohup bin/elasticsearch &
安装skywalking
先下载编译好的版本并解压:
wget http://mirrors.hust.edu.cn/apache/incubator/skywalking/5.0.0-beta/apache-skywalking-apm-incubating-5.0.0-beta.tar.gz
tar zxvf apache-skywalking-apm-incubating-5.0.0-beta.tar.gz
cd apache-skywalking-apm-incubating/
然后部署,注意skywalking会使用(8080, 10800, 11800, 12800)端口,因此先排除端口占用情况。
然后运行bin/startup.sh,windows用户为.bat文件。
一切正常的话,访问localhost:8080就能看到页面了。
安装过程问题解决
- 启动bin/startup.sh后,提示success,但是不能访问,ps 查看并无相关进程,经过检查发现是端口被占用
- collector 不能正常启动,发现是es问题:
- es需要使用5.x版本
- es的集群名称需要和collector的配置文件一致
- vim application.yml
cluster:
# 配置zookeeper集群信息
zookeeper:
hostPort: ip:2181
sessionTimeout: 100000
naming:
# 配置探针使用的host和port
jetty:
host: ip
port: 10800
context_path: /
remote:
gRPC:
host: ip
port: 11800
agent_gRPC:
gRPC:
host: ip
port: 11800
agent_jetty:
jetty:
host: ip
port: 12800
context_path: /
analysis_register:
default:
analysis_jvm:
default:
analysis_segment_parser:
default:
buffer_file_path: ../buffer/
buffer_offset_max_file_size: 10M
buffer_segment_max_file_size: 500M
ui:
jetty:
host: ip
port: 12800
context_path: /
# 配置 Elasticsearch 集群连接信息
storage:
elasticsearch:
cluster_name: CollectorDBCluster
cluster_transport_sniffer: true
cluster_nodes: localhost:9300
index_shards_number: 2
index_replicas_number: 0
ttl: 7
cd skywalking-collector/bin
./startup.sh
部署web
-cd /usr/local/sky/skywalking-web/bin
-./web-service.sh
java程序使用skywalking探针
1.拷贝apache-skywalking-apm-incubating目录下的agent目录到应用程序位置,探针包含整个目录,请不要改变目录结构
2.java程序启动时,增加JVM启动参数,-javaagent:/path/to/agent/skywalking-agent.jar。参数值为skywalking-agent.jar的绝对路径
在IDEA里调试程序怎么办?
增加VM参数即可。
agent探针配置,简单修改下agent.application_code即可
# 当前的应用编码,最终会显示在webui上。
# 建议一个应用的多个实例,使用有相同的application_code。请使用英文
agent.application_code=Your_ApplicationName
# 每三秒采样的Trace数量
# 默认为负数,代表在保证不超过内存Buffer区的前提下,采集所有的Trace
# agent.sample_n_per_3_secs=-1
# 设置需要忽略的请求地址
# 默认配置如下
# agent.ignore_suffix=.jpg,.jpeg,.js,.css,.png,.bmp,.gif,.ico,.mp3,.mp4,.html,.svg
# 探针调试开关,如果设置为true,探针会将所有操作字节码的类输出到/debugging目录下
# skywalking团队可能在调试,需要此文件
# agent.is_open_debugging_class = true
# 对应Collector的config/application.yml配置文件中 agent_server/jetty/port 配置内容
# 例如:
# 单节点配置:SERVERS="127.0.0.1:8080"
# 集群配置:SERVERS="10.2.45.126:8080,10.2.45.127:7600"
collector.servers=127.0.0.1:10800
# 日志文件名称前缀
logging.file_name=skywalking-agent.log
# 日志文件最大大小
# 如果超过此大小,则会生成新文件。
# 默认为300M
logging.max_file_size=314572800
# 日志级别,默认为DEBUG。
logging.level=DEBUG
一切正常的话,稍后就可以在skywalking ui看到了。
可以看到累出了slow service等信息,更多的细节慢慢挖掘吧。
相关推荐
使用Apache SkyWalking(Incubating) 监控.NET Core分布式服务 使用Apache SkyWalking(Incubating) 监控.NET Core分布式服务 使用Apache SkyWalking(Incubating) 监控.NET Core分布式服务 使用Apache SkyWalking...
SkyWalking 是一款强大的国产 Application Performance Management (APM) 系统,特别适用于追踪、监控和诊断采用微服务架构、云原生技术或容器化的分布式系统。它提供了可视化的整体解决方案,帮助企业实现对业务...
总的来说,"skywaking-demo.zip"为我们提供了一个实践Skywalking分布式监控的平台,通过这个示例,我们可以深入了解Skywalking如何工作,并将其应用到自己的微服务架构中,提升系统运维的效率和质量。
incubator-skywalking, 分布式跟踪系统和 APM ( 应用性能监控) SkyWalking | 中文 为分布式系统,云原生和基于容器的( Docker,Kubernetes,Mesos ) 体系结构设计的 SkyWalking ( 应用程序性能监视器) 工具,为...
总结,SkyWalking 作为一款现代的 APM 工具,为分布式环境提供了强大的链路监控和性能分析能力,帮助企业提升系统稳定性,降低运维复杂度。通过 Java Agent 技术实现无侵入式监控,使得集成和维护变得更加简单高效。
SkyWalking是一款开源的应用性能监控(APM)系统,主要用于分布式微服务架构的性能监测。它提供了丰富的追踪、诊断和分析功能,帮助开发者了解系统运行状况,定位并解决性能瓶颈。v9.1.0是其最新的一个版本,包含了...
接入skyWalking分布式系统,前后端都有,详细注释以及解析,只需要两步就可以了,下载后安装一下依赖,直接运行即可看到效果。 不需要在其它博主那里随便瞎CV,你也不看看他的发布时间,我写这篇文章前3天就是随便...
分布式链路追踪工具Apache SkyWalking是一款强大的应用性能管理系统(APM),它专注于提供分布式追踪、服务网格遥测分析以及度量聚合与可视化功能。这款工具适用于微服务架构,帮助开发者和运维人员理解应用程序的...
SkyWalking 是一个强大的可观测性平台,专注于分布式系统的性能监控和追踪。它提供了一种高效的方式来进行服务网格的链路追踪,帮助开发者更好地理解和优化他们的应用程序。Nginx Lua 插件则是 SkyWalking 的一部分...
总的来说,SkyWalking 是一款功能强大的 APM 工具,它不仅提供了全面的监控功能,还具备强大的诊断和分析能力,是开发和运维团队在现代分布式系统中不可或缺的助手。通过 sky-walking-master 压缩包,用户可以深入...
SkyWalking是一款开源的应用性能监控(APM)工具,它可以自动发现、可视化并诊断分布式系统的问题。SkyWalking支持多种编程语言和服务框架,适用于微服务架构下的监控需求。其核心功能包括但不限于服务网格观测、...
SkyWalking 是一款强大的分布式追踪系统和 APM...总之,SkyWalking 是一个强大且灵活的工具,对于监控和优化现代分布式系统性能具有重要价值。它的广泛应用和社区支持使其成为企业级 IT 基础设施不可或缺的一部分。
Skywalking是分布式系统的应用程序性能监视工具,专为微服务,云原生架构和基于容器(Docker,K8S,Mesos)架构而设计,它是一款优秀的APM(Application Performance Management)工具,包括了分布式追踪,性能指标...
SkyWalking是一个开源的APM工具,即应用性能管理系统(Application Performance Management),主要用于监控和诊断分布式系统中的应用性能问题。APM系统的核心目标是提供应用程序性能管理和故障管理的系统化解决方案,...
总结,SkyWalking是现代云原生环境中不可或缺的工具,它提供了强大的性能监控能力,帮助企业更好地管理和优化他们的分布式系统。通过其丰富的功能和灵活的扩展性,SkyWalking已经成为了许多组织的首选APM解决方案。
SkyWalking 是一个强大的分布式追踪系统,专为微服务和云原生架构设计,主要用于应用程序性能监控(APM)。它能够帮助开发者和运维人员理解应用程序的运行情况,包括服务之间的调用关系、调用链路的性能指标以及异常...
而 SkyWalking 是一个分布式追踪系统,主要用于微服务架构中的性能监控,它能够帮助开发者理解和优化系统的运行时行为。 在"gin+skywalking demo源码"中,我们主要探讨的是如何将 Gin 框架的应用接入到 SkyWalking ...