性能监控之国产时序库TDengine TDinsight dashboard 指标解析
一、前言
TDengine 是一款专为物联网、工业互联网等场景时序数据库,目前为国产化(信创)项目中的主流方案。
本文主要总结解析 TaosKeeper Prometheus Dashboard for 3.x dashboard
,让大家对 TDengine 主流监控指标有个整体了解,方便平常在性能监控工作查阅。
二、主要逻辑单元说明
TDengine 分布式架构的逻辑结构图如下:
一个完整的 TDengine 系统是运行在一到多个物理节点上的,逻辑上,它包含数据节点(dnode)、TDengine 应用驱动(taosc)以及应用(app)。系统中存在一到多个数据节点,这些数据节点组成一个集群(cluster)。应用通过 taosc 的 API 与 TDengine 集群进行互动。下面对主要逻辑单元进行简要介绍。
- 数据节点(dnode): dnode 是 TDengine 服务器侧执行代码 taosd 在物理节点上的一个运行实例,一个工作的系统必须有至少一个数据节点。dnode 包含零到多个逻辑的虚拟节点(vnode),零或者至多一个逻辑的管理节点(mnode),零或者至多一个逻辑的弹性计算节点(qnode),零或者至多一个逻辑的流计算节点(snode)。
- 虚拟节点(vnode): 为更好的支持数据分片、负载均衡,防止数据过热或倾斜,数据节点被虚拟化成多个虚拟节点(vnode,图中 V2,V3,V4 等)。每个 vnode 都是一个相对独立的工作单元,是时序数据存储的基本单元,具有独立的运行线程、内存空间与持久化存储的路径。一个 vnode 包含一定数量的表(数据采集点)
- 管理节点(mnode): 一个虚拟的逻辑单元,负责所有数据节点运行状态的监控和维护,以及节点之间的负载均衡(图中 M)。同时,管理节点也负责元数据(包括用户、数据库、超级表等)的存储和管理,因此也称为 Meta Node。TDengine 集群中可配置多个(最多不超过 3 个)mnode,它们自动构建成为一个虚拟管理节点组(图中 M1,M2,M3)。
- 虚拟节点组(VGroup): 不同数据节点上的 vnode 可以组成一个虚拟节点组(vgroup),采用 RAFT 一致性协议,保证系统的高可用与高可靠。
三、集成监控
TDengine 通过 taosKeeper 将服务器的 CPU、内存、硬盘空间、带宽、请求数、磁盘读写速度等信息定时写入指定数据库。TDengine 还将重要的系统操作(比如登录、创建、删除数据库等)日志以及各种错误报警信息进行记录。系统管理员可以从 CLI 直接查看这个数据库,也可以在 WEB 通过图形化界面查看这些监测信息。
具体可以参考官网的资料,我就不再此赘述了。
四、监控数据库
TDinsight dashboard 数据来源于 log 库(存放监控数据的默认db,可以在 taoskeeper 配置文件中修改,具体参考 taoskeeper 文档)。taoskeeper 启动后会自动创建 log 库,并将监控数据写入到该数据库中。
相关表说明:
- cluster_info 表记录集群信息。
- d_info 表记录 dnode 状态信息。
- m_info 表记录 mnode 角色信息。
- dnodes_info 记录 dnode 信息。
- data_dir 表记录 data 目录信息。
- log_dir 表记录 log 目录信息。
- temp_dir 表记录 temp 目录信息。
- vgroups_info 表记录虚拟节点组信息。
- vnodes_role 表记录虚拟节点角色信息。
- log_summary 记录日志统计信息。
- grants_info 记录授权信息。
- keeper_monitor 记录 taoskeeper 监控数据。
- taosadapter_restful_http_request_total 记录 taosadapter rest 请求信息,该表为 schemaless 方式创建的表,时间戳字段名为 _ts。
- taosadapter_restful_http_request_fail 记录 taosadapter rest 请求失败信息,该表为 schemaless 方式创建的表,时间戳字段名为 _ts。
- taosadapter_restful_http_request_in_flight 记录 taosadapter rest 实时请求信息,该表为 schemaless 方式创建的表,时间戳字段名为 _ts。
- taosadapter_restful_http_request_summary_milliseconds 记录 taosadapter rest 请求汇总信息,该表为 schemaless 方式创建的表,时间戳字段名为 _ts。
- taosadapter_system_mem_percent 表记录 taosadapter 内存使用情况,该表为 schemaless 方式创建的表,时间戳字段名为 _ts。
- taosadapter_system_cpu_percent 表记录 taosadapter cpu 使用情况,该表为 schemaless 方式创建的表,时间戳字段名为 _ts。
五、Dashboard 看板
taosdata 提供了 TaosKeeper Prometheus Dashboard for 3.x dashboard
,dashboard ID 18587。
(一)集群状态(Cluster Status)
1、整体视角
这部分包括集群当前信息和状态,告警信息也在此处(从左到右,从上到下)。
2、分项说明
指标说明:
- First EP:当前TDengine集群中的firstEp设置。
- Version:TDengine 服务器版本(master mnode)。
- Master Uptime: 当前Master MNode 被选举为 Master 后经过的时间。
- Expire Time - 企业版过期时间。
指标说明:
- Used Measuring Points - 企业版已使用的测点数。
- Databases - 数据库个数。
- Tables - 当前表个数。
- Connections - 当前连接个数。
指标说明:
- DNodes/MNodes/VGroups/VNodes:每种资源的总数和存活数。
指标说明:
- DNodes/MNodes/VGroups/VNodes Alive Percent:每种资源的存活数/总数的比例,启用告警规则,并在资源存活率(1分钟内平均健康资源比例)不足100%时触发。
指标说明:
- Measuring Points Used:启用告警规则的测点数用量(社区版无数据,默认情况下是健康的)。
- Grants Expire Time:启用告警规则的企业版过期时间(社区版无数据,默认情况是健康的)
指标说明:
- Error Rate:启用警报的集群总合错误率(每秒平均错误数)。
(二)DNodes 概述(DNodes Overview)
指标说明:
- DNodes Status:show dnodes 的简单表格视图。
- DNodes Lifetime:从创建 dnode 开始经过的时间。
- DNodes Number:DNodes 数量变化。
- MNodes Number:MNodes 数量变化。
(三)请求(Requests)
1、整体视角
2、分项说明
指标说明:
- Requests (Inserts):累计插入次数。
指标说明:
- Requests Rate(Inserts per Second):平均每秒插入次数。
指标说明:
- Requests (Selects):查询请求数及变化率(count of second)。
(四)DNode 资源使用情况(DNode Usage)
1、整体视角
2、分项说明
指标说明:
- Uptime:从创建 dnode 开始经过的时间。
- Has MNodes?:当前 dnode 是否为 mnode。
- CPU Cores:CPU 核数。
- VNodes Number:当前dnode的VNodes数量。
- VNodes Masters:处于master角色的vnode数量。
指标说明:
- Current CPU Usage of taosd:taosd进程的CPU使用率。
- Current Memory Usage of taosd:taosd进程的内存使用情况。
- Disk Used:taosd数据目录的总磁盘使用百分比。
指标说明:
- CPU Usage:进程和系统 CPU 使用率。
- RAM Usage:RAM 使用指标时间序列视图。
指标说明:
- Disk Used:多级存储下每个级别使用的磁盘(默认为 level0 级)。
- Disk Increasing Rate per Minute:每分钟磁盘用量增加或减少的百分比。
指标说明:
- Disk IO:磁盘IO速率。
- Net IO:网络IO,除本机网络之外的总合网络IO速率。
参考资料:
- 点赞
- 收藏
- 关注作者
评论(0)