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 集群