使用 TDengine + collectd/StatsD + Grafana 快速搭建 IT 運(yùn)維監(jiān)控系統(tǒng)
背景介紹
TDengine是濤思數(shù)據(jù)專(zhuān)為物聯(lián)網(wǎng)、車(chē)聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)、IT運(yùn)維等設(shè)計(jì)和優(yōu)化的大數(shù)據(jù)平臺(tái)。自從 2019年 7 月開(kāi)源以來(lái),憑借創(chuàng)新的數(shù)據(jù)建模設(shè)計(jì)、快捷的安裝方式、易用的編程接口和強(qiáng)大的數(shù)據(jù)寫(xiě)入查詢(xún)性能博得了大量時(shí)序數(shù)據(jù)開(kāi)發(fā)者的青睞。
IT 運(yùn)維監(jiān)測(cè)數(shù)據(jù)通常都是對(duì)時(shí)間特性比較敏感的數(shù)據(jù),例如:
- 系統(tǒng)資源指標(biāo):CPU、內(nèi)存、IO、帶寬等。
- 軟件系統(tǒng)指標(biāo):存活狀態(tài)、連接數(shù)目、請(qǐng)求數(shù)目、超時(shí)數(shù)目、錯(cuò)誤數(shù)目、響應(yīng)時(shí)間、服務(wù)類(lèi)型及其他與業(yè)務(wù)有關(guān)的指標(biāo)。
當(dāng)前主流的 IT 運(yùn)維系統(tǒng)通常包含一個(gè)數(shù)據(jù)采集模塊,一個(gè)數(shù)據(jù)存儲(chǔ)模塊,和一個(gè)可視化顯示模塊。collectd / statsD 作為老牌開(kāi)源數(shù)據(jù)采集工具,具有廣泛的用戶(hù)群。但是 collectd / StatsD 自身功能有限,往往需要配合 Telegraf、Grafana 以及時(shí)序數(shù)據(jù)庫(kù)組合搭建成為完整的監(jiān)控系統(tǒng)。而 TDengine 新版本支持多種數(shù)據(jù)協(xié)議接入,可以直接接受 collectd 和 statsD 的數(shù)據(jù)寫(xiě)入,并提供 Grafana dashboard 進(jìn)行圖形化展示。
本文介紹不需要寫(xiě)一行代碼,通過(guò)簡(jiǎn)單修改幾行配置文件,就可以快速搭建一個(gè)基于 TDengine + collectd / statsD + Grafana 的 IT 運(yùn)維系統(tǒng)。架構(gòu)如下圖:

安裝步驟
安裝 collectd, StatsD, Grafana 和 TDengine 請(qǐng)參考相關(guān)官方文檔。
安裝 collectd
請(qǐng)參考官方文檔。
安裝 StatsD
請(qǐng)參考官方文檔。
安裝 Grafana
請(qǐng)參考官方文檔。
安裝 TDengine
從濤思數(shù)據(jù)官網(wǎng)下載頁(yè)面下載最新 TDengine-server 2.3.0.0 或以上版本安裝。
數(shù)據(jù)鏈路設(shè)置
復(fù)制 TDengine 插件到 grafana 插件目錄
1. wget -c https://github.com/taosdata/grafanaplugin/releases/download/v3.1.3/tdengine-datasource-3.1.3.zip
2. sudo unzip tdengine-datasource-3.1.3.zip -d /var/lib/grafana/plugins/
3. sudo chown grafana:grafana -R /var/lib/grafana/plugins/tdengine
4. echo -e "[plugins]\nallow_loading_unsigned_plugins = tdengine-datasource\n" | sudo tee -a /etc/grafana/grafana.ini
5. sudo systemctl restart grafana-server.service
配置 collectd
在 /etc/collectd/collectd.conf 文件中增加如下內(nèi)容,其中 host 和 port 請(qǐng)?zhí)顚?xiě) TDengine 和 taosAdapter 配置的實(shí)際值:
LoadPlugin network
<Plugin network>
Server "<TDengine cluster/server host>" "<port for collectd>"
</Plugin>
sudo systemctl start collectd
配置 StatsD
在 config.js 文件中增加如下內(nèi)容后啟動(dòng) StatsD,其中 host 和 port 請(qǐng)?zhí)顚?xiě) TDengine 和 taosAdapter 配置的實(shí)際值:
backends 部分添加 "./backends/repeater"
repeater 部分添加 { host:'<TDengine server/cluster host>', port: <port for StatsD>}
導(dǎo)入 Dashboard
使用 Web 瀏覽器訪(fǎng)問(wèn)運(yùn)行 Grafana 的服務(wù)器的3000端口 host:3000 登錄 Grafana 界面,系統(tǒng)初始用戶(hù)名密碼為 admin/admin。 點(diǎn)擊左側(cè)齒輪圖標(biāo)并選擇 Plugins,應(yīng)該可以找到 TDengine data source 插件圖標(biāo)。
導(dǎo)入 collectd 儀表盤(pán)
從 https://github.com/taosdata/grafanaplugin/blob/master/examples/collectd/grafana/dashboards/collect-metrics-with-tdengine-v0.1.0.json 下載 dashboard json 文件,點(diǎn)擊左側(cè)加號(hào)圖標(biāo)并選擇 Import,按照界面提示選擇 JSON 文件導(dǎo)入。之后可以看到如下界面的儀表盤(pán):

導(dǎo)入 StatsD 儀表盤(pán)
從 https://github.com/taosdata/grafanaplugin/blob/master/examples/statsd/dashboards/statsd-with-tdengine-v0.1.0.json 下載 dashboard json 文件,點(diǎn)擊左側(cè)加號(hào)圖標(biāo)并選擇 Import,按照界面提示導(dǎo)入JSON文件。之后可以看到如下界面的儀表盤(pán):

總結(jié)
TDengine 作為新興的時(shí)序大數(shù)據(jù)平臺(tái),具備極強(qiáng)的高性能、高可靠、易管理、易維護(hù)的優(yōu)勢(shì)。得力于 TDengine 2.3.0.0 版本中新增的 schemaless 協(xié)議解析功能,以及強(qiáng)大的生態(tài)軟件適配能力,用戶(hù)可以短短數(shù)分鐘就可以搭建一個(gè)高效易用的 IT 運(yùn)維系統(tǒng)或者適配一個(gè)已存在的系統(tǒng)。
TDengine 強(qiáng)大的數(shù)據(jù)寫(xiě)入查詢(xún)性能和其他豐富功能請(qǐng)參考官方文檔和產(chǎn)品成功落地案例。
支持和反饋
感謝您成為我們社區(qū)的一員!歡迎您對(duì)本文檔或其他任何 TDengine 錯(cuò)誤進(jìn)行修改或報(bào)告。

