Telegraf 是實現 數據採集 的工具。Telegraf 具備內存佔用小的特色,經過插件系統開發人員可輕鬆添加支持其餘服務的擴展。git
在平臺監控系統中,可使用 Telegraf 採集多種組件的運行信息,而不須要本身手寫腳本定時採集,大大下降數據獲取的難度;且 Telegraf 配置極爲簡單,只要有基本的 Linux 基礎便可快速上手。Telegraf 按照時間序列採集數據,數據結構中包含時序信息,藉助 Influxdb 能夠針採集獲得的數據完成各類分析計算操做。github
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 啓動服務bash
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中的設置。
5.根據須要(服務器的角色/監控須要)從新生成 telegraf.conf 文件,例如,監控項爲cpu,輸出的數據爲influxdb. (再次強調telegraf服務默認的配置文件在/etc/telegraf/下)
telegraf --input-filter cpu --output-filter influxdb config > telegraf.conf
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是一個跨平臺的開源的度量分析和可視化工具,能夠經過將採集的數據查詢而後可視化的展現,並及時通知。
它主要有如下六大特色:
一、展現方式:快速靈活的客戶端圖表,面板插件有許多不一樣方式的可視化指標和日誌,官方庫中具備豐富的儀表盤插件,好比熱圖、折線圖、圖表等多種展現方式;
二、數據源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;
三、通知提醒:以可視方式定義最重要指標的警報規則,Grafana將不斷計算併發送通知,在數據達到閾值時經過Slack、PagerDuty等得到通知;
四、混合展現:在同一圖表中混合使用不一樣的數據源,能夠基於每一個查詢指定數據源,甚至自定義數據源;
五、註釋:使用來自不一樣數據源的豐富事件註釋圖表,將鼠標懸停在事件上會顯示完整的事件元數據和標記;
六、過濾器: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】