搭配Grafana的資料收集器Telegraf

介紹

  • telegraf 是用Go寫的代理程式,可以用在收集系統和服務的統計資料,它擁有輸入套件,可以直接從系統抓取指標數據,從第三方API獲得指標數據,甚至可以通過statsd和Kafka得到資料。它還具備输出套件,可以將採集的數據發送到各種資料庫儲存。比如InfluxDB,Graphite,OpenTSDB,Datadog,Librato,Kafka,MQTT,NSQ等等。支援 Linux 與 Windows。

Installation

成上一個主題Grafana與Influxdb安裝完後開始要建立DashBoard進行資料視覺化分析了
但是因為目前Influxdb還沒開始建造存在Metric的資料庫因此無法拉取Metric繪畫成圖片

因此安裝Telegraf並設定收集設定的機器資料然後傳送到Influxdb的8086 Port,就是Telergaf最主要的功能了!

接下來是安裝教學

1
$ wget https://dl.influxdata.com/telegraf/releases/telegraf_1.9.5-1_amd64.deb

下載Telegraf的安裝包

1
$ sudo dpkg -i telegraf_1.9.5-1_amd64.deb

解壓縮並安裝

1
$ vim /etc/telegraf/telegraf.conf

修改設定檔
將config內的設定檔照以下的資訊設定完成

logfile:主要是將telegraf的log檔案指定在特定路徑下
urls:指定要telegraf將收集的資料丟往哪一個資料庫存放
database:指定在丟資料時要存放進哪一個資料庫
儲存好了之後重啟服務 & 確認服務Running

1
$ service telegraf restart
1
$ service telegraf status

Configuration

之後telegraf會將電腦的預設系統資訊傳送到influxdb,telegra的configuration有著最低配置的系統資料收集,CPU、RAM、DISK、NETWORK..等等
現在照著把上述資訊給拉出圖表來觀看

step.1 先登入到Grafana後點選Configuration → Data Source → InfluxDB,照著下列資訊設定

step.2 點選左上的 + → Dashboard → Add Query
照以下的圖片設定即可已出現cpu的繪圖

-

-

後續要加上其餘的記憶體與硬碟與網路封包等都可以再剛剛顯示cpu的選項調整
cpu的位置是Input的類別(e.q 硬碟、記憶體、網路、程序、系統、io量等)
where是選擇host或者是更細部的子類別選項等
select是該類別下的所有被收集來的資訊(e.q 硬碟大小、容量、使用量、空閒等)
Group By 的time是時間區間與,fill是值的表現方式

之後會再寫一篇介紹telegraf怎麼加入ping與snmp的功能
主要也是針對configuration的部分新增ping與snmp的input的段落