1.skywalking是啥東西?
官方答復:分布式系統的應用程序性能監視工具,專為微服務、雲原生架構和基於容器(Docker、K8s、Mesos)架構而設計。
提供分布式追蹤、服務網格遙測分析、度量聚合和可視化一體化解決方案。
個人簡單理解:應用性能監控,APM,類似聽雲APM等工具,哈哈。
2.那么,skywalking主要有哪些功能呢,如下所示
1)多種監控手段。可以通過語言探針和 service mesh 獲得監控是數據。
2)多個語言自動探針。包括 Java,.NET Core 和 Node.JS。
3)輕量高效。無需大數據平台,和大量的服務器資源。
4)模塊化。UI、存儲、集群管理都有多種機制可選。
5)支持告警。
6)優秀的可視化解決方案。
3.skywalking整體架構如下(摘自官方網站)
如上,Skywalking的整個架構,分成上、下、左、右四部分:
考慮到讓描述更簡單,我們舍棄掉 Metric 指標相關,而着重在 Tracing 鏈路相關功能。
1)上部分 Agent :負責從應用中,收集鏈路信息,發送給 SkyWalking OAP 服務器。目前支持 SkyWalking、Zikpin、Jaeger 等提供的 Tracing 數據信息。而我們目前采用的是,SkyWalking Agent 收集 SkyWalking Tracing 數據,傳遞給服務器。
2)下部分 SkyWalking OAP :負責接收 Agent 發送的 Tracing 數據信息,然后進行分析(Analysis Core) ,存儲到外部存儲器( Storage ),最終提供查詢( Query )功能。
3)右部分 Storage :Tracing 數據存儲。目前支持 ES、MySQL、Sharding Sphere、TiDB、H2 多種存儲器。而我們目前采用的是 ES ,主要考慮是 SkyWalking 開發團隊自己的生產環境采用 ES 為主。
4)左部分 SkyWalking UI :負責提供控台,查看鏈路等等。
4.skywalking安裝部署和配置
安裝完成后,登錄web界面如下,默認是8080服務端口。