TDengine 可觀測性最佳實踐

TDengine 介紹

TDengine 是一款開源、高性能、云原生的時序數據庫,專為物聯網、車聯網、工業互聯網、金融、IT 運維等場景優化設計。它不僅提供了高效的數據存儲和查詢功能,還帶有內建的緩存、流式計算、數據訂閱等系統功能,能大幅減少系統設計的復雜度,降低研發和運營成本。

觀測云

觀測云是一款專為 IT 工程師打造的全鏈路可觀測產品,它集成了基礎設施監控、應用程序性能監控和日志管理,為整個技術棧提供實時可觀察性。這款產品能夠幫助工程師全面了解端到端的用戶體驗追蹤,了解應用內函數的每一次調用,以及全面監控云時代的基礎設施。此外,觀測云還具備快速發現系統安全風險的能力,為數字化時代提供安全保障。

部署 DataKit

DataKit 是一個開源的、跨平臺的數據收集和監控工具,由觀測云開發并維護。它旨在幫助用戶收集、處理和分析各種數據源,如日志、指標和事件,以便進行有效的監控和故障排查。DataKit 支持多種數據輸入和輸出格式,可以輕松集成到現有的監控系統中。

登錄觀測云控制臺,在「集成」 - 「DataKit」選擇對應安裝方式,當前采用 Linux 主機部署 DataKit。

采集器配置

進入 DataKit 安裝目錄下的?conf.d/db?目錄,復制?tdengine.conf.sample?并命名為?tdengine.conf。示例如下:

[[inputs.tdengine]]## adapter restApi Addr, example: http://taosadapter.test.com  (Required)adapter_endpoint = "http://<FQND>:6041"user = "<userName>"password = "<pw>"## log_files: TdEngine log file path or dirName (optional).## log_files = ["tdengine_log_path.log"]## pipeline = "tdengine.p"## Set true to enable electionelection = true## add tag (optional)[inputs.tdengine.tags]## Different clusters can be distinguished by tag. Such as testing,product,local ,default is 'testing'# cluster_name = "testing"# some_tag = "some_value"# more_tag = "some_other_value"

配置好后,重啟 DataKit?即可。

關鍵指標

  • 標簽
標簽名描述
client_ip表示與 TDengine 進行交互的客戶端的 IP 地址。通過該標簽可以追蹤不同客戶端對數據庫的訪問行為,有助于排查與特定客戶端相關的問題,比如訪問權限、連接異常等情況。
cluster_name代表 TDengine 所在的集群名稱。在分布式的 TDengine 環境中,通過該標簽可以區分不同的集群,方便對不同集群的資源使用、性能等方面進行管理和監控。
host表示 TDengine 服務所在的主機信息。通過該標簽可以了解數據庫運行的物理或虛擬主機環境,在進行資源分配、性能優化以及故障排查時,主機信息是重要的參考依據。
region代表 TDengine 服務所在的區域。在多區域部署的情況下,該標簽有助于對不同區域的數據庫進行分類管理和統計分析,比如對比不同區域的資源使用情況、性能表現等。
zone_id指 TDengine 服務所在的區域標識。在一些分布式架構中,可能會將不同的區域劃分為不同的 zone,該標簽可以用于區分和管理不同 zone 中的數據庫實例,有助于實現數據的分區存儲和負載均衡等功能。
  • 指標列表
