使用 InfluxDB ‎+ Telegraf + Grafana 監視 Windows 平台資源

前面幾篇講到怎麼配置 InfluxDB、Grafana,這些基礎的東西搞定之後,就可以來安裝 Agent 收集資料了,Telegraf 跟 InfluxDB 同屬於 InfluxData 旗下。Telegraf 提供了很多收集資料的方式,在 Windows 的平台,Telegraf 主要是跟 Performance Monitor 拿資料,所以基本上可以拿到不少的資訊

 

架構

Telegraf 把 Windows 上的 Performance Counters 上的數據收集起來放到 InfluxDB 資料庫裡面,下圖出自:https://www.influxdata.com/blog/monitoring-windows-services-with-grafana-influxdb-and-telegraf/

classic monitoring architecture telegraf

 

開始之前,前面兩篇提到的 InfluxDB、Grafrana 安裝配置,要先看一下

[InfluxDB] 如何安裝及配置 InfluxDB

[Grafana] 如何安裝及配置 Grafara Dashboard

 

環境

  • Windows 10
  • Telegraf 1.13.4
  • Granfana 6.6.2
  • InfluDB 1.7.10
  • SQL Server 2012 Derver 2012 Develop

安裝 Telegraf

下載頁面
https://portal.influxdata.com/downloads/

下載連結
https://dl.influxdata.com/telegraf/releases/telegraf-1.13.4_windows_amd64.zip

 

解壓縮、用命令提示字元切換到切換到 telegraf 目錄

執行檔案

輸入 telegraf.exe --config telegraf.conf

 

執行檔案變成 Windows Service

記得要用管理員權限開啟命令提示字元唷

安裝服務:telegraf.exe --config "D:\Lab\Monitor Server\telegraf-1.13.4_windows_amd64\telegraf\telegraf.conf" --service install

啟動服務:sc start telegraf

查詢服務:sc query telegraf

 

Telegraf.exe本身就能做服務的管理,我只是習慣用 sc.exe

下圖出自 https://github.com/influxdata/telegraf/blob/master/docs/WINDOWS_SERVICE.md

參考
https://github.com/influxdata/telegraf/blob/master/docs/WINDOWS_SERVICE.md
https://docs.influxdata.com/telegraf/v1.13/administration/windows_service/#running-telegraf-as-a-windows-service

 

檢視 Influxdb

完成之後,再去看 influxdb 有沒有 telegraf 資料庫

Influxdb 的安裝配置,請參考:[InfluxDB] 如何安裝及配置 InfluxDB

> influx.exe

> show databases

> use telegraf

> show measurements

 

Telegraf 如何運作

Plugin type

Telegraf 是一個 Plugin 驅動的代理服務,可以收集,處理,匯總和編寫指標。它支持四種 Plugin,包括 input、output、aggregator and processor

https://docs.influxdata.com/telegraf/v1.13/plugins/plugin-list/

 

Input

telegraf 執行成功就會開始收集資料到 influxdb,telegraf.conf / Input 裡面定義要收集哪一些資訊

 

這些資訊對應到 Performance Counters

這裡有相當多的 Performance Monitor 設定

https://github.com/influxdata/telegraf/blob/master/etc/telegraf.conf
https://github.com/influxdata/telegraf/tree/master/plugins/inputs/win_perf_counters

 

除了 Performance Counters 也支援 WMI,不過預設是關閉的


更多的 Input
https://docs.influxdata.com/telegraf/v1.13/plugins/plugin-list/
https://github.com/influxdata/telegraf/tree/master/plugins/inputs/

Output

資料收集輸位置,預設會存放在本機的 InfluxDB

位置:http://localhost:8086
資料庫:telegraf

當然也可以設定別的位置

不同的 URL,用逗點隔開 urls = ["http://127.0.0.1:8086","http://influxdb:8086"]

參考
https://docs.influxdata.com/telegraf/v1.13/plugins/plugin-list/#output-plugins

Aggregator 

Aggregator Plus 可創建聚合指標(例如,平均值,最小值,最大值,分位數等)

參考
https://docs.influxdata.com/telegraf/v1.13/plugins/plugin-list/#aggregator-plugins

Processor 

Processor  Plus 可以轉換,修飾和過濾指標。

參考
https://docs.influxdata.com/telegraf/v1.13/plugins/plugin-list/#processor-plugins

Grafana

Grafana 的安裝配置,請參考:[Grafana] 如何安裝及配置 Grafara Dashboard

新增資料來源

 

新增 Dashboard

新增一個 Dashboard → Graph Panel,這時候,可以看到 InfluxDB 裡面收集了 win_ 開頭的資料,也可以針對他寫查尋條件

 

匯入報表

一個一個設定 Panel,是一件相當累人的事,所以我到官網搜尋有沒有中意的 Dashboard,打算抓下來改

 https://grafana.com/grafana/dashboards?search=telegraf

最後 928 (https://grafana.com/grafana/dashboards/928) 看起來配置還不錯,不過他是使用 WMI,還要修改一下組態設定的 Inputs

 

畫面有東西了,不過還有很多 Panel 需要調整,框起來的地方把一些參數也抽出來了,到時候可以再針對不同的條件查詢

 

更新:

番號 1902 (https://grafana.com/grafana/dashboards/1902) 是用 Performance Counters 收集資料,我改用這個

若有謬誤,煩請告知,新手發帖請多包涵


Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET

Image result for microsoft+mvp+logo