无码人妻精品一区二区三18禁,影音先锋男人AV橹橹色,污污污污污污www网站免费,日韩成人av无码一区二区三区,欧美性受xxxx狂喷水

TDinsight - 基于Grafana的TDengine零依賴監控解決方案

語言: English 簡體中文

TDinsight 是使用 TDengine 原生監控數據庫和 對 TDengine 進行監控的解決方案。

TDengine啟動后,會自動創建一個監測數據庫log,并自動將服務器的CPU、內存、硬盤空間、帶寬、請求數、磁盤讀寫速度、慢查詢等信息定時寫入該數據庫,并對重要的系統操作(比如登錄、創建、刪除數據庫等)以及各種錯誤報警信息進行記錄。通過 和 ,TDinsight 將集群狀態、節點信息、插入及查詢請求、資源使用情況等進行可視化展示,同時還支持vnode、dnode、mnode 節點狀態異常告警,為開發者實時監控TDengine集群運行狀態提供了便利。本文將指導用戶安裝 Grafana 服務器并通過 TDinsight.sh 安裝腳本自動安裝 TDengine 數據源插件及部署 TDinsight 可視化面板。

系統要求

要部署TDinsight,需要一個單節點的TDengine服務器或一個多節點的 TDengine 集群,以及一個服務器。此儀表盤需要 TDengine 2.3.3.0 及以上,并啟用 log 數據庫(monitor = 1)。

安裝 Grafana

我們建議在此處使用最新的 7 或 8 版本。您可以在任何中,按照 安裝 。

在 Debian 或 Ubuntu 上安裝 Grafana

對于 Debian 或 Ubuntu 操作系統,建議使用 Grafana 鏡像倉庫。使用如下命令從零開始安裝:

sudo apt-get install -y apt-transport-https
sudo apt-get install -y software-properties-common wget
wget -q -O - //packages.grafana.com/gpg.key |\
  sudo apt-key add -
echo "deb //packages.grafana.com/oss/deb stable main" |\
  sudo tee -a /etc/apt/sources.list.d/grafana.list
sudo apt-get update
sudo apt-get install grafana

在 CentOS / RHEL 上安裝 Grafana

您可以從官方 YUM 鏡像倉庫安裝。

sudo tee /etc/yum.repos.d/grafana.repo << EOF
[grafana]
name=grafana
baseurl=//packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=//packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
EOF
sudo yum install grafana

或者用 RPM 安裝:

wget //dl.grafana.com/oss/release/grafana-7.5.11-1.x86_64.rpm
sudo yum install grafana-7.5.11-1.x86_64.rpm
# or
sudo yum install \
  //dl.grafana.com/oss/release/grafana-7.5.11-1.x86_64.rpm

自動部署 TDinsight

我們提供了一個自動化安裝腳本 腳本以便用戶快速進行安裝配置。

您可以通過 wget 或其他工具下載該腳本:

wget //github.com/taosdata/grafanaplugin/releases/latest/download/TDinsight.sh
chmod +x TDinsight.sh

這個腳本會自動下載最新的 和 ,將命令行選項中的可配置參數轉為 配置文件,以進行自動化部署及更新等操作。利用該腳本提供的告警設置選項,你還可以獲得內置的阿里云短信告警通知支持。

假設您在同一臺主機上使用 TDengine 和 Grafana 的默認服務。運行 ./TDinsight.sh 并打開 Grafana 瀏覽器窗口就可以看到 TDinsight 儀表盤了。

下面是 TDinsight.sh 的用法說明:

Usage:
   ./TDinsight.sh
   ./TDinsight.sh -h|--help
   ./TDinsight.sh -n <ds-name> -a <api-url> -u <user> -p <password>

Install and configure TDinsight dashboard in Grafana on Ubuntu 18.04/20.04 system.

-h, -help,          --help                  Display help

-V, -verbose,       --verbose               Run script in verbose mode. Will print out each step of execution.

-v, --plugin-version <version>              TDengine datasource plugin version, [default: latest]

