Linux下安裝 SkyWalking 分布式追蹤系統
https://skywalking.apache.org/downloads/ 官網地址
1、SkyWalking簡介
1.1 SkyWalking介紹
SkyWalking項目是由華為大牛吳晟開源的個人項目,目前已經加入Apache孵化器。 SkyWalking項目的核心目標是針對微服務、Cloud Native、容器化架構提供應用性能監控和分布式調用鏈追蹤功能,目前鏈路追蹤和監控應用支持的組件包括主流框架和容器,如dubbo、motan、spring boot、spring cloud等。 Skywalking分布式系統的應用程序性能監視工具,專為微服務、云原生架構和基于容器(Docker、K8s、Mesos)架構而設計,它是一款優秀的APM(Application Performance Management)工具,包括了分布式追蹤,性能指標分析和服務依賴分析等。

整個架構,分成上、下、左、右四部分:
- 上部分 Agent :負責從應用中,收集鏈路信息,發送給 SkyWalking OAP 服務器。目前支持 SkyWalking、Zikpin、Jaeger 等提供的 Tracing 數據信息。而我們目前采用的是,SkyWalking Agent 收集 SkyWalking Tracing 數據,傳遞給服務器。
- 下部分 SkyWalking OAP :負責接收 Agent 發送的 Tracing 數據信息,然后進行分析(Analysis Core) ,存儲到外部存儲器( Storage ),最終提供查詢( Query )功能。
- 右部分 Storage :Tracing 數據存儲。目前支持 ES、MySQL、Sharding Sphere、TiDB、H2 多種存儲器。而我們目前采用的是 ES ,主要考慮是 SkyWalking 開發團隊自己的生產環境采用 ES 為主。
- 左部分 SkyWalking UI :負責提供控臺,查看鏈路等等。
1.3 SkyWalking主要功能
- 多種監控手段。可以通過語言探針和 service mesh 獲得監控是數據。
- 多個語言自動探針。包括 Java,.NET Core 和 Node.JS。
- 輕量高效。無需大數據平臺,和大量的服務器資源。
- 模塊化。UI、存儲、集群管理都有多種機制可選。
- 支持告警。
- 優秀的可視化解決方案。

- Skywalking agent和業務端綁定在一起,負責收集各種監控數據
- Skywalking oapservice是負責處理監控數據,接受agent的數據并存儲在數據庫中,接受來自UI的請求,查詢監控數據。
- Skywalking UI提供給用戶,展現各種監控數據和告警。
2、部署SkyWalking
2.1 部署前準備工作
1.關閉selinux
[root@skywalking ~]#sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
2.2 部署elasticsearch
1.解壓
[root@skywalking /usr/local/src]#tar -zxf elasticsearch-6.6.2.tar.gz
2.修改配置文件
[root@skywalking ~]#vim /usr/local/src/elasticsearch/config/elasticsearch.yml ...
只需要修改這個 network.host: 0.0.0.0

2.3 部署skywarking
1.解壓
[root@skywalking /usr/local/src]#tar -xzf apache-skywalking-apm-6.4.0.tar.gz
2.修改配置文件

3.啟動
[root@skywalking /usr/local/src]#cd skywalking/bin/
[root@skywalking /usr/local/src/skywalking/bin]#./startup.sh
4.驗證是否安裝成功

安裝完畢后,應用采集上報數據操作
應用采集并且上報數據,直接使用agent探針方式。分為以下3步:
agent在安裝包內存在.

添加啟動參數,應用如果是jar命令啟動,則直接添加啟動參數即可
java -javaagent:/自定義path/skywalking-agent.jar -Dskywalking.collector.backend_service={{agentUrl}} -jar xxxxxx.jar
自定義path:為安裝包的絕對路徑
agentURL:是SkyWalking服務端安裝的地址,再加上11800端口。比如:10.20.0.55:11800
應用如果是Docker鏡像的部署方式,則需要將skywalking-agent.jar打到鏡像里,類似下圖:

3、啟動項目后,即可看到監控數據,如下圖:


總結
本文主要從3個方面入手:原理、搭建、使用,介紹如何快速集成使用SkyWalking。核心重點:
- SkyWalking其實就4部分組成:探針采集上報、數據分析和邏輯處理、數據存儲、數據展示。安裝使用簡單、易上手。
- 探針技術是SkyWalking的基石,說白了就是:在類加載時進行字節碼轉換增強,然后去攔截請求,采集上報數據。
- UI頁面的使用,多用用就熟悉了

浙公網安備 33010602011771號