开启 TidbMonitor 分片功能

本文档介绍如何使用 TidbMonitor 分片功能。

功能介绍

TidbMonitor 负责单个或者多个 TiDB 集群的监控数据采集。当监控数据量很大的时候,单点计算能力会达到瓶颈。此时,你可以采用 Prometheus Modulus 分片功能,对 __address__hashmod,将多个目标(关键字为 Targets)的监控打散到多个 TidbMonitor Pod 上。

TidbMonitor 分片功能需要采用数据聚合方案,推荐使用 Thanos 方案。

如何开启分片功能

开启分片功能,需要指定 shards 字段,示例如下:

  1. apiVersion: pingcap.com/v1alpha1
  2. kind: TidbMonitor
  3. metadata:
  4. name: monitor
  5. spec:
  6. replicas: 1
  7. shards: 2
  8. clusters:
  9. - name: basic
  10. prometheus:
  11. baseImage: prom/prometheus
  12. version: v2.27.1
  13. initializer:
  14. baseImage: pingcap/tidb-monitor-initializer
  15. version: v5.4.0
  16. reloader:
  17. baseImage: pingcap/tidb-monitor-reloader
  18. version: v1.0.1
  19. prometheusReloader:
  20. baseImage: quay.io/prometheus-operator/prometheus-config-reloader
  21. version: v0.49.0
  22. imagePullPolicy: IfNotPresent

开启 TidbMonitor 分片功能 - 图1注意

  • TidbMonitor 对应的 Pod 实例数量取决于 replicasshards 的乘积。例如,当 replicas 为 1 个副本,shards 为 2 个分片时,TiDB Operator 将产生 2 个 TidbMonitor Pod 实例。
  • shards 变更后,Targets 会重新分配,但是原本在节点上的监控数据不会重新分配。

可以参考 分片示例