本文介绍如何在可观测监控 Prometheus 版中使用PrometheusRule来创建和控制告警规则。
背景信息
PromethesueRule是Prometheus Operator中用于控制告警的CRD(Custom Resource Definition)。 一个PrometheusRule定义了一组Prometheus的Alerting Rules或者Recording Rules。在一个安装了Prometheus Operator的Kubernetes中,使用者可以通过创建PrometheusRule来创建告警。作为Monitoring as Code的一种实现方式,非常适合用于搭建GitOps类的研发运维体系。
在可观测监控 Prometheus 版中,您也可以使用PrometheusRule来创建和控制告警规则。可观测监控 Prometheus 版不仅提供了交互更好的可视化页面来管理Prometheus实例的告警,也兼容了Prometheus Operator中通过PrometheusRule来创建和控制告警的使用方式。
使用说明
可观测监控 Prometheus 版支持以下两种方式使用PrometheusRule来创建和控制告警规则。
- 方式一:通过将PrometheusRule导入为告警规则模板可以可视化完成告警的批量创建和更新,这种方式适合习惯使用白屏化操作的用户,您可以在阿里云控制台高效的完成大批量告警规则的管理。具体操作,请参见下文方式一:将PrometheusRule导入到告警规则模板。
- 方式二:通过打开可观测监控 Prometheus 版插件自动同步PrometheusRule规则,可以保持开源的告警配置使用方式。这种方式适合习惯开源使用方式的用户,方便打造Monitoring As Code的运维体系。具体操作,请参见下文方式二:开启可观测监控 Prometheus 版插件同步PrometheusRule告警规则。
方式一:将PrometheusRule导入到告警规则模板
优势
可观测监控 Prometheus 版提供了Prometheus告警规则模板功能来解决多区域多集群的告警配置效率问题。一次配置Prometheus告警规则模板即可实现在全球范围内多次应用到不同的集群,极大降低了告警的配置工作量,提高了配置效率。
可观测监控 Prometheus 版提供了将PrometheusRule批量导入为告警模板的能力,通过一次性将告警规则导入到阿里云控制台,避免多集群重复多次创建PrometheusRule,将PrometheusRule导入为Prometheus告警规则模板的具体操作步骤如下:
操作步骤
- 登录ARMS控制台。
- 在左侧导航栏选择 。
- 在Prometheus告警规则模板页面左下角单击批量导入模板。
- 在弹出的导入对话框中将PrometheusRule中的spec内容粘贴至当前输入框中,然后单击导入告警规则模板。示例:下图中图标①区域为当前示例PrometheusRule中的spec内容:您需要将上述的spec内容(图标①)粘贴至导入对话框中,然后单击导入告警规则模板,如下图所示。导入成功后,您需要在Prometheus告警规则模板页面左下角单击批量导入模板,即可批量应用模板到Prometheus告警规则。
方式二:开启可观测监控 Prometheus 版插件同步PrometheusRule告警规则
应用场景
- 若您使用了诸如GitOps等系统,且仍然希望可以通过Monitoring As Code的方式来配置告警规则,这种情况下您可以使用该方式打开PrometheusRule告警规则自动同步。
- 对于已接入可观测监控 Prometheus 版的集群,如果您希望通过PrometheusRule创建告警,您需要将可观测监控 Prometheus 版插件的alert参数设置为true。
操作步骤
- 登录容器服务管理控制台。
- 在左侧导航栏单击集群。
- 在集群列表页面,单击目标集群右侧操作列的应用管理。
- 在无状态页面上方选择命名空间为arms-prom,然后在无状态列表中找到名称列中以arms-prom开头的Deployment,例如arms-prom-ack-arms-prometheus(图标①),然后单击右侧操作列的编辑(图标②)。
- 在编辑页面的生命周期区域,配置启动执行的参数,即在参数文本框中添加
--alert=true
(图标①),然后在编辑页面右上角,单击更新。可观测监控 Prometheus 版插件完成更新后,等待3~5分钟,即可在ARMS控制台的Prometheus告警规则页面查看到所有告警的状态显示为启动。
后续操作

defaultAlert
参数关闭可观测监控 Prometheus 版插件内置的告警规则。具体操作步骤如下:defaultAlert
,当其取值为true
时表示自动创建默认的报警;当其取值为false
时表示不自动创建默认的报警。- 将可观测监控 Prometheus 版插件的
defaultAlert
设置为false
。- 登录容器服务管理控制台。
- 在左侧导航栏单击集群。
- 在集群列表页面,单击目标集群右侧操作列的应用管理。
- 在编辑页面的生命周期区域,配置启动执行的参数,即在参数文本框中添加
--defaultAlert=false
,然后在编辑页面右上角,单击更新。
可观测监控 Prometheus 版插件完成更新后,等待3~5分钟,可观测监控 Prometheus 版将不再为该集群创建默认告警。
- 可选:删除默认告警规则。
- 登录ARMS控制台。
- 在左侧导航栏选择 ,进入可观测监控 Prometheus 版的实例列表页面。
- 单击目标K8s集群的Prometheus实例名称。
- 在左侧导航栏单击告警规则,然后在需要删除的告警规则右侧单击操作列的删除,并在弹出的对话框中单击确认。