5分鐘搞定 HertzBeat 對物聯網資料庫 IoTDB 監控實踐
使用 HertzBeat 對物聯網資料庫 IoTDB 進行監控實踐,5分鐘搞定!
IoTDB 介紹
Apache IoTDB (Internet of Things Database) 是一款時序資料庫管理系統,可以為使用者提供資料收集、儲存和分析等服務。
IoTDB由於其輕量級架構、高效能和高可用的特性,以及與 Hadoop 和 Spark 生態的無縫整合,滿足了工業 IoT 領域中海量資料儲存、高吞吐量資料寫入和複雜資料查詢分析的需求。
HertzBeat 介紹
HertzBeat 是一款開源,易用友好的實時監控系統,無需Agent,擁有強大自定義監控能力。
支援對應用服務,資料庫,作業系統,中介軟體,雲原生等監控,閾值告警,告警通知(郵件微信釘釘飛書)。
HertzBeat 的強大自定義,多型別支援,易擴充套件,低耦合,希望能幫助開發者和中小團隊快速搭建自有監控系統。
在 HertzBeat 5分鐘搞定監控 IoTDB
操作前提,您已擁有 IoTDB 環境和 HertzBeat 環境。
一. 在 IoTDB 端開啟metrics
功能,它將提供 prometheus metrics 形式的介面資料。
- metric 採集預設是關閉的,需要先到
conf/iotdb-metric.yml
中修改引數開啟後重啟 server
```
是否啟動監控模組,預設為false
enableMetric: true
資料提供方式,對外部通過jmx和prometheus協議提供metrics的資料, 可選引數:[JMX, PROMETHEUS, IOTDB],IOTDB是預設關閉的。
metricReporterList: - JMX - PROMETHEUS
```
- 重啟 IoTDB, 開啟瀏覽器或者用curl 訪問 http://ip:9091/metrics, 就能看到metric資料了。
二. 在 HertzBeat 監控頁面新增 IoTDB 監控
- 點選新增IoTDB監控
路徑:選單 -> 資料庫監控 -> IoTDB監控 -> 新增IoTDB監控
- 配置監控IoTDB所需引數
在監控頁面填寫 IoTDB 服務IP,監控埠(預設9091),最後點選確定新增即可。
其他引數如採集間隔,超時時間等可以參考幫助文件 https://hertzbeat.com/docs/help/iotdb/
完成✅,現在我們已經新增好對 IoTDB 的監控了,檢視監控列表即可看到我們的新增項。
- 點選監控列表項的操作->監控詳情圖示 即可瀏覽 IoTDB的實時監控指標資料。
- 點選監控歷史詳情TAB 即可瀏覽 IoTDB的歷史監控指標資料圖表📈。
完成DONE!通過上面幾步,總結起來其實也就是兩步
- 一步開啟 IoTDB 端
metrics
功能 - 另一步在 HertzBeat 監控頁面配置IP埠新增監控即可
這樣我們就完成了對 IoTDB 的監控,我們可以隨時檢視監控詳情指標資訊來觀測其服務狀態,但人不可能是一直去看,總有要休息的時候,監控往往伴隨著告警,當監控指標發生異常,監控系統需要能及時通知到負責人
接下來我們就來一步一步教您配置 HertzBeat 系統裡的閾值告警通知
三. 在 HertzBeat 系統新增 IoTDB 指標閾值告警
- 對某個重要指標配置閾值告警
路徑:選單 -> 告警閾值 -> 新增閾值
- 選擇配置的指標物件,IotDB監控有非常多的指標,其中有個指標關係到節點的狀態
cluster_node_status
->status
(節點狀態,1=online 2=offline)。 - 這裡我們就配置當此指標
status==2
時發出告警,告警級別為緊急告警,一次即觸發,具體如下圖。
- 新增訊息通知接收人
路徑:選單 -> 告警通知 -> 告警接收人 -> 新增接收人
訊息通知方式支援 郵件,釘釘,企業微信,飛書,WebHook,簡訊等,我們這裡以常用的釘釘為例。
- 參照此幫助文件 https://hertzbeat.com/docs/help/alert_dingtalk 在釘釘端配置機器人,設定安全自定義關鍵詞
HertzBeat
,獲取對應access_token
值。 - 在 HertzBeat 配置接收人蔘數如下。
【告警通知】->【新增接收人】 ->【選擇釘釘機器人通知方式】->【設定釘釘機器人ACCESS_TOKEN】-> 【確定】
- 配置關聯的告警通知策略⚠️ 【新增通知策略】-> 【將剛設定的接收人關聯】-> 【確定】
完畢,現在坐等告警訊息過來了。叮叮叮叮
``` [HertzBeat告警通知] 告警目標物件 : iotdb.cluster_node_status.status 所屬監控ID : 205540620349696 所屬監控名稱 : IOTDB_localhost 告警級別 : 緊急告警 告警觸發時間 : 2023-01-05 22:17:06 內容詳情 : 監控到 IOTDB 節點 127.0.0.1 狀態 OFFLINE, 請及時處理。
```
小結
這篇實踐文章帶我們體驗瞭如果使用 HertzBeat 監控 IoTDB 資料庫指標資料,可以發現將 監控-告警-通知 集一體的 HertzBeat 在操作與使用方面更加的便捷,在頁面上簡單點一點就能把 IoTDB 納入監控,再也不需要部署多個元件,寫多個有門檻的YML配置檔案了。
IoTDB Github: https://github.com/apache/iotdb
HertzBeat Github: https://github.com/dromara/hertzbeat
歡迎瞭解使用Star支援哦!
只需要一條docker命令即可安裝體驗heartbeat :
docker run -d -p 1157:1157 --name hertzbeat tancloud/hertzbeat
注意⚠️HertzBeat v1.2.3 版本支援 IoTDB v0.12 v0.13, 由於其v1.0剛釋出, 暫未對此版本全部指標相容。