SkyWalking8.x搭建監控平臺
- 前言
- 一. 初始化SkyWalking8.x(本地)
- 1 修改配置
- 2. 開啟監控
- 二. 遠程監控開啟
- 1 修改配置
- 2 啟動jar包進行監控
前言
隨著微服務架構的流行,一些微服務架構下的問題也會越來越突出,比如一個請求會涉及多個服務,而服務本身可能也會依賴其他服務,整個請求路徑就構成了一個網狀的呼叫鏈,而在整個呼叫鏈中一旦某個節點發生例外,整個呼叫鏈的穩定性就會受到影響,所以會深深的感受到 “銀彈” 這個詞是不存在的,每種架構都有其優缺點 ,
最近在搞東西的時候突然老大要求做個平臺監控,要什么
- 性能分析再把指定的應用里的服務 使用情況 統計出來,
- 使用情況指的是 : 呼叫次數 ,呼叫是否成功或失敗 ,呼叫耗時,
- 服務器的cpu 記憶體 指定的磁盤,
- jvm日志也放這里展示,

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

廢話不多說先掛個開源的github:github
下面先學會用,在學會原理是什么
一. 初始化SkyWalking8.x(本地)
下載地址
這里我們選擇帶有Mysql存盤引擎的SkyWalking版本,大家各自選取對應的版本即可


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


skywalking主要通過代理探針來進行監控,agent很重要
由于默認是用h2來進行持久化資訊的,我們這邊可以改成Mysql來持久化監控資訊
1 修改配置
找到config目錄下的application.yml

修改存盤方式為mysql

修改資料庫jdbc連接資訊

下一步懂得都懂,那肯定就需要mysql-connector-java-8.0.16寫入mysql的
下載地址:mysql-connector-java-8.0.16
提取碼:xsom
將下載后的包放入oap-libs外部包內
去你的資料庫創建一個swtest的庫,然后回來bin目錄執行以下腳本
我們來看看資料庫,已經創建了這么多表,牛逼,這我自己還分析個鬼啊,全交給人家吧

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

記住當前當前agent的絕對路徑,就是最長的那一串,這個我們之后有用
打開本地idea編輯VM options,加入如下一行,具體看圖

-javaagent:D:\sorf\ideaReo\IOT\src\main\java\com\fehead\Iot\agent\skywalking-agent.jar

一切搞定切回,skyWalking目錄下,啟動startup.bat,要保證8080埠沒被占哦(默認8080埠,可以去組態檔修改指定)

打開localhost:8080埠看到如下界面
實體狀態資訊 CPU JVM

全域界面監控

呼叫鏈路追蹤

呼叫拓撲圖

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

二. 遠程監控開啟
由于監控與專案可能不在一臺機子上,那我們開啟遠程監控就得先開啟防火墻,這里就不演示開墻了,目前是一臺服務器跑專案,一臺跑監控
1 修改配置
首先因為,具體步驟跟以上差不多,修改完mysql持久化后,需要用代理跑一個jar包,那我們直接復制agent目錄到另一臺服務器的隨便一個目錄下,這里agent它默認是向本地發送監控請求,那我們就得修改一下,同時你可以指定自己的專案名
打開agent目錄下的agent.config檔案
可以修改如下your_Application為你自己的專案名

再修改如下IP
2 啟動jar包進行監控
在linux下可以直接輸入以下
java -javaagent:/tmp/agent/agent/skywalking-agent.jar -Dskywalking.agent.service_name=你自己專案名
記住skywalking-agent.jar的路徑一定為絕對路徑
多個專案可以指定不同專案名來進行監控,但是agent可以復用同一個

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

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/258160.html
標籤:其他
上一篇:盤點分布式檔案存盤系統
