您可以通过设定Prometheus告警规则为特定的监控指标设定触发告警条件。当监控指标满足这些条件时,系统将会生成相应的告警事件,并通过短信、电子邮件、Webhook等多种渠道发送告警通知。
前提条件
已接入Prometheus监控,具体操作,请参见快速入门。
功能入口
登录应用性能监控APM控制台,点击左侧菜单栏Prometheus监控。
在Prometheus监控菜单下,单击告警规则页面。
在告警规则页面,点击创建告警规则按钮。具体操作方式请见下方。
创建告警规则
通过静态阈值创建告警规则
静态阈值检查类型提供了一系列系统预设的告警指标。您可以直接选择这些现有指标,快速建立相应指标的告警规则。可参考以下参数说明进行配置。
字段 | 说明 | 示例 |
告警名称 | 自定义告警的名称。 | 容器CPU使用率告警 |
检测类型 | 选择静态阈值。 | 静态阈值 |
Prometheus实例 | 选择需要创建告警的Prometheus实例。 | 生产集群 |
告警分组 | 选择告警分组,不同的告警分组包含不同的告警指标。 | Kubernetes负载 |
告警指标 | 选择需要进行监控告警的指标,每个告警分组包含不同的指标。 | Pod磁盘使用率 |
告警条件 | 基于告警指标预置内容,设置告警事件产生条件,如比较符与阈值。 | 当Pod磁盘使用率>80时,满足告警条件。 |
数据预览 | 根据告警指标,设置当前配置的告警规则适用的范围,即所有符合筛选条件的资源满足此条告警规则时,均会产生告警事件。 | - |
持续时间 |
| - |
告警等级 | 自定义告警等级。告警严重程度从一般,次要,重要,紧急逐级上升。 | 一般 |
告警内容 | 用户收到的告警信息。您可以使用Go template语法在告警内容中自定义告警参数变量。 | 命名空间:{{namespace}} / Pod: {{pod_name}} / 容器:{{container}} CPU使用率{{metrics_params_opt_label_value}} {{$metrics_params_value}}%, 当前值{{ printf "%.2f" $value }}% |
通知策略 | 不指定通知规则:若选择此选项,当该告警规则被触发产生告警事件后,告警信息仅仅会在告警事件页面中展示出来。 指定某个通知策略:若选择此项,Prometheus会自动在对应的告警规则加一条策略ID,告警事件会自动根据策略ID匹配策略内容,并发送告警到指定人。 | 不指定通知规则 |
高级设置 | ||
标签 | 设置告警标签,设置的标签可用作规则静默的选项。 | 无 |
参考以上参数配置说明,设置完成后,点击保存。在Prometheus告警规则列表页面,可查看当前告警规则的状态。
通过自定义PromQL创建Prometheus告警规则
您可以使用自定义PromQL类型来创建告警规则,对静态阈值中系统预设指标之外的指标进行监控,详情请参考以下告警参数。
参数 | 说明 | 示例 |
告警名称 | 告警的名称。 | Pod的CPU使用率大于8% |
检测类型 | 选择自定义PromQL。 | 自定义PromQL |
Prometheus实例 | 选择需要创建告警的Prometheus实例。 | - |
自定义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语句,并以时序曲线的形式展示当前告警规则配置的监控指标的值。 | - |
持续时间 |
| - |
告警等级 | 自定义告警等级。告警严重程度从一般,次要,重要,紧急逐级上升。 | 一般 |
告警内容 | 用户收到的告警信息。您可以使用Go template语法在告警内容中自定义告警参数变量。 | 命名空间:{{$labels.namespace}}/Pod: {{$labels.pod_name}}/磁盘设备:{{$labels.device}} 使用率超过90%,当前值{{ printf "%.2f" $value }}% |
通知策略 | 不指定通知规则:若选择此选项,当该告警规则被触发产生告警事件后,告警信息仅仅会在告警事件页面中展示出来。 指定某个通知策略:若选择此项,Prometheus会自动在对应的告警规则加一条策略ID,告警事件会自动根据策略ID匹配策略内容,并发送告警到指定人。 | 不指定通知规则 |
高级设置 | ||
标签 | 设置告警标签,设置的标签可用作规则静默的选项。 | 无 |
管理告警规则
针对Prometheus告警规则,包括静态阈值、自定义PromQL告警,您可以对其进行编辑、启动(告警状态为已停止)、停止(告警状态为运行中)、删除、查看告警事件历史的操作。