一个对Java友好的微服务链路监控工具。
下载 apache-skywalking-apm-9.2.0.tar.gz
1 2 3 4 5 6 mkdir ~/tools cd ~/toolswget https://dlcdn.apache.org/skywalking/9.2.0/apache-skywalking-apm-9.2.0.tar.gz --no-check-certificate tar -zxf apache-skywalking-apm-9.2.0.tar.gz -C ../ cd ../mv apache-skywalking-apm-bin skywalking
安装 直接参考官方文档
配置 数据库 服务配置 1 vim ~/skywalking/config/application.yml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 core: selector: ${SW_CORE:default} default: role: ${SW_CORE_ROLE:Mixed} restHost: ${SW_CORE_REST_HOST:0.0.0.0} restPort: ${SW_CORE_REST_PORT:52800} restContextPath: ${SW_CORE_REST_CONTEXT_PATH:/} restMaxThreads: ${SW_CORE_REST_MAX_THREADS:200} restIdleTimeOut: ${SW_CORE_REST_IDLE_TIMEOUT:30000} restAcceptQueueSize: ${SW_CORE_REST_QUEUE_SIZE:0} httpMaxRequestHeaderSize: ${SW_CORE_HTTP_MAX_REQUEST_HEADER_SIZE:8192} gRPCHost: ${SW_CORE_GRPC_HOST:0.0.0.0} gRPCPort: ${SW_CORE_GRPC_PORT:51800} storage: selector: ${SW_STORAGE:mysql} mysql: properties:
注意:
需要自己添加lib依赖到 ~/skywalking/oap-libs/
目录下。
比如:
MySQL
:mysql-connector-java-8.0.30.jar
ES
:transport-7.17.6.jar
web
服务配置1 vim ~/skywalking/webapp/webapp.yml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 server: port: 52801 spring: cloud: gateway: routes: - id: oap-route uri: lb://oap-service predicates: - Path=/graphql/** discovery: client: simple: instances: oap-service: - uri: http://127.0.0.1:52800
日志 默认 30 天清理,一个文件 100MB
,无需更改
1 ~/skywalking/config/log4j2.yml
启动 全部启动服务与web
1 ~/skywalking/bin/startup.sh
分开启动
1 2 ~/skywalking/bin/webappService.sh ~/skywalking/bin/oapService.sh
启动日志 1 2 3 4 tail -f ~/skywalking/logs/*.log
Java-agent 官网文档
下载 apache-skywalking-java-agent-8.12.0.tgz
1 2 3 4 mkdir ~/tools && cd ~/toolswget https://dlcdn.apache.org/skywalking/java-agent/8.12.0/apache-skywalking-java-agent-8.12.0.tgz --no-check-certificate tar -xf apache-skywalking-java-agent-8.12.0.tgz -C ../ cd ../
配置 1 vim ~/skywalking-agent/config/agent.config
修改
1 2 3 4 5 6 7 8 agent.service_name =${SW_AGENT_NAME:maxzhao_group::auth} agent.namespace =${SW_AGENT_NAMESPACE:maxzhao} agent.cluster =${SW_AGENT_CLUSTER:maxzhao_cluster} collector.backend_service =127.0.0.1:51800
启动 1 java -javaagent:~/skywalking-agent/skywalking-agent.jar -jar yourApp.jar
其它参考 监控指标说明:
Service Apdex:Apdex是衡量一个服务在网格中的健康程度的指标。Apdex规范推荐了以下Apdex质量评级,将Apdex得分分为优秀(0.94 - 1.00)、良好(0.85 - 0.93)、一般(0.70 - 0.84)、差(0.50 - 0.69)和不可接受(0.00 - 0.49)。
Success Rate:服务响应成功比率
Service Load (calls / min):每分钟并发数
Service Avg Response Time (ms):应用平均响应时间
Service Response Time Percentile (ms):应用在特定毫秒内的响应请求的百分比。
Message Queue Consuming Count:消息队列消费数量
Message Queue Avg Consuming Latency (ms):消息队列平均消费数量每毫秒
Service Instances Load (calls / min):每个应用实例分流的每分钟并发数
Slow Service Instance (ms):慢响应实例排行
Service Instance Success Rate (%):应用实例的成功百分比
Endpoint Load in Current Service (calls / min):当前应用端点(接口)每分钟请求次数
Slow Endpoints in Current Service (ms):当前应用端点(接口)慢响应的排行
Success Rate in Current Service (%):当前应用端点(接口)响应的成功率
监控大项:
Trace:可以跟踪至JDBC层,可以查看具体的sql执行语句以及耗时,还有应用内抛出的应用信息。
Topology:拓扑图,可以看到应用间的调用和联系以及繁忙情况
Instance:各个应用实例的响应情况
Endpoint:端点接口的响应情况
本文地址: https://github.com/maxzhao-it/blog/post/b66e8509/