全部产品
Search
文档中心

应用实时监控服务ARMS:Prometheus告警规则

更新时间:Nov 03, 2023

通过创建Prometheus监控告警规则,您可以制定针对特定Prometheus实例的告警规则。当告警规则设置的条件满足后,系统会产生对应的告警事件。如果想要收到通知,需要进一步配置对应的通知策略以生成告警并且以短信、邮件、电话、钉群机器人、企业微信机器人或者Webhook等方式发送通知。

前提条件

已创建Prometheus实例,具体操作,请参见:

功能入口

  1. 登录ARMS控制台
  2. 在左侧导航栏,选择Prometheus监控 > Prometheus告警规则
  3. Prometheus告警规则页面的右上角单击创建Prometheus告警规则

通过静态阈值创建Prometheus告警规则

静态阈值检查类型提供了系统预设的告警指标,通过选择已有的告警指标,您可以通过语义化的方式快速创建对应指标项的告警规则。

  1. 创建Prometheus告警规则页面设置以下告警参数。
    参数说明示例
    告警名称告警的名称。生产集群-容器CPU使用率告警
    检测类型选择静态阈值静态阈值
    Prometheus实例选择需要创建告警的Prometheus实例。生产集群
    告警分组选择告警分组。

    不同Prometheus类型支持的告警分组不同,告警分组备选项会随着选择的Prometheus实例类型的不同产生变化。

    Kubernetes负载
    告警指标选择想要配置告警的指标,每个告警分组对应不同的指标。容器CPU使用率
    告警条件基于告警指标预置内容设置告警事件产生条件。当容器CPU使用率大于80%时,满足告警条件。
    筛选条件根据告警指标,设置当前配置的告警规则所适用的范围,即所有符合筛选条件的资源满足此条告警规则时,均会产生告警事件。
    可选筛选条件包括:
    • 遍历:告警规则适用于当前Prometheus实例下的所有资源。筛选条件默认为遍历。
    • 等于:选择该条件后,需继续输入具体资源名称。所创建的告警规则将仅适用于对应资源。不支持同时填写多个资源。
    • 不等于:选择该条件后,需继续输入具体资源名称。所创建的告警规则将适用于除该资源之外的其他资源。不支持同时填写多个资源。
    • 正则匹配:选择该条件后,按需输入正则表达式匹配相应的资源名称。所创建的告警规则将适用于符合该正则表达式的所有资源。
    • 正则不匹配:选择该条件后,按需输入正则表达式匹配相应的资源名称。所创建的告警规则将过滤符合该正则表达式的所有资源。
    说明 完成筛选条件设置后,会弹出数据预览区域。
    遍历
    数据预览数据预览区域展示告警条件对应的PromQL语句,并以时序曲线的形式展示当前告警规则配置的监控指标的值。

    默认仅展示一个资源的实时值,您可以在该区域的筛选框中选择目标资源以及时间区间来查看不同时间区间和不同资源的值。

    说明
    • 告警阈值将会以一条红色直线的形式显示在时序曲线中,满足告警阈值的时序曲线显示为深红色,不满足告警阈值的时序曲线显示为蓝色。
    • 将鼠标悬浮于时序曲线上,可以查看对应时间点的资源详情。
    • 在时序曲线上选中一段时间,可以查看对应时间段的时序曲线。
    持续时间
    • 当告警条件满足时,直接产生告警事件:有任何一个数据点满足阈值,就会产生告警事件。
    • 当告警条件满足持续N分钟时,才产生告警事件:即只有当满足阈值的时间大于等于N分钟时,才产生告警事件。
    1
    告警等级自定义告警等级。默认告警等级为默认,告警严重程度从默认、P4、P3、P2、P1逐级上升。默认
    告警内容用户收到的告警信息。您可以使用Go template语法在告警内容中自定义告警参数变量。命名空间: {{$labels.namespace}} / Pod: {{$labels.pod_name}} / 容器: {{$labels.container}} CPU使用率{{$labels.metrics_params_opt_label_value}} {{$labels.metrics_params_value}}%, 当前值{{ printf "%.2f" $value }}%
    高级设置
    告警检查周期指告警规则每隔N分钟进行一次检查,判断数据是否满足告警条件。默认1分钟,最少设置1分钟。默认
    快速指定通知策略
    • 不指定通知策略:若选择此选项,当完成创建告警规则后,您可以在通知策略页面新建通知策略并指定匹配规则和匹配条件(如告警规则名称等)来匹配该告警规则。当该告警规则被触发产生告警事件后,告警信息会被发送给通知策略中指定的联系人或联系人组。更多信息,请参见通知策略
    • 指定某个通知策略:若选择此项,ARMS会自动在对应的通知策略添加一条匹配规则,匹配规则内容为告警规则ID(以告警规则名称的方式呈现),以确保当前告警规则产生的告警事件一定可以被选择的通知策略匹配到。
    重要 快速指定通知策略只能保证当前告警规则产生的告警事件一定能够被所选的通知策略匹配到并且产生对应告警。但是,当前告警规则产生的事件同时也可能被其它设置了模糊匹配的通知策略匹配到并且产生告警。告警规则产生的告警事件和通知策略之间是多对多的匹配关系。
    不指定通知规则
    标签设置告警标签,设置的标签可用作通知策略匹配规则的选项。
    注释设置告警的注释。
  2. 设置完成后单击保存。在Prometheus告警规则列表页面,您可以查看当前告警规则的状态。
    如果该告警规则的状态自动中断,请您根据提示的中断原因,对该告警规则进行重新编辑,并单击启动,然后在弹出的对话框中单击确认。如果您遇到无法解决的规则中断问题,请联系ARMS告警服务号(d9j_rg9e4062f)协助解决。
    可能导致告警规则状态自动中断的原因有以下几种:
    • 规则查询结果的数量超过1500。
    • 告警管理中未配置任何通知对象。
    • Prometheus实例已经卸载或不可用状态。

