基於SkyWalking的分布式跟蹤系統 - 環境搭建


前面的幾篇文章我們聊了基於Metrics的監控Prometheus,利用Prometheus和Grafana可以全方位監控你的服務器及應用的性能指標,在出現異常時利用Alertmanager告警及時通知運維處理。今天我們聊聊基於Trace的分布式跟蹤系統 - SkyWalking

初識SkyWalking

應用場景

隨着微服務架構的流行,一些微服務架構下的問題也會越來越突出,比如一個請求會涉及多個服務,而服務本身可能也會依賴其他服務,整個請求路徑就構成了一個網狀的調用鏈,而在整個調用鏈中一旦某個節點發生異常,整個調用鏈的穩定性就會受到影響,如果沒有及時處理很有可能會造成整個系統崩潰。
file
面對以上情況,我們就需要一些可以幫助理解系統行為、用於分析性能問題的工具,以便發生故障的時候,能夠快速定位和解決問題。

架構

file

SkyWalking 邏輯上分為四部分: 探針, 平台后端, 存儲和用戶界面。

  • 探針
    主要負責從客戶端收集數據,將數據轉換成SkyWalking適用的格式,探針對客戶端程序沒有任何代碼侵入,使用起來簡單方便,使用如下命令即可完成對應用的監控
    java -javaagent:/path/skywalking-agent.jar -jar youApp.jar

  • 平台后端(OAP Server)
    主要用於數據聚合, 數據分析以及驅動數據流從探針到用戶界面的流程。通過 gRPC/Http 收集客戶端Agent的采集信息 ,Http默認端口 12800,gRPC默認端口 11800。

  • 存儲
    SkyWalking支持很多存儲:H2(用作演示環境)、MySQL(當數據量大時檢索性能下降很厲害)、ES(主流生產級別的存儲)

  • 用戶界面
    炫酷的界面,調用請求監控一目了然。

安裝配置

安裝

直接從官網下載最新的安裝包,並上傳到服務器解壓。解壓后的文件如下:
file

(需要提前准備好JAVA(1.8)和ES(6.x)的環境。)

關注一下幾個重要的目錄:

  • agent:代理模塊(探針)
  • bin:啟動腳本(包括UI和OAP SERVER)
  • config:后端相關配置
  • webapp:UI界面

配置

  • 存儲相關配置
    打開application.yml,修改storage相關配置。關閉H2,打開ES,然后啟動 ./bin/startup.sh
storage:
  elasticsearch:
    nameSpace: ${SW_NAMESPACE:"elk-online"}
    clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:192.168.136.129:9200}
    protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"http"}
  • agent 配置
    agent文件夾從服務器上拷貝出來,放在客戶端服務器。打開agent\config\agent.config作如下修改

    • agent.service_name修改成你應用名稱:blog
    • collector.backend_service修改成OAP Server地址:192.168.136.129:11800
  • IDEA配置(可選)
    file

配置完成后啟動你的客戶端應用。

效果

file

file

file

環境搭建好了,下一步就是全面監控你的應用了,咱們下期有緣再見。


三維一體立體化監控

請關注個人公眾號:JAVA日知錄

avatar


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM