# TiDB 数据库的监控体系

__*TiDB 监控体系*__
__*TiDB Grafana 架构*__

![left](./student-guide/diagram/DatabaseMonitoringSystem_zh_001_20220621.png)
-------------------------------------------------------------
监控系统对于我们在日常运维和开发过程中发现问题和解决问题起着非常重要的作用。在这里,我们会为大家介绍 Prometheus + Grafana 的监控方式和TiDB 自 4.0 版本起提供的图形化界面TiDB Dashboard。

我们先来看一下 Prometheus + Grafana 的监控方式,TiDB 数据库的监控系统由时序数据库 Prometheus 作为监控和性能指标信息存储方案,使用 Grafana 作为可视化组件进行展示。

首先,让我们来看一下时序数据库 Prometheus 在监控体系中的应用,TiDB 目前使用了以下组件:
  - Prometheus Server:用于收集和存储时间序列数据。
  - Client 代码库:用于定制程序中需要的 Metric。
  - Alertmanager:用于实现报警机制。

在图中,我们可以看到,Prometheus Server 拉取被监控的 TiDB 实例,PD 实例和 TiKV 实例的被监控指标并进行存储。

其次,TiDB 使用 Grafana 来展示 TiDB 集群各组件的相关监控,Grafana 是一个开源的 metric 分析及可视化系统,也是目前非常流行的一款监控软件分析展示平台。

最后,存储在 Prometheus Server 中的数据一旦超过设定阀值,则会启动 Alertmanager 模块进行报警处理。

另外,TiDB Dashboard 是 TiDB 自 4.0 版本起提供的图形化界面,可用于监控及诊断 TiDB 集群。TiDB Dashboard 内置于 TiDB 的 PD 组件中,无需独立部署。