1、Skywalking是什么
适用于分布式系统性能监控工具
官方文档地址:
https://github.com/apache/skywalking/tree/v6.6.0/docs
中文文档
http://itmuch.com/books/skywalking/
2、Skywalking提供的功能
服务,服务实例,端点指标分析
根本原因分析
服务拓扑图分析
服务,服务实例和端点依赖分析
检测到慢速服务和端点
性能优化
分布式跟踪和上下文传播
数据库访问指标
告警
3、单机版本Skywalking使用
1) 下载
下载: http://skywalking.apache.org/downloads/
我这里下载的是6.6.0
https://archive.apache.org/dist/skywalking/6.6.0/
2) 环境要求
(1) JDK版本在JDK8-JDK12之间
ElasticSearch7版本,需要JDK11+
(2) 确保如下端口可用
11800:和Skywalking通信的gRPC端口
12800: 和Skywalking通信的HTTP端口
8080: UI所占用的端口
查看端口是否被占用
Linux/macOS
netstat -an | grep 8080
windows
netstat -ano|findstr 8080
3) 安装&启动
Linux
cd apache-skywalking-apm-bin/bin
sh startup.sh
Window
cd apache-skywalking-apm-bin/bin
startup.bat
访问首页 localhost:8080
4) 如何使用
目前最流行的使用方式是基于Java agent
Java agent支持的框架、中间件等,https://github.com/apache/skywalking/blob/v6.6.0/docs/en/setup/service-agent/java-agent/Supported-list.md可在查看。
(1) 找到SkyWalking包中的agent目录,agent目录结构如下
将agent目录拷贝到任意位置
(2) 配置config/agent.config
将agent.service_name 修改成微服务的名称
(3) 如果想在IDE中启动测试,配置如下
(4) 查看
15 cpm : 一定程度反映当前程序的吞吐量或者并发数
最慢的几个端点
API响应时间的统计值
数据库情况
拓扑图可以查看服务调用去向
追踪
可以查看在各个服务所占用的时间
5) Jar的方式启动
java -javaagent:C:\Users\Think\Desktop\Skywalking\agent\skywalking-agent.jar -jar xxx.jar
对应Tomcat (linux)
修改 tomcat/bin/catalina.sh的第一行
补充:
配置采样并打印SQL详情
-javaagent:C:\Users\xxx\Desktop\Skywalking\agent\skywalking-agent.jar -Dskywalking.agent.sample_n_per_3_secs=1 -Dskywalking.plugin.mysql.trace_sql_parameters=true -Dskywalking.plugin.mysql.sql_parameters_max_length=200 -Dskywalking.agent.service_name=order
采样率设置: -Dskywalking.agent.sample_n_per_3_secs=1 每隔3秒收集1条记录
打印SQL设置: -Dskywalking.plugin.mysql.trace_sql_parameters=true -Dskywalking.plugin.mysql.sql_parameters_max_length=200
作者:Work Hard Work Smart
出处:http://www.cnblogs.com/linlf03/
欢迎任何形式的转载,未经作者同意,请保留此段声明!