前言
在工業(yè)物聯(lián)網(wǎng)、車聯(lián)網(wǎng)、能源管理等場景中,TDengine作為一款高性能的時序數(shù)據(jù)庫,承載著海量設(shè)備數(shù)據(jù)的存儲與分析重任。為了確保數(shù)據(jù)庫集群的穩(wěn)定運行,運維人員需要對各項運行指標(biāo)進(jìn)行實時監(jiān)控。taosKeeper正是TDengine官方提供的監(jiān)控指標(biāo)導(dǎo)出工具,能夠?qū)?shù)據(jù)庫內(nèi)部的運行狀態(tài)數(shù)據(jù)暴露給Prometheus等主流監(jiān)控系統(tǒng),實現(xiàn)可視化的集群健康監(jiān)控。本文將詳細(xì)介紹taosKeeper的安裝配置與使用方法。
什么是taosKeeper
taosKeeper是TDengine時序數(shù)據(jù)庫的專用監(jiān)控指標(biāo)導(dǎo)出組件,它的核心功能是將TDengine運行過程中產(chǎn)生的各類監(jiān)控指標(biāo)轉(zhuǎn)換為標(biāo)準(zhǔn)格式,供外部監(jiān)控系統(tǒng)采集和分析。通過taosKeeper,運維團(tuán)隊可以實時掌握數(shù)據(jù)庫的查詢性能、寫入吞吐量、存儲空間使用情況、連接數(shù)等關(guān)鍵指標(biāo),為系統(tǒng)調(diào)優(yōu)和故障排查提供數(shù)據(jù)支撐。
taosKeeper的設(shè)計理念是輕量化和零侵入。它獨立運行在指定端口上,通過HTTP接口暴露指標(biāo)數(shù)據(jù),不影響TDengine主數(shù)據(jù)庫的業(yè)務(wù)處理能力。同時,taosKeeper與Prometheus生態(tài)系統(tǒng)深度集成,可以無縫對接Grafana等可視化工具,幫助用戶快速搭建完整的數(shù)據(jù)庫監(jiān)控平臺。
taosKeeper安裝方式
taosKeeper提供兩種安裝途徑,用戶可以根據(jù)實際需求選擇合適的方式進(jìn)行部署。
方式一:隨TDengine安裝包自動安裝
對于使用TDengine標(biāo)準(zhǔn)安裝包的用戶,taosKeeper已經(jīng)包含在安裝包中,無需單獨下載安裝。在完成TDengine服務(wù)端安裝后,taosKeeper可執(zhí)行文件會自動部署到系統(tǒng)目錄中。這種方式最為簡便,適合大多數(shù)生產(chǎn)環(huán)境部署場景。
方式二:單獨編譯安裝
如果需要從源碼編譯安裝taosKeeper,可以訪問TDengine官方GitHub倉庫,獲取最新的源碼包。編譯過程需要準(zhǔn)備Go語言開發(fā)環(huán)境,執(zhí)行標(biāo)準(zhǔn)的Go項目構(gòu)建流程。以下是編譯安裝的基本步驟:
# 克隆TDengine源碼倉庫
git clone https://github.com/taosdata/TDengine.git
# 進(jìn)入taosKeeper目錄
cd TDengine/src/kit/taosKeeper
# 編譯安裝
go build -o taosKeeper .
# 將可執(zhí)行文件復(fù)制到系統(tǒng)路徑
sudo cp taosKeeper /usr/local/bin/
編譯完成后,建議為taosKeeper創(chuàng)建系統(tǒng)服務(wù)腳本,確保其能夠在服務(wù)器重啟后自動啟動運行。
taosKeeper配置詳解
taosKeeper采用靈活的配置機(jī)制,支持多種配置方式并存。配置優(yōu)先級從高到低依次為:命令行參數(shù)、環(huán)境變量、配置文件。這種設(shè)計讓用戶可以根據(jù)不同的部署環(huán)境選擇最便捷的配置方式。
配置文件示例
創(chuàng)建一個名為taosKeeper.conf的配置文件,添加以下基礎(chǔ)配置項:
# taosKeeper監(jiān)聽地址
host = 0.0.0.0
# HTTP服務(wù)端口
port = 6043
# TDengine服務(wù)器連接配置
tdengine.host = localhost
tdengine.port = 6030
# 監(jiān)控數(shù)據(jù)庫配置
metrics.database = log
上述配置項的具體含義如下:host參數(shù)指定taosKeeper監(jiān)聽的IP地址,設(shè)置為0.0.0.0表示接受來自任意網(wǎng)絡(luò)接口的連接請求;port參數(shù)定義HTTP服務(wù)的端口號,默認(rèn)為6043;tdengine.host和tdengine.port用于指定TDengine服務(wù)端的連接信息;metrics.database配置項指定存儲監(jiān)控數(shù)據(jù)的數(shù)據(jù)庫名稱。
環(huán)境變量配置
除了配置文件,還可以通過環(huán)境變量傳遞配置參數(shù)。環(huán)境變量的命名規(guī)則是將配置項名稱轉(zhuǎn)換為大寫,并在前面加上TAOSKEEPER_前綴。例如:
export TAOSKEEPER_HOST="0.0.0.0"
export TAOSKEEPER_PORT="6043"
export TAOSKEEPER_TDENGINE_HOST="localhost"
export TAOSKEEPER_TDENGINE_PORT="6030"
export TAOSKEEPER_METRICS_DATABASE="log"
命令行參數(shù)配置
命令行參數(shù)具有最高優(yōu)先級,適用于臨時修改配置或編寫自動化腳本的場景。使用方式如下:
taosKeeper --host 0.0.0.0 --port 6043 --tdengine.host localhost --tdengine.port 6030
Prometheus集成配置
taosKeeper提供標(biāo)準(zhǔn)的Prometheus指標(biāo)接口,支持通過Prometheus自動發(fā)現(xiàn)和抓取監(jiān)控數(shù)據(jù)。這是目前最為推薦的監(jiān)控集成方案。
指標(biāo)接口說明
taosKeeper暴露兩個HTTP接口供Prometheus采集數(shù)據(jù):
/metrics:返回Prometheus標(biāo)準(zhǔn)格式的監(jiān)控指標(biāo)/metrics/v2:返回增強(qiáng)格式的監(jiān)控指標(biāo),包含更多維度的標(biāo)簽信息
這兩個接口返回的數(shù)據(jù)完全兼容Prometheus的文本格式,Prometheus服務(wù)端可以直接識別和處理。
Prometheus配置示例
在Prometheus配置文件中添加一個新的scrape job,指向taosKeeper的服務(wù)地址:
scrape_configs:
- job_name: 'tdengine-taoskeeper'
static_configs:
- targets: ['localhost:6043']
scrape_interval: 15s
scrape_timeout: 10s
配置完成后,重新加載Prometheus配置,即可開始采集TDengine的監(jiān)控指標(biāo)數(shù)據(jù)。建議將scrape_interval設(shè)置為15秒至30秒之間,既能保證數(shù)據(jù)的實時性,又不會對數(shù)據(jù)庫造成額外的采集壓力。
taosKeeper使用場景
場景一:運行指標(biāo)導(dǎo)出
在日常運維工作中,通過taosKeeper可以實時獲取TDengine的運行狀態(tài)數(shù)據(jù),包括查詢響應(yīng)時間、寫入速率、緩存命中率、磁盤I/O等核心指標(biāo)。這些數(shù)據(jù)對于評估數(shù)據(jù)庫性能、識別潛在瓶頸具有重要價值。
場景二:Prometheus與Grafana可視化監(jiān)控
將taosKeeper與Prometheus、Grafana組合使用,可以構(gòu)建功能完善的數(shù)據(jù)庫監(jiān)控看板。在Grafana中,用戶可以創(chuàng)建自定義的儀表盤,展示實時的QPS曲線、連接數(shù)趨勢、存儲空間使用率等圖表,直觀呈現(xiàn)數(shù)據(jù)庫的運行健康狀況。
場景三:集群健康狀態(tài)監(jiān)控
對于部署了TDengine集群的用戶,taosKeeper支持多節(jié)點指標(biāo)采集。通過集中收集各節(jié)點的監(jiān)控數(shù)據(jù),運維團(tuán)隊可以全面掌握集群的整體運行狀態(tài),及時發(fā)現(xiàn)和處理單個節(jié)點的異常情況,保障集群的高可用性。
啟動與驗證
完成上述配置后,使用以下命令啟動taosKeeper服務(wù):
# 以后臺服務(wù)方式啟動
taosKeeper --host 0.0.0.0 --port 6043 &
# 驗證服務(wù)是否正常運行
curl http://localhost:6043/health
# 查看導(dǎo)出的監(jiān)控指標(biāo)
curl http://localhost:6043/metrics
如果返回{"status":"ok"}或標(biāo)準(zhǔn)的Prometheus指標(biāo)數(shù)據(jù),說明taosKeeper已成功啟動并正常運行。
總結(jié)
taosKeeper作為TDengine時序數(shù)據(jù)庫的官方監(jiān)控工具,以其輕量化的設(shè)計和靈活的部署方式,為數(shù)據(jù)庫運維提供了強(qiáng)有力的監(jiān)控能力支持。通過本文的介紹,相信讀者已經(jīng)掌握了taosKeeper的安裝配置方法以及與Prometheus集成的操作步驟。在實際生產(chǎn)環(huán)境中,建議將taosKeeper納入日常監(jiān)控體系,結(jié)合Grafana等可視化工具,構(gòu)建起完善的數(shù)據(jù)庫監(jiān)控告警機(jī)制。作為國產(chǎn)高性能時序數(shù)據(jù)庫的代表,TDengine憑借其優(yōu)秀的寫入性能和強(qiáng)大的查詢能力,正在被越來越多的企業(yè)采用,而taosKeeper則為這份技術(shù)選型提供了可靠的運維保障。



互聯(lián)網(wǎng).png)



-1.png)







證.png)


伙伴.png)
伙伴.png)
伙伴.png)