td_adapter
指標名字段類型描述
client_ip_countfloat表示連接到 TDengine 數據庫的客戶端 IP 地址的數量。該指標可用于監控數據庫的客戶端訪問情況,通過觀察其變化,能了解到有多少不同的客戶端在與數據庫進行交互,數量的異常增長或減少可能暗示著業務訪問模式的改變或存在潛在的安全問題。
cpu_percentfloat指 TDengine 進程占用 CPU 的百分比。此指標直觀地反映了 TDengine 對 CPU 資源的使用程度,過高的 CPU 百分比可能導致數據庫性能下降,影響數據的讀寫操作效率,可據此判斷是否需要對數據庫進行優化或調整系統資源分配。
mem_percentfloat是 TDengine 進程使用內存占系統總內存的百分比。它能幫助我們了解 TDengine 在內存使用方面的情況,當該百分比接近或達到 100% 時,可能會引發內存不足的問題,進而影響數據庫的正常運行,需要及時采取措施進行內存管理或優化。
total_req_countfloat代表 TDengine 數據庫接收到的請求總數。這個指標綜合反映了數據庫的工作負載情況,請求總數的變化可以體現出業務對數據庫的訪問頻繁程度,若請求總數突然大幅增加,可能需要考慮數據庫的性能瓶頸和擴展性問題;若請求總數過少,則可能表示業務活動不活躍或存在異常。
td_node_usage
指標名字段類型描述
cpu_coresfloat表示 TDengine 運行所在服務器的 CPU 核心數量。該指標反映了服務器的 CPU 硬件資源基礎,可用于評估系統的計算能力上限。
cpu_enginefloat指 TDengine 引擎占用的 CPU 資源比例。該指標用于監控 TDengine 引擎在運行過程中對 CPU 的使用情況,若該值過高,可能會影響引擎的性能和響應速度。
cpu_systemfloat代表系統整體的 CPU 使用率,包括 TDengine 引擎及其他運行在該服務器上的進程。此指標能讓我們了解服務器的整體 CPU 負載情況,判斷是否存在資源競爭問題。
disk_percentfloat是磁盤空間的使用百分比,即已使用磁盤空間占總磁盤空間的比例。該指標可幫助我們監控磁盤的使用情況,及時發現磁盤空間不足的問題。
disk_totalfloat表示服務器上用于 TDengine 存儲數據的磁盤總容量大小。了解該指標有助于規劃數據存儲和評估磁盤擴容需求。
disk_usedfloat指當前已被 TDengine 及相關進程使用的磁盤空間大小。結合?disk_total?指標,可以直觀地了解磁盤的剩余可用空間。
io_read_taosdfloat衡量 TDengine 進程從磁盤讀取數據的 I/O 速率。該指標反映了 TDengine 對磁盤讀取操作的頻繁程度和速率,過高的讀取速率可能會導致磁盤 I/O 瓶頸。
io_write_taosdfloat表示 TDengine 進程向磁盤寫入數據的 I/O 速率。該指標體現了 TDengine 對磁盤寫入操作的頻繁程度和速率,過高的寫入速率同樣可能引發磁盤 I/O 問題。
mem_enginefloat指 TDengine 引擎使用的內存量大小。監控該指標有助于了解 TDengine 引擎的內存占用情況,避免因內存不足導致性能下降。
mem_engine_percentfloat是 TDengine 引擎使用的內存量占系統總內存的百分比。該指標能更直觀地反映 TDengine 引擎在內存使用方面的占比情況。
mem_systemfloat表示系統當前可用的內存量。該指標可用于判斷服務器的整體內存資源是否充足,以及是否需要進行內存優化或擴容。
mem_totalfloat指服務器的總內存容量大小。了解該指標有助于評估系統的內存資源上限,為合理分配內存提供依據。
net_infloat代表服務器的網絡流入帶寬,即單位時間內從外部網絡流入服務器的數據量。該指標可用于監控服務器的網絡接收情況,判斷是否存在網絡擁塞或異常流量。
net_outfloat表示服務器的網絡流出帶寬,即單位時間內從服務器發送到外部網絡的數據量。該指標可用于監控服務器的網絡發送情況,評估網絡使用效率。
uptimefloat指 TDengine 服務的連續運行時間。該指標反映了 TDengine 服務的穩定性,較長的運行時間通常表示服務比較穩定。
vnodes_numfloat表示 TDengine 集群中的虛擬節點數量。虛擬節點是 TDengine 中數據存儲和處理的基本單元,該指標可用于評估集群的規模和數據處理能力。
td_cluster
指標名字段類型描述
connections_totalfloat表示當前與 TDengine 數據庫建立的總連接數。該指標可用于監控數據庫的并發訪問情況,連接數過高可能導致性能下降,過低則可能表示業務訪問不活躍。
database_countfloat指 TDengine 數據庫中創建的數據庫總數。該指標能反映系統的數據存儲組織規模,數據庫數量的變化可能影響系統的整體管理和性能。
dnodes_alivefloat代表當前處于活躍狀態的數據節點數量。數據節點是 TDengine 分布式架構中負責存儲和處理數據的節點,該指標可用于監控數據節點的可用性和健康狀況。
dnodes_totalfloat表示 TDengine 集群中數據節點的總數量。結合?dnodes_alive?指標,可以判斷有多少數據節點處于異常狀態。
master_uptimefloat指 TDengine 主節點的連續運行時間。主節點在集群中起著關鍵的管理和協調作用,較長的運行時間通常表示系統的穩定性較好。
mnodes_alivefloat表示當前處于活躍狀態的管理節點數量。管理節點負責集群的元數據管理和調度,該指標可用于監控管理節點的可用性。
mnodes_totalfloat是 TDengine 集群中管理節點的總數量。與?mnodes_alive?對比,可了解管理節點的健康情況。
table_countfloat指 TDengine 數據庫中創建的表的總數。表是數據存儲的基本單位,該指標反映了數據的結構化程度和存儲規模。
vgroups_alivefloat代表當前處于活躍狀態的虛擬組(VGroup)數量。VGroup 是 TDengine 中數據存儲和復制的基本單位,該指標可用于監控數據存儲和復制的可用性。
vgroups_totalfloat表示 TDengine 集群中虛擬組的總數量。結合?vgroups_alive?指標,可以判斷有多少 VGroup 處于異常狀態。
vnodes_alivefloat表示當前處于活躍狀態的虛擬節點(VNode)數量。VNode 是 VGroup 中的具體存儲單元,該指標可用于監控 VNode 的可用性和健康狀況。
vnodes_totalfloat指 TDengine 集群中虛擬節點的總數量。通過與?vnodes_alive?對比,可了解 VNode 的整體健康情況。

