Operator 项目对Prometheus 添加告警规则Rules

2020-10-13 0 By admin

使用 Kube-Prometheus 项目在容器化编排工具 Kubernetes 集群中部署 Prometheus 服务时,其 Prometheus 服务和组件由 Prometheus-Operator 项目实例进行维护。
如果我们想要对 Prometheus 服务添加报警规则、自定义数据指标时,需要了解 Prometheus-Operator 如何设置报警规则,并给预设了什么样的更新规则方式。

一、Prometheus 服务中如何加载的告警规则

这里描述的告警规则加载过程,只针对利用 Kube-Prometheus 项目构建的 Prometheus 服务。
Prometheus 服务对象运行中会加载 prometheus-k8s-rulefiles-0 此 configmap 实例;此对象中保存 Prometheus 服务的告警规则和自定义数据指标等配置。
prometheus-k8s-rulefiles-0 对象实例不能直接删除和编辑,其是由 PrometheusRule 对象来创建和管理的。

1.1、查看 PrometheusRule 对象信息

#kubectl -n monitoring get PrometheusRule
NAME                                 AGE
prometheus-k8s-rules                 14d

二、创建新的告警规则信息

通过创建一个新的 PrometheusRule 对象实例,就可以添加新的告警规则和自定义数据指标信息了。
多个 PrometheusRule 对象实例,会整合到一个 comfigmap 对象实例 prometheus-k8s-rulefiles-0 中。

新的 PrometheusRule 对象创建或更新后,其他配置对象会自动更新,Prometheus 服务会自动加载新的配置内容。