K8s集群已经部署有一个prometheus监控,这时在k8s部署tidb时如何使用已有的prometheus对tidb进行监控。

为提高效率,提问时请尽量提供详细背景信息,问题描述清晰可优先响应。以下信息点请尽量提供:

  • 【**k8s helm 部署tidb oper 1.0.0 **】

  • 【**TiDB 版本 **】 v3.01

  • 磁盘型号】 sda

  • 集群节点分布】 默认推荐配置

  • 数据量 & region 数量 & 副本数

  • 问题描述(我做了什么)

    如图k8s集群已经部署有一个prometheus监控,这时在k8s部署tidb时如何使用已有的prometheus对tidb进行监控。 将两个监控合并

  • 关键词】 prometheus

1)Monitoring namespace 下的 Prometheus 是用于对 Kubernetes cluster 的全局监控信息。 2)不同版本的 TIDB 之间的告警规则,面板等可能不同,所以目前每个 TIDB 集群都会自动启动一个 Monitor 镜像对其单独的监控。 如果没有特殊需求,建议保持目前的状况。

Hi luyuandeng,

我们不建议将两个监控合并,monitoring 下面的 Prometheus 是针对 k8s 集群层面的监控,每个 TiDB 集群也有自己的监控,分别查看两个监控对应的 Grafana 面板,可以看到每个监控都有很多面板,而且属于不同层面的监控,如果合在一起会更不容易查看。 另外,如果你有可能部署多个 TiDB 集群,这时希望多个 TiDB 集群和 k8s 集群监控都合并到一起吗? 如果确实需要,请反馈给我们,另外麻烦描述一下要合并到一个 Prometheus 的使用场景和理由,可以帮助我们更好的评估这个问题。 谢谢!

@DanielZhangQD

Hi, 借楼反馈一下相同的问题.

我们的场景大概类似于一个托管平台, 业务的同学会向我们申请Tidb集群, 我们负责部署和维护.

我们的实例基本都跑在K8s上, 监控用的是 prometheus-operator 来部署.

基于目前的现状, 每个 Tidb 一套 prometheus 是一种不太友好的行为(因为不想维护这么多

在已有的prometheus 上添加一个 Job是可行的, 但是考虑到通用性, 是否能在 Tidb-operator 中增加一个自动对接 prometheus 服务发现的功能?

比如我们可以让 Tidb-operator 创建一个 prometheus 的 service-monitor CR(假如这个CRD存在的话), 这样作为用户来说, 只需要在 yaml 中加几个参数就好了