場景視圖

登錄觀測云控制臺,點擊「場景」 -「新建儀表板」,輸入 “TDengine 監控視圖”, 選擇 “TDengine 監控視圖”,點擊 “確定” 即可添加視圖。

監控器(告警)

TDengine 內存過高檢測

指標:mem_engine_percent

簡要描述:指 TDengine 引擎使用的內存占系統總內存的百分比。通過監控這個指標,可以了解引擎在內存使用方面的占比,避免因內存過度占用而引發性能問題。當 mem_engine_percent 接近 100% 時,可能會出現內存不足,導致數據庫響應緩慢甚至無法正常工作。

告警配置如下圖所示:

TDengine 實例存活檢測

指標:cpu_engine

簡要描述:uptime 記錄了從 TDengine 服務節點最近一次啟動開始,到當前時刻所持續運行的時長。它反映了服務節點在一段時間內保持穩定運行的狀態,是衡量服務穩定性的一個重要指標。

告警配置如下圖所示:

TDengine DISK 過高檢測

指標:disk_percent

簡要描述:代表磁盤空間的使用百分比,即已用磁盤空間占總磁盤空間的比例。磁盤空間是數據庫存儲數據的基礎,disk_percent 過高意味著磁盤快被占滿,可能影響新數據的寫入和查詢操作的性能。當該指標達到一定閾值(如 80% 或 90%)時,就需要考慮清理無用數據或擴展磁盤空間。

告警配置如下圖所示:

總結

觀測云是一款全鏈路可觀測產品,集成了基礎設施監控、應用程序性能監控以及日志管理等功能。借助開源工具 DataKit,用戶可以輕松實現對 TDengine 數據的采集,僅需通過簡單配置文件并重啟系統,即可快速完成相關設置。

TDengine 提供了豐富的關鍵指標,涵蓋客戶端訪問、資源使用、集群狀態以及請求處理等多個方面。在觀測云控制臺中,用戶可以便捷地新建“TDengine 監控視圖”。同時,針對 TDengine 的重要指標,如內存使用率(mem_engine_percent)、實例存活情況(uptime、cpu_engine)、磁盤空間占用率(disk_percent)等,用戶可以靈活設置告警規則。當這些指標達到特定閾值,例如內存使用率接近 100%、服務運行時間異常或磁盤空間占比過高時,系統將及時發出告警,助力運維人員保障 TDengine 的穩定高效運行。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/92784.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/92784.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/92784.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Jenkins 搭建鴻蒙打包

1、創建流水線工程 選擇 Freestyle project 2、配置模板倉庫、憑證 配置倉庫地址 創建憑證&#xff0c;憑證選擇賬號-密碼&#xff08;能夠訪問該倉庫的個人或管理員 Gitlab 賬密&#xff09; 到這里執行構建&#xff0c;便可以克隆倉庫到工作目錄 3、安裝插件 3.1 Rebuild…

