TiDB 集群监控

    这类接口可以获取组件的一些基本信息,并且可以作为 keepalive 监测接口。另外 PD 的接口可以看到整个 TiKV 集群的详细信息。

    TiDB API 地址:。

    其中 port 默认为 10080,各类 api_name 详细信息参见 TiDB API Doc

    下面示例中,通过访问 获取当前 TiDB Server 的状态,以及判断是否存活。返回结果为 Json 格式:

    • connections:当前 TiDB Server 上的客户端连接数
      • :TiDB 版本号
      • git_hash:TiDB 当前代码的 Git Hash

    PD Server

    PD API 地址:。

    其中 port 默认为 2379,各类 api_name 详细信息参见 PD API Doc

    这部分主要对整个集群的状态、性能做监控,通过 Prometheus+Grafana 展现 metrics 数据,在下面一节会介绍如何搭建监控系统。

    • query 处理时间,可以看到延迟和吞吐
    • ddl 过程监控
    • TiKV client 相关的监控
    • PD client 相关的监控

    PD Server

    • 命令执行的总次数
    • 某个命令执行失败的总次数
    • 某个命令执行成功的耗时统计
    • 某个命令执行失败的耗时统计
    • 某个命令执行完成并返回结果的耗时统计
    • 执行 KV 命令的总次数
    • Scheduler 执行命令的耗时统计
    • Raft propose 命令的总次数
    • Raft 执行命令的耗时统计
    • Raft 执行命令失败的总次数
    • Raft 处理 ready 状态的总次数

    部署架构

    整个架构如下图所示,在 TiDB/PD/TiKV 三个组件的启动参数中添加 Prometheus Pushgateway 地址:

    配置

    TiDB/PD/TiKV 配置

    • TiDB

      设置 --metrics-addr 和 --metrics-interval 两个参数,其中 metrics-addr 设为 Push Gateway 的地址,metrics-interval 为 push 的频率,单位为秒,默认值为 15

    • PD

    • TiKV

      修改 toml 配置文件,填写 Push Gateway 的地址和推送频率,job 字段一般设为“tikv”。

    PushServer 配置

    一般无需特殊配置,使用默认端口 9091 即可

    Prometheus 配置

    在 yaml 配置文件中添加 Push Gateway 地址:

    Grafana 配置

    • 进入 Grafana Web 界面(默认地址: ,默认账号: admin 密码: admin)

      点击 Grafana Logo -> 点击 Data Sources -> 点击 Add data source -> 填写 data source 信息 ( 注: Type 选 Prometheus,Url 为 Prometheus 地址,其他根据实际情况填写 )