分类12.运维 |篇章03 监控免费详情健全的监控体系是生产稳定性的关键。TDengine 通过 taosKeeper 采集指标、写入 log 数据库配合 Grafana 可视化和 Alert Manager 告警。本文涵盖整体架构、指标、Dashboard、告警规则。监控架构速查TDengine 集群 │ ├─ taosd 内置指标 │ └─ 周期上报 → taosKeeper │ └─ taosAdapter 指标 └─ 周期上报 → taosKeeper │ ├─→ log 数据库TDengine 自身存储 │ └─→ Prometheus可选 │ └─→ Grafana / AlertManager详细解析1. 启用监控# /etc/taos/taos.cfg monitor 1 monitorInterval 30 # 秒 monitorFqdn taoskeeper-host monitorPort 6043 monitorMaxLogs 100 # 各模块同样上报 # 不需要单独配置monitor1 自动启用 # 重启服务生效 systemctl restart taosd2. 安装 taosKeeper# taosKeeper 通常随 TDengine 安装# 默认 /usr/bin/taoskeeper# 配置 /etc/taos/taoskeeper.toml# 启动systemctl start taoskeeper systemctlenabletaoskeeper# 配置示例/etc/taos/taoskeeper.toml# [tdengine]# host localhost# port 6041 # 通过 taosAdapter# username root# password taosdata## [metrics]# database log## [http]# host 0.0.0.0# port 6043## [log]# path /var/log/taos# rotationCount 53. log 数据库taoskeeper 创建并写入 log 数据库 taosd_dnodes_info - dnode 资源指标CPU/内存/磁盘 taosd_vnodes_info - vnode 状态 taosd_mnodes_info - mnode 状态 taosd_cluster_info - 集群整体 taosd_sql_req_summary - SQL 请求统计 taosadapter_* - taosAdapter 指标 taosd_log_summary - 日志汇总 ... 查询监控数据 USE log; SHOW TABLES; SELECT * FROM taosd_dnodes_info ORDER BY ts DESC LIMIT 10;4. 关键指标集群健康 - dnode_status (online/offline) - mnode_role (leader/follower) - vnode_status 资源使用 - cpu_usage - memory_usage - disk_usage - net_io 负载 - sql_query_count - sql_insert_count - active_connections - rows_per_sec - queries_per_sec 性能 - query_latency_p99 - insert_latency - wal_size 存储 - data_size (各 vnode) - wal_size - tsdb_size - cache_used5. Grafana 集成官方 Dashboard 下载grafana-tdengine-datasource 插件 Dashboard ID: 15146, 18180 等 安装插件 grafana-cli plugins install tdengine-datasource systemctl restart grafana-server 配置数据源 Settings → Data Sources → Add Type: TDengine URL: http://taosadapter:6041 User: root, Password: taosdata Database: log 导入 Dashboard → Import → Upload JSON 选择 TDengine 官方提供的 dashboard 文件 绑定数据源6. 关键 DashboardCluster Overview Dashboard - 集群拓扑dnode/mnode 状态 - 总写入 QPS / 查询 QPS - 资源使用热力图 - 当前告警 Performance Dashboard - SQL 延迟 P50/P99 - 慢查询 TOP 10 - 连接数 - WAL 大小变化 Storage Dashboard - 各 VNode 数据量 - 各 DNode 磁盘使用 - 压缩比 TMQ Dashboard - 消费者 Lag - 消费速率 - Topic 列表7. 告警规则# Grafana Alert / AlertManager 告警示例-alert:TDengineDnodeOfflineexpr:|SELECT COUNT(*) FROM log.taosd_dnodes_info WHERE statusoffline AND ts NOW - 1mthreshold:0severity:criticaldescription:DNode {{ $labels.endpoint }} is offline-alert:HighQueryLatencyexpr:|SELECT MAX(latency_p99) FROM log.taosd_sql_req_summary WHERE ts NOW - 5mthreshold:1000severity:warningdescription:Query latency P99 1s-alert:HighMemoryUsageexpr:|SELECT MAX(memory_usage_pct) FROM log.taosd_dnodes_info WHERE ts NOW - 5mthreshold:90severity:criticaldescription:Memory 90% on {{ $labels.endpoint }}-alert:ConsumerLagHighexpr:|SELECT MAX(end_offset - committed_offset) FROM log.taos_consumers WHERE ts NOW - 1mthreshold:100000severity:warningdescription:TMQ Consumer lag 100k-alert:WalSizeLargeexpr:|SELECT MAX(wal_size_mb) FROM log.taosd_vnodes_info WHERE ts NOW - 5mthreshold:10240# 10 GBseverity:warning8. Prometheus 集成可选# taosAdapter 启用 Prometheus 指标# /etc/taos/taosadapter.toml[prometheus]enable true# Prometheus scrape 配置scrape_configs:-job_name:tdenginestatic_configs:-targets:[taosadapter:6041]metrics_path:/metrics# 然后 Grafana 接 Prometheus 数据源代码示例自定义监控查询-- 慢查询 TOP 10SELECTts,conn_id,user,sql,exec_usec/1000ASmsFROMperformance_schema.perf_queriesWHEREexec_usec1000000-- 1sORDERBYexec_usecDESCLIMIT10;-- DNode 健康SELECTendpoint,status,vnodes,cpu_usage,memory_usage_pct,disk_used_gbFROMlog.taosd_dnodes_infoWHEREtsNOW-5m;-- 写入速率每分钟SELECT_wstart,SUM(rows_inserted)ASrows_per_minFROMlog.taosd_sql_req_summaryWHEREtsNOW-1hINTERVAL(1m);-- VNode 大小排行SELECTvgroup_id,dnode_id,data_size_gbFROMlog.taosd_vnodes_infoWHEREtsNOW-5mORDERBYdata_size_gbDESCLIMIT10;一键健康检查脚本#!/bin/bash# health_check.shecho TDengine Health Check # 1. 进程echo[1] Process status:systemctl is-active taosd# 2. 集群拓扑echo[2] Cluster:taos-sSHOW DNODES; SHOW MNODES;# 3. 资源echo[3] Latest resources:taos-s USE log; SELECT endpoint, cpu_usage, memory_usage_pct, disk_used_gb FROM taosd_dnodes_info WHERE ts NOW - 5m; # 4. 慢查询echo[4] Recent slow queries:taos-s SELECT user, exec_usec/1000 AS ms, SUBSTRING(sql, 1, 80) FROM performance_schema.perf_queries WHERE exec_usec 1000000 ORDER BY exec_usec DESC LIMIT 5; 性能考量监控开销项开销monitor1 1% CPUtaoskeeper小单进程log 数据库写入与采集间隔成反比Grafana 查询与刷新间隔相关监控容量集群规模log 库每日增量3 节点~100 MB10 节点~500 MB100 节点~10 GB设置 log 库 KEEP 适当如 30 天。FAQQ1: log 库会占很多空间吗视集群规模和采集间隔。建议 KEEP 30~90 天。Q2: 监控数据自己监控自己是的。taoskeeper 把数据写入 log 库也在同一 TDengine 集群。集群整体故障时监控也会失效——建议关键告警接 PagerDuty/电话。Q3: 不用 Grafana 行吗可以。直接 SQL 查 log 库即可。但 Grafana 提供可视化和告警更友好。Q4: 监控的最低粒度monitorInterval 默认 30 秒。可调低到 10 秒高频或提高到 60 秒节省。Q5: K8s 环境怎么监控部署 taoskeeper 为独立 PodService 暴露 6043。Grafana 同集群部署或外接。参考系统构架篇01-《TDengine 整体架构全景》02-《集群拓扑深度解析》03-《MNode 内部机制深度解析》04-《RPC 通信层深度解析》05-《VNode 生命周期》06-《RAFT 共识协议》07-《端到端的消息流》数据模型01-《数据库创建与参数详解》02-《超级表/子表/普通表》03-《支持数据类型深度解析》04-《TDengine Tag 设计哲学与 Schema 变更机制》05-《TDengine 虚拟表实现原理》存储引擎01-《TDengine 存储引擎概览》02-《TDengine MemTable 深度解析》03-《TDengine WAL 预写日志机制》04-《TDengine 数据文件格式》05-《TDengine Commit 与 Flush 机制 》06-《TDengine Compaction 合并策略 》07-《TDengine 数据保留与 TTL》08-《TDengine 压缩编码机制》09-《TDengine Cache 与 Last 查询加速》10-《TDengine 逻辑计划生成》查询引擎01-《TDengine 查询引擎概览》02-《TDengine SQL 解析与词法分析》03-《TDengine 语义分析与 AST 重写》04-《TDengine 逻辑计划生成》05-《TDengine 物理计划生成》06-《TDengine 扫描算子》07-《TDengine 聚合算子》08-《TDengine 连接算子》09-《TDengine 排序、填充与投影》10-《TDengine 分布式查询执行》11-《TDengine EXPLAIN 与查询优化》数据写入01-《TDengine SQL INSERT》02-《TDengine 无模式写入》03-《TDengine STMT 写入》04-《TDengine 写入内部流程》05-《TDengine 数据更新删除》数据订阅01-《TDengine 数据订阅》02-《TDengine 订阅 vs Kafka》03-《TDengine TMQ 消费流程》04-《TDengine 内部机制》05-《TDengine TMQ 最佳实践》预聚合01-《TDengine RSMA》02-《TDengine TSMA — 时间维度的物化聚合视图》03-《TDengine SMA 内部实现》索引01-《TDengine Tag 索引》02-《TDengine SMA 索引》SQL 语句01-《TDengine DDL》02-《TDengine DML SELECT》03-《TDengine DML 函数完整参考》04-《TDengine JOIN 完整语法》05-《TDengine 窗口完整语法》06-《TDengine 操作符与表达式》07-《TDengine 系统表》08-《TDengine SQL 与标准 SQL 差异》客户端与连接器01-《TDengine 的连接方式》02-《TDengine C/C 连接器》03-《TDengine java 连接器》04-《TDengine Python 连接器》05-《TDengine Go 与 Rust 连接器》06-《TDengine Node.js 与 C# 连接器》运维01-《TDengine 部署指南》02-《TDengine 配置详解》关于 TDengineTDengine 专为物联网IoT平台、工业大数据平台设计。其中TDengine TSDB 是一款高性能、分布式的时序数据库Time Series Database同时它还带有内建的缓存、流式计算、数据订阅等系统功能TDengine IDMP 是一款AI原生工业数据管理平台它通过树状层次结构建立数据目录对数据进行标准化、情景化并通过 AI 提供实时分析、可视化、事件管理与报警等功能。