通过自定义PromQL创建Prometheus告警规则

如果需要对静态阈值中系统预设指标之外的指标进行监控,您可以使用自定义PromQL检测类型来创建告警规则。

  1. 创建Prometheus告警规则页面设置以下告警参数。
    参数说明示例
    告警名称告警的名称。Pod的CPU使用率大于8%
    检测类型设置为自定义PromQL自定义PromQL
    Prometheus实例选择需要创建告警的Prometheus实例。
    参考指标可选。参考指标中包括了常见指标的自定义PromQL配置方法,您可以选择已有的类似指标来进行填充,然后参考对应指标的配置方式进行修改以完成告警配置。

    参考指标参数会根据选择的Prometheus实例类型自动过滤支持的告警指标。

    Pod磁盘使用率告警
    自定义PromQL语句使用PromQL语句设置告警则表达式。max(container_fs_usage_bytes{pod!="", namespace!="arms-prom",namespace!="monitoring"}) by (pod_name, namespace, device)/max(container_fs_limit_bytes{pod!=""}) by (pod_name,namespace, device) * 100 > 90
    数据预览数据预览区域展示了满足PromQL告警表达式的集群资源的指标时序曲线。

    默认展示所有满足PromQL告警表达式资源的告警数据,您可以在该区域的筛选框中选择目标资源以及时间区间进行数据展示。

    说明
    • 将鼠标悬浮于时序曲线上,可以查看对应时间点的资源详情。
    • 在时序曲线上选中一段时间,可以查看对应时间段的时序曲线。
    持续时间
    • 当告警条件满足时,直接产生告警事件:有任何一个数据点满足阈值,就会产生告警事件。
    • 当告警条件满足持续N分钟时,才产生告警事件:即只有当满足阈值的时间大于等于N分钟时,才产生告警事件。
    1
    告警等级自定义告警等级。默认告警等级为默认,告警严重程度从默认、P4、P3、P2、P1逐级上升。默认
    告警内容用户收到的告警信息。您可以使用Go template语法在告警内容中自定义告警参数变量。命名空间: {{$labels.namespace}}/Pod: {{$labels.pod_name}}/磁盘设备: {{$labels.device}} 使用率超过90%,当前值{{ printf "%.2f" $value }}%
    高级设置
    告警检查周期指告警规则每隔N分钟进行一次检查,判断数据是否满足告警条件。默认1分钟,最少设置1分钟。默认
    快速指定通知策略
    • 不指定通知规则:若选择此选项,当完成创建告警规则后,您可以在通知策略页面新建通知策略并指定匹配规则和匹配条件(如告警规则名称等)来匹配该告警规则。当该告警规则被触发产生告警事件后,告警信息会被发送给通知策略中指定的联系人或联系人组。更多信息,请参见通知策略
    • 指定某个通知策略:若选择此项,ARMS会自动在对应的通知策略添加一条匹配规则,匹配规则内容为告警规则ID(以告警规则名称的方式呈现),以确保当前告警规则产生的告警事件一定可以被选择的通知策略匹配到。
    重要 快速指定通知策略只能保证当前告警规则产生的告警事件一定能够被所选的通知策略匹配到并且产生对应告警。但是,当前告警规则产生的事件同时也可能被其它设置了模糊匹配的通知策略匹配到并且产生告警。告警规则产生的告警事件和通知策略之间是多对多的匹配关系。
    不指定通知规则
    标签设置告警标签,设置的标签可用作通知策略匹配规则的选项。
    注释设置告警的注释。
  2. 设置完成后单击保存。在Prometheus告警规则列表页面,您可以查看当前告警规则的状态。
    如果该告警规则的状态自动中断,请您根据提示的中断原因,对该告警规则进行重新编辑,并单击启动,然后在弹出的对话框中单击确认。如果您遇到无法解决的规则中断问题,请联系ARMS告警服务号(d9j_rg9e4062f)协助解决。
    可能导致告警规则状态自动中断的原因有以下几种:
    • 规则查询结果的数量超过1500。
    • 告警管理中未配置任何通知对象。
    • Prometheus实例已经卸载或不可用状态。

管理告警规则

Prometheus告警规则页面上,您可以对告警规则执行启动、停止、编辑、删除、查看告警详情等操作。

  1. 可选:Prometheus告警规则页面设置告警过滤条件,或者在搜索框中输入告警名称并单击搜索图标。
  2. 在搜索结果列表的操作列中,按需对目标告警规则采取以下操作:
    • 如需编辑告警规则,单击编辑,在编辑告警页面中编辑告警规则,并单击保存
    • 如需删除告警规则,单击删除,并在提示对话框中单击确认
    • 如需启动已停止的告警规则,单击启动,并在提示对话框中单击确认
    • 如需停止已启动的告警规则,单击停止,并在提示对话框中单击确认
    • 如需查看告警事件历史,单击告警事件历史,在事件列表页面上查看相关记录。