-P, --grafana-provisioning-dir <dir>        Grafana provisioning directory, [default: /etc/grafana/provisioning/]
-G, --grafana-plugins-dir <dir>             Grafana plugins directory, [default: /var/lib/grafana/plugins]
-O, --grafana-org-id <number>               Grafana organization id. [default: 1]

-n, --tdengine-ds-name <string>             TDengine datasource name, no space. [default: TDengine]
-a, --tdengine-api <url>                    TDengine REST API endpoint. [default: //127.0.0.1:6041]
-u, --tdengine-user <string>                TDengine user name. [default: root]
-p, --tdengine-password <string>            TDengine password. [default: taosdata]

-i, --tdinsight-uid <string>                Replace with a non-space ASCII code as the dashboard id. [default: tdinsight]
-t, --tdinsight-title <string>              Dashboard title. [default: TDinsight]
-e, --tdinsight-editable                    If the provisioning dashboard could be editable. [default: false]

-E, --external-notifier <string>            Apply external notifier uid to TDinsight dashboard.

Aliyun SMS as Notifier:
-s, --sms-enabled                           To enable tdengine-datasource plugin builtin Aliyun sms webhook.
-N, --sms-notifier-name <string>            Provisioning notifier name.[default: TDinsight Builtin SMS]
-U, --sms-notifier-uid <string>             Provisioning notifier uid, use lowercase notifier name by default.
-D, --sms-notifier-is-default               Set notifier as default.
-I, --sms-access-key-id <string>            Aliyun sms access key id
-K, --sms-access-key-secret <string>        Aliyun sms access key secret
-S, --sms-sign-name <string>                Sign name
-C, --sms-template-code <string>            Template code
-T, --sms-template-param <string>           Template param, a escaped json string like '{"alarm_level":"%s","time":"%s","name":"%s","content":"%s"}'
-B, --sms-phone-numbers <string>            Comma-separated numbers list, eg "189xxxxxxxx,132xxxxxxxx"
-L, --sms-listen-addr <string>              [default: 127.0.0.1:9100]

大多數命令行選項都可以通過環境變量獲得同樣的效果。

短選項 長選項 環境變量 說明
-v --plugin-version TDENGINE_PLUGIN_VERSION TDengine 數據源插件版本,默認使用最新版。
-P --grafana-provisioning-dir GF_PROVISIONING_DIR Grafana 配置目錄,默認為/etc/grafana/provisioning/
-G --grafana-plugins-dir GF_PLUGINS_DIR Grafana 插件目錄,默認為/var/lib/grafana/plugins
-O --grafana-org-id GF_ORG_ID Grafana 組織 ID,默認為 1。
-n --tdengine-ds-name TDENGINE_DS_NAME TDengine 數據源名稱,默認為TDengine。
-a --tdengine-api TDENGINE_API TDengine REST API 端點。默認為//127.0.0.1:6041
-u --tdengine-user TDENGINE_USER TDengine 用戶名。 [默認值:root]
-p --tdengine-密碼 TDENGINE_PASSWORD TDengine密碼。 [默認:taosdata]
-i --tdinsight-uid TDINSIGHT_DASHBOARD_UID TDinsight 儀表盤uid。 [默認值:tdinsight]
-t --tdinsight-title TDINSIGHT_DASHBOARD_TITLE TDinsight 儀表盤標題。 [默認:TDinsight]
-e --tdinsight-可編輯 TDINSIGHT_DASHBOARD_EDITABLE 如果配置儀表盤可以編輯。 [默認值:false]
-E --external-notifier EXTERNAL_NOTIFIER 將外部通知程序 uid 應用于 TDinsight 儀表盤。
-s --sms-enabled SMS_ENABLED 啟用阿里云短信 webhook 內置的 tdengine-datasource 插件。
-N --sms-notifier-name SMS_NOTIFIER_NAME 供應通知程序名稱。[默認:TDinsight Builtin SMS]
-U --sms-notifier-uid SMS_NOTIFIER_UID "Notification Channel" uid,默認使用程序名稱的小寫,其他字符用 “-” 代替。
-D --sms-notifier-is-default SMS_NOTIFIER_IS_DEFAULT 將內置短信通知設置為默認值。
-I --sms-access-key-id SMS_ACCESS_KEY_ID 阿里云短信訪問密鑰id
-K --sms-access-key-secret SMS_ACCESS_KEY_SECRET 阿里云短信訪問秘鑰
-S --sms-sign-name SMS_SIGN_NAME 簽名
-C --sms-template-code SMS_TEMPLATE_CODE 模板代碼
-T --sms-template-param SMS_TEMPLATE_PARAM 模板參數的 JSON 模板
-B --sms-phone-numbers SMS_PHONE_NUMBERS 逗號分隔的手機號列表,例如"189xxxxxxxx,132xxxxxxxx"
-L --sms-listen-addr SMS_LISTEN_ADDR 內置sms webhook監聽地址,默認為127.0.0.1:9100

假設您在主機 tdengine 上啟動 TDengine 數據庫,HTTP API 端口為 6041,用戶為 root1,密碼為 pass5ord。執行腳本:

sudo ./TDinsight.sh -a //tdengine:6041 -u root1 -p pass5ord

我們提供了一個“-E”選項,用于從命令行配置 TDinsight 使用現有的通知通道(Notification Channel)。假設你的 Grafana 用戶和密碼是 admin:admin,使用以下命令獲取已有的通知通道的uid

curl --no-progress-meter -u admin:admin //localhost:3000/api/alert-notifications | jq

使用上面獲取的 uid 值作為 -E 輸入。

sudo ./TDinsight.sh -a //tdengine:6041 -u root1 -p pass5ord -E existing-notifier

如果你想使用服務作為通知渠道,你應該使用-s標志啟用并添加以下參數:

  • -N:Notification Channel 名,默認為TDinsight Builtin SMS
  • -U:Channel uid,默認是 name 的小寫,任何其他字符都替換為 - ,對于默認的 -N,其 uid 為 tdinsight-builtin-sms
  • -I:阿里云短信訪問密鑰id。
  • -K:阿里云短信訪問秘鑰。
  • -S:阿里云短信簽名。
  • -C:阿里云短信模板ID。
  • -T:阿里云短信模板參數,為JSON格式模板,示例如下 '{"alarm_level":"%s","time":"%s","name":"%s","content":"%s "}'。有四個參數:告警級別、時間、名稱和告警內容。
  • -B:電話號碼列表,以逗號,分隔。

如果要監控多個 TDengine 集群,則需要設置多個 TDinsight 儀表盤。設置非默認 TDinsight 需要進行一些更改: -n -i -t 選項需要更改為非默認名稱,如果使用 內置短信告警功能,-N-L 也應該改變。

sudo ./TDengine.sh -n TDengine-Env1 -a //another:6041 -u root -p taosdata -i tdinsight-env1 -t 'TDinsight Env1'
# 如果使用內置短信通知
sudo ./TDengine.sh -n TDengine-Env1 -a //another:6041 -u root -p taosdata -i tdinsight-env1 -t 'TDinsight Env1' \
  -s -N 'Env1 SMS' -I xx -K xx -S xx -C SMS_XX -T '' -B 00000000000 -L 127.0.0.01:10611

請注意,配置數據源、通知Channel和儀表盤在前端是不可更改的。您應該再次通過此腳本更新配置或手動更改 /etc/grafana/provisioning 目錄(這是Grafana的默認目錄,根據需要使用-P選項更改)中的配置文件。

特別地,當您使用 Grafana Cloud 或其他組織時,-O 可用于設置組織 ID。 -G 可指定 Grafana 插件安裝目錄。 -e 參數將儀表盤設置為可編輯。

手動設置 TDinsight

安裝TDengine數據源插件

從 GitHub 安裝 TDengine 最新版數據源插件。

get_latest_release() {
  curl --silent "//api.github.com/repos/taosdata/grafanaplugin/releases/latest" |
    grep '"tag_name":' |
    sed -E 's/.*"v([^"]+)".*/\1/'
}
TDENGINE_PLUGIN_VERSION=$(get_latest_release)
sudo grafana-cli \
  --pluginUrl //github.com/taosdata/grafanaplugin/releases/download/v$TDENGINE_PLUGIN_VERSION/tdengine-datasource-$TDENGINE_PLUGIN_VERSION.zip \
  plugins install tdengine-datasource

NOTE: 插件版本 3.1.7 以下,需要在配置文件 /etc/grafana/grafana.ini 中添加如下設置,以啟用未簽名插件。

[plugins]
allow_loading_unsigned_plugins = tdengine-datasource

啟動 Grafana 服務

sudo systemctl start grafana-server
sudo systemctl enable grafana-server

登錄到 Grafana

在 Web 瀏覽器中打開默認的 Grafana 網址://localhost:3000。 默認用戶名/密碼都是 admin。Grafana 會要求在首次登錄后更改密碼。

添加TDengine數據源

指向 Configurations -> Data Sources 菜單,然后點擊 Add data source 按鈕。

添加數據源按鈕

搜索并選擇TDengine

添加數據源

配置TDengine數據源。

數據源配置

保存并測試,正常情況下會報告 'TDengine Data source is working'。

數據源測試

導入儀表盤

指向 + / Create - import(或 /dashboard/import url)。

導入儀表盤和配置

Import via grafana.com 位置鍵入儀表盤 ID 15167Load

通過 grafana.com 導入

導入完成后,TDinsight 的完整頁面視圖如下所示。

顯示

TDinsight 儀表盤詳細信息

TDinsight 儀表盤旨在提供TDengine 相關資源使用情況dnodes, mnodes, vnodes或數據庫的使用情況和狀態。

指標詳情如下:

集群狀態

tdinsight-mnodes-overview

這部分包括集群當前信息和狀態,告警信息也在此處(從左到右,從上到下)。

  • First EP:當前TDengine集群中的firstEp設置。
  • Version:TDengine 服務器版本(master mnode)。
  • Master Uptime: 當前Master MNode 被選舉為 Master 后經過的時間。
  • Expire Time - 企業版過期時間。
  • Used Measuring Points - 企業版已使用的測點數。
  • Databases - 數據庫個數。
  • Connections - 當前連接個數。
  • DNodes/MNodes/VGroups/VNodes:每種資源的總數和存活數。
  • DNodes/MNodes/VGroups/VNodes Alive Percent:每種資源的存活數/總數的比例,啟用告警規則,并在資源存活率(1分鐘內平均健康資源比例)不足100%時觸發。
  • Measuring Points Used:啟用告警規則的測點數用量(社區版無數據,默認情況下是健康的)。
  • Grants Expire Time:啟用告警規則的企業版過期時間(社區版無數據,默認情況是健康的)。
  • Error Rate:啟用警報的集群總合錯誤率(每秒平均錯誤數)。
  • Variablesshow variables 表格展示。

DNodes 狀態

tdinsight-mnodes-overview

  • DNodes Statusshow dnodes 的簡單表格視圖。
  • DNodes Lifetime:從創建 dnode 開始經過的時間。
  • DNodes Number:DNodes 數量變化。
  • Offline Reason:如果有任何 dnode 狀態為離線,則以餅圖形式展示離線原因。

MNode 概述

tdinsight-mnodes-overview

  1. MNodes Statusshow mnodes 的簡單表格視圖。
  2. MNodes Number:類似于DNodes Number,MNodes 數量變化。

請求

tdinsight-requests

  1. Requests Rate(Inserts per Second):平均每秒插入次數。
  2. Requests (Selects):查詢請求數及變化率(count of second)。
  3. Requests (HTTP):HTTP 請求數和請求速率(count of second)。

數據庫

tdinsight-database

數據庫使用情況,對變量 $database 的每個值即每個數據庫進行重復多行展示。

  1. STables:超級表數量。
  2. Total Tables:所有表數量。
  3. Sub Tables:所有超級表子表的數量。
  4. Tables:所有普通表數量隨時間變化圖。
  5. Tables Number Foreach VGroups:每個VGroups包含的表數量。

DNode 資源使用情況

dnode-usage

數據節點資源使用情況展示,對變量 $fqdn 即每個數據節點進行重復多行展示。包括:

  1. Uptime:從創建 dnode 開始經過的時間。
  2. Has MNodes?:當前 dnode 是否為 mnode。
  3. CPU Cores:CPU 核數。
  4. VNodes Number:當前dnode的VNodes數量。
  5. VNodes Masters:處于master角色的vnode數量。
  6. Current CPU Usage of taosd:taosd進程的CPU使用率。
  7. Current Memory Usage of taosd:taosd進程的內存使用情況。
  8. Disk Used:taosd數據目錄的總磁盤使用百分比。
  9. CPU Usage:進程和系統 CPU 使用率。
  10. RAM Usage:RAM 使用指標時間序列視圖。
  11. Disk Used:多級存儲下每個級別使用的磁盤(默認為 level0 級)。
  12. Disk Increasing Rate per Minute:每分鐘磁盤用量增加或減少的百分比。
  13. Disk IO:磁盤IO速率。
  14. Net IO:網絡IO,除本機網絡之外的總合網絡IO速率。

登錄歷史

登錄歷史

目前只報告每分鐘登錄次數。

taosAdapter

taosadapter

包含 taosAdapter 請求統計和狀態詳情。包括:

  1. http_request: 包含總請求數,請求失敗數以及正在處理的請求數
  2. top 3 request endpoint: 按終端分組,請求排名前三的數據
  3. Memory Used: taosAdapter 內存使用情況
  4. latency_quantile(ms): (1, 2, 5, 9, 99)階段的分位數
  5. top 3 failed request endpoint: 按終端分組,請求失敗排名前三的數據
  6. CPU Used: taosAdapter cpu 使用情況

升級

通過 TDinsight.sh 腳本安裝的 TDinsight,可以通過重新運行該腳本就可以升級到最新的Grafana插件和TDinsight Dashboard。

手動安裝的情況下,可按照上述步驟自行安裝新的Grafana插件和Dashboard。

卸載

通過 TDinsight.sh 腳本安裝的 TDinsight,可以使用命令行 TDinsight.sh -R 清理相關資源。

手動安裝時,要完全卸載TDinsight,需要清理以下內容:

  1. Grafana 中的 TDinsight Dashboard。
  2. Grafana 中的 Data Source 數據源。
  3. 從插件安裝目錄刪除 tdengine-datasource 插件。

整合的Docker示例

git clone --depth 1 //github.com/taosdata/grafanaplugin.git
cd grafanaplugin

根據需要在 docker-compose.yml 文件中修改:

version: "3.7"

services:
  grafana:
    image: grafana/grafana:7.5.10
    volumes:
      - ./dist:/var/lib/grafana/plugins/tdengine-datasource
      - ./grafana/grafana.ini:/etc/grafana/grafana.ini
      - ./grafana/provisioning/:/etc/grafana/provisioning/
      - grafana-data:/var/lib/grafana
    environment:
      TDENGINE_API: ${TDENGINE_API}
      TDENGINE_USER: ${TDENGINE_USER}
      TDENGINE_PASS: ${TDENGINE_PASS}
      SMS_ACCESS_KEY_ID: ${SMS_ACCESS_KEY_ID}
      SMS_ACCESS_KEY_SECRET: ${SMS_ACCESS_KEY_SECRET}
      SMS_SIGN_NAME: ${SMS_SIGN_NAME}
      SMS_TEMPLATE_CODE: ${SMS_TEMPLATE_CODE}
      SMS_TEMPLATE_PARAM: "${SMS_TEMPLATE_PARAM}"
      SMS_PHONE_NUMBERS: $SMS_PHONE_NUMBERS
      SMS_LISTEN_ADDR: ${SMS_LISTEN_ADDR}
    ports:
      - 3000:3000
volumes:
  grafana-data:

替換docker-compose.yml中的環境變量或保存環境變量到.env文件,然后用docker-compose up啟動Grafana。docker-compose 工具的具體用法參見

docker-compose up -d

TDinsight 已經通過 Provisioning 部署完畢,請到 //localhost:3000/d/tdinsight/ 查看儀表盤。