SkyWalking
APM(应用性能监控)
- 主要功能用于分布式系统,微服务之间的性能诊断,其主要功能包括调用链展示,应用拓扑分析等。
- 调用链跟踪系统解决什么问题:
- 能够快速发现系统中的性能瓶颈,快速找到不合理调用,
- 可视化查看系统之间的依赖关系,系统出问题时迅速定位问题在哪里
APM产品对比
- 最终选择 skywalking
skywalking
组件
部署架构
服务器 | 组件 |
---|---|
192.168.0.42 | skywalking服务端、kibana |
192.168.0.111 | es1 |
192.168.0.14 | es2 |
192.168.0.153 | es3 |
ES集群搭建
-
配置 /etc/elasticsearch/elasticsearch.yml
cluster.name: my-es node.name: node-111 path.data: /data/elasticsearch/data path.logs: /data/elasticsearch/logs network.host: 0.0.0.0 discovery.seed_hosts: ["192.168.0.14", "192.168.0.153","192.168.0.111"] cluster.initial_master_nodes: ["192.168.0.14","192.168.0.153","192.168.0.111"]
-
启动
systemctl restart elasticsearch systemctl enable elasticsearch
Skywalking搭建
-
配置 apache-skywalking-apm-bin-es7/config/application.yml
storage: selector: ${SW_STORAGE:elasticsearch7} # 选择es存储方式 elasticsearch7: nameSpace: ${SW_NAMESPACE:""} clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:192.168.0.14:9200}
-
启动
bash bin/startup.sh
项目服务接入
-
将 skywalking agent传到该服务的服务器中
-
修改skywalking agent 配置
# Backend service addresses. collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:192.168.0.42:11800} # Logging file_name logging.file_name=skywalking-api.log # Logging level logging.level=${SW_LOGGING_LEVEL:INFO} # Logging dir logging.dir=/tmp
-
将agent 目录打包压缩 传送到 客户端
-
-
服务接入配置
-
解压agent (示例是 /data )
-
启动服务
java -javaagent:/data/agent/skywalking-agent.jar -Dskywalking.agent.service_name=bonade-reimbursement-im -jar /data/bonade-reimbursement-im-1.0.0.jar
-
查看skywalking UI
地址: http://129.204.85.47:8080/
效果展示
- 仪表盘
- 拓扑图
- 追踪
- 报警
集群搭建 参考
- 组件 zookeeper 集群