简介
SkyWalking 是针对分布式系统的APM(应用性能监控)系统,特别针对微服务、cloud native 和容器化(Docker, Kubernetes, Mesos)架构, 其核心是个分布式追踪系统。主要提供以下功能:
- 分布式追踪和上下文传输
- 应用、实例、服务性能指标分析
- 根源分析
- 应用拓扑分析
- 应用和服务依赖分析
- 慢服务检测
- 性能优化
下载、配置
本文环境:
- Mac OS X: 10.12.6
- SkyWalking: 6.0.0-alpha
- ElasticSearch: 6.5.0
SkyWalking 目录结构:
agent 配置
将 agent 文件夹拷贝至待监控应用所在服务器
配置 config/agent.conf 文件(主要修改被监控应用名和 collector 端所在服务器地址)
collector 配置
主要将储存方式由 h2 修改为 elasticsearch:
1 | storage: |
其中主要修改 clusterName 和 clusterNodes 和 已启动的 elasticsearch 配置一致。
elasticsearch 配置
主要修改配置文件 elasticsearch.yml
如下几处:
1 | cluster.name: app |
启动、测试
确保 8080、11800、12800 端口未占用的情况下,启动 bin 目录下
startup.sh
脚本用如下命令启动待监控应用:
1
java -javaagent:/path/skywalking-agent.jar -jar aaa.jar
注意
-javaagent
要在-jar
前面。,浏览器打开:localhost:8080 以 admin/admin 登陆。页面如下则表示成功
原理概述
- agent 端通过
java agent
机制动态修改被监控的应用,获取数据传递给 collector 端 - collector 端接收 agent 端发送的数据,根据不同具体实现(例如h2或es)将数据保存起来
- webui 获取数据进行展示