通過 Telegraf + InfluxDB + Grafana 快速搭建監控體系的詳細步驟

東山絮柳仔發表於2019-06-21

第一部分 Telegraf 部署和配置

Telegraf 是實現 資料採集 的工具。Telegraf 具有記憶體佔用小的特點,通過外掛系統開發人員可輕鬆新增支援其他服務的擴充套件。

在平臺監控系統中,可以使用 Telegraf 採集多種元件的執行資訊,而不需要自己手寫指令碼定時採集,大大降低資料獲取的難度;且 Telegraf 配置極為簡單,只要有基本的 Linux 基礎即可快速上手。Telegraf 按照時間序列採集資料,資料結構中包含時序資訊,藉助 Influxdb 可以針採集得到的資料完成各種分析計算操作。

 

Step 1 下載RPM檔案

wget https://dl.influxdata.com/telegraf/releases/telegraf-1.8.3-1.x86_64.rpm

  

Step 2 yum 安裝已下載的RPM檔案

yum localinstall telegraf-1.8.3-1.x86_64.rpm

 

Step 3 啟動服務

service telegraf start

 

補充說明:

1.資料的收集項的定義和收集後資料儲存到什麼地方都是通過conf檔案決定。使用者可修改Telegraf配置檔案進行採集項的配置,配置檔案預設位於/etc/telegraf/telegraf.conf。 

2.Telegraf有四種型別的外掛

外掛型別 功能描述
輸入外掛(Inputs) 收集各種時間序列性指標,包含各種系統資訊和應用資訊的外掛。
處理外掛(Process) 當收集到的指標資料流要進行一些簡單處理時,比如給所有指標新增、刪除、修改一個Tag。只是針對當前的指標資料進行。
聚合外掛(Aggregate) 聚合外掛有別於處理外掛,就在於它要處理的物件是某段時間流經該外掛的所有資料(所以,每個聚合外掛都有一個設定,只會處理時間段內的資料),比如取最大值、最小值、平均值等操作。
輸出外掛(Outputs) 收集到的資料,經過處理和聚合後,輸出到資料儲存系統,可以是各種地方,如:檔案、InfluxDB、各種訊息佇列服務等等。

 

3.https://github.com/influxdata/telegraf 中   Input Plugins 部分 有對各個系統、應用、服務的監控項配置,我們可以直接新增到既有的conf檔案中。

 Output Plugins部分是對收集資料存放地址的設定。

4.可以同時將資料儲存到多種型別的資料庫中。下面是將收集的資料儲存到InfluxDB中的設定。

 

第二部分 InfluxDB的安裝與部署

InfluxDB 是實現 資料儲存 的工具。InfluxDB是一款優秀的時間序列資料庫,適合儲存裝置效能、日誌、物聯網感測器等帶有時間戳的資料,可以輕鬆處理高寫入和高查詢負載(資料採集與資料視覺化非常常見的場景)。

InfluxDB有三大特性:

  • 時序性(Time Series):與時間相關的函式的靈活使用(例如最大、最小、求和等);

  • 度量(Metrics):對實時大量資料進行計算;

  • 事件(Event):支援任意的事件資料,換句話說,任意事件的資料我們都可以做操作。

具體的安裝過程如下:

Step 1 下載InfluxDB的RPM檔案

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.6.x86_64.rpm

 

Step 2 安裝已下載的檔案

yum localinstall influxdb-1.7.6.x86_64.rpm

  

Step 3 啟動服務

systemctl start influxdb    ----啟動服務
systemctl status influxdb ----檢視服務狀態

  

Step 4 登入驗證

 

補充說明:

1.預設生成的influxdb.conf 位於 /etc/influxdb/influxdb.conf。

2.幾個預設的資料檔案路徑需注意,或適當調整

資料文件 文件路徑 解釋 說明
meta /var/lib/influxdb/meta Controls the parameters for the Raft consensus group that stores metadata about the InfluxDB cluster.
存放資料庫後設資料。
data /var/lib/influxdb/data The directory where the TSM storage engine stores TSM files.
存放最終儲存的資料,檔案以.tsm結尾。
wal /var/lib/influxdb/wal The directory where the TSM storage engine stores WAL files.
存放資料庫後設資料。

 

 3.常用的一些命令

命令 實現功能
show databases 顯示所有資料庫
use XXXX 轉到某個資料庫下面
show measurements 顯示當前庫下的所有表
select * from "XXXXX" 查詢指定表的資料;表名中間有點號時,表名雙引號;

 

 4. measurement,tags,fields,points與普通的關係型資料庫的對應:

InfluxDB物件 關係型資料庫物件
measurement table
tags 索引的列
fields
points 行資料

 

第三部分 Grafana的安裝與部署

Grafana 是實現 資料展示(資料視覺化) 的工具。 Grafana是一個跨平臺的開源的度量分析和視覺化工具,可以通過將採集的資料查詢然後視覺化的展示,並及時通知。

它主要有以下六大特點:

1、展示方式:快速靈活的客戶端圖表,皮膚外掛有許多不同方式的視覺化指標和日誌,官方庫中具有豐富的儀表盤外掛,比如熱圖、折線圖、圖表等多種展示方式;

2、資料來源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;

3、通知提醒:以可視方式定義最重要指標的警報規則,Grafana將不斷計算併傳送通知,在資料達到閾值時通過Slack、PagerDuty等獲得通知;

4、混合展示:在同一圖表中混合使用不同的資料來源,可以基於每個查詢指定資料來源,甚至自定義資料來源;

5、註釋:使用來自不同資料來源的豐富事件註釋圖表,將滑鼠懸停在事件上會顯示完整的事件後設資料和標記;

6、過濾器:Ad-hoc過濾器允許動態建立新的鍵/值過濾器,這些過濾器會自動應用於使用該資料來源的所有查詢。

 

Step 1 下載RPM安裝包

wget https://dl.grafana.com/oss/release/grafana-6.2.4-1.x86_64.rpm 

  

Step 2 安裝

yum localinstall grafana-6.2.4-1.x86_64.rpm 

 

Step 3 服務開啟

systemctl start grafana-server.service    ----開啟服務
systemctl status grafana-server.service  ----服務狀態檢視

 

Step 4 驗證

安裝後,預設埠為 3000。  可通過瀏覽器直接登入訪問 :http://172.XXX.XXX.XXX:3000

 

Step 5 Grafana 關於 收集到的資料監控顯示

(1) 設定資料來源,

 

 注意,資料來源型別需選擇 InfluxDB 

 

(2) 可以設定一個Folder,將同類的dashboards 放到一起

(3)設定新的監控項

 Format AS 欄位,請選擇【Time Series】,不可以選擇【Table】

 

相關文章