天天看點

零依賴監控解決方案:TDengine+Grafana落地實施

小 T 導讀:随着 TDengine 這款時序資料庫(Time Series Database)在各個領域應用的越來越廣泛,很多使用者選擇将 Grafana 與 TDengine 配合使用,以可視化的方式監控各項名額的運作狀态。為了讓使用者更便捷地組合使用 TDengine+Grafana,我們不僅對 TDengine Grafana 插件進行了改造更新,還推出了基于 Grafana 的零依賴監控解決方案 TDinsight。本篇文章将對 TDengine + Grafana 的落地實施進行詳細介紹。

TDengine 能夠與開源資料可視化系統 Grafana 快速內建搭建資料監測報警系統,整個過程無需任何代碼開發,TDengine 中資料表的内容可以在儀表盤(DashBoard)上可視化展現。關于 TDengine 插件的使用,你可以在 GitHub(https://github.com/taosdata/grafanaplugin/blob/master/README.md) 中了解更多。

前置條件

要讓 Grafana 能正常添加 TDengine 資料源,需要以下幾方面的準備工作:

  • TDengine 叢集已經部署并正常運作
  • taosAdapter 已經安裝并正常運作,具體細節請參考 taosAdapter 的使用手冊(https://docs.taosdata.com/reference/taosadapter/)

在此過程中,我們需要記錄以下資訊:

  • TDengine 叢集 REST API 位址,如:http://tdengine.local:6041
  • TDengine 叢集認證資訊,可使用使用者名及密碼

安裝 Grafana

目前 TDengine 支援 Grafana 7.5 以上的版本。使用者可以根據目前的作業系統,到 Grafana 官網下載下傳安裝包,并執行安裝。下載下傳位址如下:https://grafana.com/grafana/download。

配置 Grafana

安裝 Grafana Plugin 并配置資料源

  • 圖形化界面安裝
  • 使用安裝腳本
  • 手動安裝
  • K8s/Docker 容器

對于使用 Grafana 7.x 版本或使用 Grafana Provisioning 配置的使用者,可以在 Grafana 伺服器上使用安裝腳本自動安裝插件即添加資料源 Provisioning 配置檔案。

bash -c "$(curl -fsSL \
  https://raw.githubusercontent.com/taosdata/grafanaplugin/master/install.sh)" -- \
  -a http://localhost:6041 \
  -u root \
  -p taosdata
           

安裝完畢後,需要重新開機 Grafana 服務後方可生效。

儲存該腳本并執行 ./install.sh --help 可檢視詳細幫助文檔。

建立 Dashboard

回到主界面建立 Dashboard,點選 Add Query 進入面闆查詢頁面:

::: hljs-center

零依賴監控解決方案:TDengine+Grafana落地實施

:::

如上圖所示,在 Query 中選中 TDengine 資料源,在下方查詢框可輸入相應 SQL 進行查詢,具體說明如下:

  • INPUT SQL:輸入要查詢的語句(該 SQL 語句的結果集應為兩列多行),例如:select _wstart, avg(mem_system) from log.dnodes_info where ts >= $from and ts < $to interval($interval) ,其中,from、to 和 interval 為 TDengine 插件的内置變量,表示從 Grafana 插件面闆擷取的查詢範圍和時間間隔。除了内置變量外,也支援使用自定義模闆變量。
  • ALIAS BY:可設定目前查詢别名。
  • GENERATE SQL: 點選該按鈕會自動替換相應變量,并生成最終執行的語句。

按照預設提示,查詢目前 TDengine 部署所在伺服器指定間隔系統記憶體平均使用量如下:

::: hljs-center

零依賴監控解決方案:TDengine+Grafana落地實施

:::

關于如何使用 Grafana 建立相應的監測界面以及更多有關使用 Grafana 的資訊,請參考 Grafana 官方的文檔(https://grafana.com/docs/)。

導入 Dashboard

在資料源配置頁面下,我們可以為該資料源導入 TDinsight 面闆,作為 TDengine 叢集的監控可視化工具。如果 TDengine 服務端為 3.0 版本請選擇 TDinsight for 3.x 導入。

::: hljs-center

零依賴監控解決方案:TDengine+Grafana落地實施

:::

其中适配 TDengine 2.* 的 Dashboard 已釋出在 Grafana:Dashboard 15167 – TDinsight(https://grafana.com/grafana/dashboards/15167-tdinsight/) 。其他安裝方式和相關使用說明請見 TDinsight 使用者手冊。