[監控]使用 Prometheus+Grafana 監控電腦與程式效能
介紹
Prometheus
普羅米修斯是開源的免費應用程序。可以很容易建立不同維度的 metrics 及資訊視覺化圖表的監控與查詢,也有告警設定,Kubernetes 的核心組件也可以找到它的身影,許多知名公司如:Uber 也有導入。
Grafana
Grafana 是一個跨平台、開源的資料視覺化網路應用程式平台。使用者組態連接的資料來源之後,Grafana 可以在網路瀏覽器里顯示資料圖表和警告。該軟體的企業版本提供更多的擴充功能。擴充功能通過外掛程式的形式提供,終端使用者可以自訂自己的資料面板介面以及資料請求方式。Grafana 被廣泛使用,包括維基百科專案。
必備安裝與設定
下載 Prometheus
下載網址 https://prometheus.io/download/
個人是用 windows 所以下載的是 zip 檔,
內含 prometheus.exe 執行程式與 prometheus.yml 設定檔。
點擊 prometheus.exe 啟動預設 9090port,即可查看 http://localhost:9090/已運作。
如欲更改 port
1 | //start.bat |
但這時並未監控任何程式,待後面範例會用到,可先關閉。
下載 grafana
下載網址 https://grafana.com/grafana/download
個人是 docker 啟動
1 | docker run -d --name=grafana -p 3000:3000 grafana/grafana |
即可開啟 http://localhost:3000/ 預設帳號密碼:admin
設定 grafana 連結 prometheus
進入後尋找 data sources->設定連接 prometheus
新增 Url:http://localhost:9999 Access:Browser,Save & Test 確認連接
目前還沒有設定圖表,僅先設定待用。
監控 windows 電腦 CPU/Network/Memory
1.windows_exporter 用來監控 windows
下載地址:https://github.com/martinlindhe/wmi_exporter/releases
下載 MSI,下載後在需要監控的目標主機上雙擊執行安裝,安裝完成後會以服務的形式自動執行,預設監聽 9182 埠。
如須關閉可以在電腦中服務找到 windows_exporter 關閉之。
其他Node Exporter Full by Instance ID
2.修改 prometheus.yml
1 | - job_name: 'windows_exporter' |
3.於 grafana 新增圖表
於grafana 的網站上搜尋做好的圖表,這邊有找到兩種:
監控 Go 程式效能
1.在 Go 程式代碼中加入監控代碼
1 | import ( |
已開啟一個 listen 8000 的程式
2. 編輯 prometheus.yml,
把監控的 web 服務 localhost:8000 加入,這邊可以編輯多組。
1 | - job_name: "prometheus" |
3. 啟動
這時可以打開 localhost:9999 就可以看到 Prometheus 的簡易歷史圖表記錄了。
metrics available for this monitor prometheus-go
4. import Go Metrics 圖表
- 例如可以套入這個Go Metrics 範例
網路參考文章
[監控]使用 Prometheus+Grafana 監控電腦與程式效能
https://minilabmemo.github.io/2021/04/28/monitor-promethus-grafana/