【SpringBoot】02 基礎入門-什么是Spring Boot?:Spring與SpringBoot

文章目錄1、Spring能做什么1.1、Spring的能力1.2、Spring的生態1.3、Spring5重大升級1.3.1、響應式編程1.3.2、內部源碼設計2、為什么用SpringBoot2.1、SpringBoot優點2.2、SpringBoot缺點3、時代背景3.2、分布式分布式的困難分布式的解決3.3、云原生上云的困難4、如何學習Spri…

FFmpeg 編譯安裝和靜態安裝

FFmpeg 編譯安裝和靜態安裝 簡介 FFmpeg 是一個領先的多媒體框架&#xff0c;能夠解碼、編碼、轉碼、復用、解復用、流化、過濾和播放幾乎所有人類和機器創建的格式。本指南將詳細介紹如何在 CentOS 8.5.2111 系統上從源代碼編譯并安裝 FFmpeg 6.1.1 版本。從源代碼編譯安裝可…

人大BABEC地平線高效率具身導航!Aux-Think:探索視覺語言導航中數據高效的推理策略

作者&#xff1a; Shuo Wang1,3^{1,3}1,3, Yongcai Wang1^{1}1, Wanting Li1^{1}1 , Xudong Cai1^{1}1, Yucheng Wang3^{3}3, Maiyue Chen3^{3}3, Kaihui Wang3^{3}3, Zhizhong Su3^{3}3, Deying Li1^{1}1, Zhaoxin Fan2^{2}2單位&#xff1a;1^{1}1中國人民大學&#xff0c;2^…

01. maven的下載與配置

1.maven的下載與初步配置a.下載并配置倉庫地址下載maven壓縮包&#xff0c;并解壓&#xff0c;解壓后應有如下幾個文件點擊conf&#xff0c;打開settings.xml&#xff08;我用的VScode打開的&#xff09;&#xff0c;我們需要聲明一下內部倉庫的地址&#xff0c;以及私服的一些…

1701. 請輸出所有的3位對稱數

問題描述請輸出所有的 33 位對稱數&#xff0c;對稱數指的是一個整數 nn 正過來和倒過來是一樣的&#xff0c;比如&#xff1a;101、121、282…101、121、282…請從小到大輸出符合條件的3位對稱數&#xff0c;每行 11 個。輸入無。輸出從小到大按題意輸出符合條件的數&#xff…

C++算法·排序

排序的定義 這個不用說吧 就是根據某個條件對一個數列進行有序的操作 例如要求從小到大排序、從大到小排序等等 排序的分類 比較排序(Comparison(Comparison(Comparison Sorts)Sorts)Sorts) 特點&#xff1a;通過元素間的比較決定順序 時間復雜度下限&#xff1a;O(nO(nO(n…

微服務項目中的注冊中心——Nacos配置

從零開始&#xff1a;Nacos服務注冊與配置中心實戰教程 Nacos&#xff08;Dynamic Naming and Configuration Service&#xff09;是阿里巴巴開源的服務發現、配置管理工具&#xff0c;集注冊中心與配置中心于一體&#xff0c;廣泛應用于微服務架構。本文將從環境搭建到實戰配…

日期格式化成英文月,必須指定語言環境

如果不指定Locale.ENGLISH 在有些JDK下 輸出6月 INV USD 314,791.77,DUE 25-07 [PAID USD 503,389.56 ON 2025-07-16]Mar INV USD 52,042.00,DUE 25-07 [PAID USD 52,042.00 ON 2025-08-11]所以必…

【6】Transformers快速入門:Transformer 的注意力層 是啥?

一句話看懂注意力層作用&#xff1a;讓 AI 像人一樣 “抓重點” &#xff08;比如讀“貓追老鼠”&#xff0c;自動聚焦 “追” 這個動作&#xff0c;忽略無關詞&#xff09;1. 為什么需要注意力&#xff1f; 問題場景&#xff08;翻譯例子&#xff09;&#xff1a; 英文&#x…

集合,完整擴展

