TiDB 监控框架概述
Prometheus 是一个拥有多维度数据模型的、灵活的查询语句的时序数据库。Prometheus 作为热门的开源项目,拥有活跃的社区及众多的成功案例。
Prometheus 提供了多个组件供用户使用。目前,TiDB 使用了以下组件:
- Prometheus Server:用于收集和存储时间序列数据。
- Client 代码库:用于定制程序中需要的 Metric。
- Alertmanager:用于实现报警机制。
Grafana 在 TiDB 中的应用
Grafana 是一个开源的 metric 分析及可视化系统。TiDB 使用 Grafana 来展示 TiDB 集群各组件的相关监控,监控项分组如下图所示:
- {TiDB_Cluster_name}-Backup-Restore:备份恢复相关的监控项。
- {TiDB_Cluster_name}-Binlog:TiDB Binlog 相关的监控项。
- {TiDB_Cluster_name}-Disk-Performance:磁盘性能相关监控项。
- {TiDB_Cluster_name}-Kafka-Overview:Kafka 相关监控项。
- {TiDB_Cluster_name}-Lightning:TiDB Lightning 组件相关监控项。
- {TiDB_Cluster_name}-Node_exporter:操作系统相关监控项。
- {TiDB_Cluster_name}-Overview:重要组件监控概览。
- {TiDB_Cluster_name}-PD:PD server 组件相关监控项。
- {TiDB_Cluster_name}-Performance-Read:读性能相关监控项。
- {TiDB_Cluster_name}-TiDB:TiDB server 组件详细监控项。
- {TiDB_Cluster_name}-TiDB-Summary:TiDB server 相关监控项概览。
- {TiDB_Cluster_name}-TiFlash-Proxy-Summary:数据同步到 TiFlash 的代理 server 监控项概览。
- {TiDB_Cluster_name}-TiFlash-Summary:TiFlash server 相关监控项概览。
- {TiDB_Cluster_name}-TiKV-Details:TiKV server 组件详细监控项。
- {TiDB_Cluster_name}-TiKV-Summary:TiKV server 监控项概览。
- {TiDB_Cluster_name}-TiKV-Trouble-Shooting:TiKV 错误诊断相关监控项。
每个分组包含多个监控项页签,页签中包含多个详细的监控项信息。以 Overview 监控组为例,其中包含 5 个页签,每个页签内有相应的监控指标看板,如下图所示: