TiDB 监控框架概述

    TiDB 使用开源时序数据库 作为监控和性能指标信息存储方案,使用 Grafana 作为可视化组件进行展示。

    Prometheus 是一个拥有多维度数据模型的、灵活的查询语句的时序数据库。Prometheus 作为热门的开源项目,拥有活跃的社区及众多的成功案例。

    • Prometheus Server:用于收集和存储时间序列数据。
    • Client 代码库:用于定制程序中需要的 Metric。
    • Alertmanager:用于实现报警机制。

    其结构如下图所示:

    Grafana 在 TiDB 中的应用

    Grafana monitored_groups

    • {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 个页签,每个页签内有相应的监控指标看板,如下图所示: