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

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

初識SkyWalking

應用場景

隨着微服務架構的流行,一些微服務架構下的問題也會愈來愈突出,好比一個請求會涉及多個服務,而服務自己可能也會依賴其餘服務,整個請求路徑就構成了一個網狀的調用鏈,而在整個調用鏈中一旦某個節點發生異常,整個調用鏈的穩定性就會受到影響,若是沒有及時處理頗有可能會形成整個系統崩潰。file面對以上狀況,咱們就須要一些能夠幫助理解系統行爲、用於分析性能問題的工具,以便發生故障的時候,可以快速定位和解決問題。web

架構

file

SkyWalking 邏輯上分爲四部分: 探針, 平臺後端, 存儲和用戶界面。apache

  • 探針
    主要負責從客戶端收集數據,將數據轉換成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文件夾從服務器上拷貝出來,放在客戶端服務器。打開agentconfigagent.config做以下修改
    • agent.service_name修改爲你應用名稱:blog
    • collector.backend_service修改爲OAP Server地址:192.168.136.129:11800
  • IDEA配置(可選)
    file

配置完成後啓動你的客戶端應用。架構

效果

file

file

file

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

***運維

三維一體立體化監控webapp

獲取更多內容請關注公衆號:JAVA日知錄

微信公衆號

相關文章
相關標籤/搜索