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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈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;数据报文的“第…