天天看點

SkyWalking8.x遠端搭建監控平台,分布式鍊路追蹤,看完不會你來*我

SkyWalking8.x搭建監控平台

      • 前言
      • 一. 初始化SkyWalking8.x(本地)
        • 1 修改配置
        • 2. 開啟監控
      • 二. 遠端監控開啟
        • 1 修改配置
        • 2 啟動jar包進行監控

前言

随着微服務架構的流行,一些微服務架構下的問題也會越來越突出,比如一個請求會涉及多個服務,而服務本身可能也會依賴其他服務,整個請求路徑就構成了一個網狀的調用鍊,而在整個調用鍊中一旦某個節點發生異常,整個調用鍊的穩定性就會受到影響,是以會深深的感受到 “銀彈” 這個詞是不存在的,每種架構都有其優缺點 。

最近在搞東西的時候突然老大要求做個平台監控,要什麼

  • 性能分析再把指定的應用裡的服務 使用情況 統計出來。
  • 使用情況指的是 : 調用次數 ,調用是否成功或失敗 。調用耗時。
  • 伺服器的cpu 記憶體 指定的磁盤。
  • jvm日志也放這裡展示。
SkyWalking8.x遠端搭建監控平台,分布式鍊路追蹤,看完不會你來*我

好在我有skywalking分布式追蹤系統,于是我就開始研究這個東西,确實很牛*做到了無代碼侵入的監控平台內建,關鍵是還是國人開源的!

SkyWalking8.x遠端搭建監控平台,分布式鍊路追蹤,看完不會你來*我

廢話不多說先挂個開源的github:github

下面先學會用,在學會原理是什麼

一. 初始化SkyWalking8.x(本地)

下載下傳位址

這裡我們選擇帶有Mysql存儲引擎的SkyWalking版本,大家各自選取對應的版本即可

SkyWalking8.x遠端搭建監控平台,分布式鍊路追蹤,看完不會你來*我
SkyWalking8.x遠端搭建監控平台,分布式鍊路追蹤,看完不會你來*我

ok下載下傳完後在我們桌面解壓後為如下

SkyWalking8.x遠端搭建監控平台,分布式鍊路追蹤,看完不會你來*我
SkyWalking8.x遠端搭建監控平台,分布式鍊路追蹤,看完不會你來*我

skywalking主要通過代理探針來進行監控,agent很重要

由于預設是用h2來進行持久化資訊的,我們這邊可以改成Mysql來持久化監控資訊

1 修改配置

找到config目錄下的application.yml

SkyWalking8.x遠端搭建監控平台,分布式鍊路追蹤,看完不會你來*我

修改存儲方式為mysql

SkyWalking8.x遠端搭建監控平台,分布式鍊路追蹤,看完不會你來*我

修改資料庫jdbc連接配接資訊

SkyWalking8.x遠端搭建監控平台,分布式鍊路追蹤,看完不會你來*我

下一步懂得都懂,那肯定就需要mysql-connector-java-8.0.16寫入mysql的

下載下傳位址:mysql-connector-java-8.0.16

提取碼:xsom

将下載下傳後的包放入oap-libs外部包内

去你的資料庫建立一個swtest的庫,然後回來bin目錄執行以下腳本

SkyWalking8.x遠端搭建監控平台,分布式鍊路追蹤,看完不會你來*我

我們來看看資料庫,已經建立了這麼多表,牛逼,這我自己還分析個鬼啊,全交給人家吧

SkyWalking8.x遠端搭建監控平台,分布式鍊路追蹤,看完不會你來*我

2. 開啟監控

上一步完成各項配置後,我們就要開始監控本地項目了,還記得上面提到的agent嗎在本地環境就是一個探針,由于我的項目和監控都是放在本地的,本地可以不用複制一份到項目去,如果是遠端監控,那就得重新複制一份到項目中去,而且還得改些配置,這個我們之後來做,先整個本地的玩玩

SkyWalking8.x遠端搭建監控平台,分布式鍊路追蹤,看完不會你來*我

記住目前目前agent的絕對路徑,就是最長的那一串,這個我們之後有用

打開本地idea編輯VM options,加入如下一行,具體看圖

SkyWalking8.x遠端搭建監控平台,分布式鍊路追蹤,看完不會你來*我
-javaagent:D:\sorf\ideaReo\IOT\src\main\java\com\fehead\Iot\agent\skywalking-agent.jar
           
SkyWalking8.x遠端搭建監控平台,分布式鍊路追蹤,看完不會你來*我

一切搞定切回,skyWalking目錄下,啟動startup.bat,要保證8080端口沒被占哦(預設8080端口,可以去配置檔案修改指定)

SkyWalking8.x遠端搭建監控平台,分布式鍊路追蹤,看完不會你來*我

打開localhost:8080端口看到如下界面

執行個體狀态資訊 CPU JVM

SkyWalking8.x遠端搭建監控平台,分布式鍊路追蹤,看完不會你來*我

全局界面監控

SkyWalking8.x遠端搭建監控平台,分布式鍊路追蹤,看完不會你來*我

調用鍊路追蹤

SkyWalking8.x遠端搭建監控平台,分布式鍊路追蹤,看完不會你來*我

調用拓撲圖

SkyWalking8.x遠端搭建監控平台,分布式鍊路追蹤,看完不會你來*我

還有一系列更牛逼的資訊這裡就不一一展示了,真的做到了代碼零侵入,通過代理的方式監控

SkyWalking8.x遠端搭建監控平台,分布式鍊路追蹤,看完不會你來*我

二. 遠端監控開啟

由于監控與項目可能不在一台機子上,那我們開啟遠端監控就得先開啟防火牆,這裡就不示範開牆了,目前是一台伺服器跑項目,一台跑監控

1 修改配置

首先因為,具體步驟跟以上差不多,修改完mysql持久化後,需要用代理跑一個jar包,那我們直接複制agent目錄到另一台伺服器的随便一個目錄下,這裡agent它預設是向本地發送監控請求,那我們就得修改一下,同時你可以指定自己的項目名

打開agent目錄下的agent.config檔案

可以修改如下your_Application為你自己的項目名

SkyWalking8.x遠端搭建監控平台,分布式鍊路追蹤,看完不會你來*我

再修改如下IP

SkyWalking8.x遠端搭建監控平台,分布式鍊路追蹤,看完不會你來*我

2 啟動jar包進行監控

在linux下可以直接輸入以下

java -javaagent:/tmp/agent/agent/skywalking-agent.jar -Dskywalking.agent.service_name=你自己項目名
           

記住skywalking-agent.jar的路徑一定為絕對路徑

多個項目可以指定不同項目名來進行監控,但是agent可以複用同一個

SkyWalking8.x遠端搭建監控平台,分布式鍊路追蹤,看完不會你來*我

至此,監控平台已經搭建完成,在之後的章節會陸續介紹skywalking如何運作及原理,二次開發,大家先玩玩~~

SkyWalking8.x遠端搭建監控平台,分布式鍊路追蹤,看完不會你來*我

繼續閱讀