目錄 前言&#xff1a; 一、List接口 1.1 ArrayList 1.2 LinkedList 1.3 Vector 二、Set接口 2.1 HashSet 2.2 TreeSet 2.3 LinkedHashSet 三、應用選擇 前言&#xff1a; 本篇文章重點梳理 List 接口和 Set 接口的核心內容&#xff0c;結合代碼案例幫大家吃透它們的…

【doris基礎與進階】3-Doris安裝與部署

安裝前的準備 在windows系統上通過vmwareubuntu 22.04的方式進行安裝&#xff0c;由于資源有限&#xff0c;在同1臺機器上同時安裝fe和be&#xff08;broker本次不安裝&#xff0c;極簡化安裝&#xff09;&#xff0c;安裝版本為2.1.10&#xff0c;2.x版本架構不會有大的變化&a…

關于數據結構6-哈希表和5種排序算法

哈希表1哈希算法將數據通過哈希算法映射成一個鍵值&#xff0c;存取都在同一個位置實現數據的高效存儲和查找&#xff0c;將時間復雜度盡可能降低至O(1)2哈希碰撞多個數據通過哈希算法得到的鍵值相同&#xff0c;成為產生哈希碰撞3哈希表&#xff1a;構建哈希表存放0-100之間的…

AWT與Swing深度對比:架構差異、遷移實戰與性能優化

全面對比分析Java AWT與Swing GUI框架的架構差異、性能表現和適用場景&#xff0c;提供完整的AWT到Swing遷移實戰指南&#xff0c;包含15代碼示例、性能測試數據、最佳實踐建議&#xff0c;助你做出明智的技術選型和實現平滑遷移。 Java AWT, Swing, GUI框架對比, 代碼遷移, 性…

git倉庫檢測工具

介紹 Gitleaks 是一款用于檢測git 倉庫、文件以及任何你想通過 git 傳遞的信息(例如密碼、API 密鑰和令牌)的工具stdin。如果你想了解更多關于檢測引擎工作原理的信息,請查看這篇博客:正則表達式(幾乎)就是你所需要的一切。 ? ~/code(master) gitleaks git -v○│╲│…

【4】Transformers快速入門:自然語言模型 vs 統計語言模型

一句話關系總結 統計語言模型 自然語言模型的“數學基礎” &#xff08;就像加減乘除是數學的基礎&#xff0c;統計模型是AI學說話的基礎工具&#xff09;區別對比表&#xff08;小白版&#xff09;維度統計語言模型自然語言模型本質用數學公式算句子概率用神經網絡模仿人腦理…

[激光原理與應用-252]:理論 - 幾何光學 - 傳統透鏡焦距固定,但近年出現的可變形透鏡(如液態透鏡、彈性膜透鏡)可通過改變自身形狀動態調整焦距。

一、液態透鏡&#xff1a;電潤濕效應驅動曲率變化基本結構液態透鏡由兩種互不相溶的液體&#xff08;如導電水溶液與絕緣硅油&#xff09;封裝在透明圓筒形容器中構成。容器壁經疏水處理&#xff0c;使水溶液呈圓頂型聚集在中心&#xff0c;與硅油形成凸狀曲面。工作原理電潤濕…

wordpress數據庫導入時的#1044錯誤

在wordpress網站數據庫文件.sql導入到數據庫時&#xff0c;發生錯誤&#xff0c;錯誤提示如下&#xff1a;#1044 – Access denied for user ‘wodepress_com’’localhost’ to database ‘wodepress’。 這個錯誤表明用戶wodepress_com沒有權限訪問數據庫wodepress。以下是解…

微服務ETCD服務注冊和發現

1.什么是注冊中心 注冊中心主要有三種角色&#xff1a; 服務提供者&#xff08;RPC Server&#xff09;&#xff1a;在啟動時&#xff0c;向 Registry 注冊自身服務&#xff0c;并向 Registry 定期發送心跳匯報存活狀態。 服務消費者&#xff08;RPC Client&#xff09;&…

計算機網絡---默認網關(Default Gateway)

一、默認網關的定義 默認網關&#xff08;Default Gateway&#xff09;是一個網絡設備&#xff08;通常是路由器、防火墻或三層交換機&#xff09;的IP地址&#xff0c;它是本地網絡中的設備訪問其他網絡&#xff08;如外網、其他子網&#xff09;時&#xff0c;數據報文的“第…