Prometheus监控为接入的云服务提供预置报警规则,若预置的报警规则不满足您的业务需求,您还可以创建自定义报警。本文介绍如何查看预置报警和创建自定义报警。
前提条件
- 云服务已接入Prometheus监控,请参见Prometheus实例 for 云服务。
- 创建联系人,请参见创建联系人。
查看预置告警
- 登录ARMS控制台。
- 在左侧导航栏选择Prometheus监控 > Prometheus实例列表。
- 在Prometheus监控页面的顶部菜单栏,选择Prometheus实例所在的地域。Prometheus监控页面显示了所有接入Prometheus监控的集群,其中监控对象类型为云服务的实例为Prometheus云服务实例。
- 单击Prometheus云服务实例名称。
- 在左侧导航栏单击报警配置。报警配置页面显示了云服务的预置报警。
创建报警
如果预置的报警不满足您的业务需求,您还可以创建自定义告警。
- 登录ARMS控制台。
- 在左侧导航栏选择Prometheus监控 > Prometheus实例列表。
- 在Prometheus监控页面的顶部菜单栏,选择Prometheus实例所在的地域。Prometheus监控页面显示了所有接入Prometheus监控的集群,其中监控对象类型为云服务的实例为Prometheus云服务实例。
- 单击Prometheus云服务实例名称。
- 在左侧导航栏单击报警配置。
- 在报警配置页面右上角,单击创建报警。
- 在创建报警面板,执行以下操作:
- 可选:从告警模板下拉列表,选择模板。
- 在规则名称文本框,输入规则名称,例如:网络接收压力报警。
- 在告警表达式文本框,输入告警表达式。例如:
(sum(rate(kube_state_metrics_list_total{job="kube-state-metrics",result="error"}[5m])) / sum(rate(kube_state_metrics_list_total{job="kube-state-metrics"}[5m]))) > 0.01
。注意- PromQL语句中包含的
$
符号会导致报错,您需要删除包含$
符号的语句中=
符号左右两边的参数及=
符号。例如:将sum (rate (container_network_receive_bytes_total{instance=~"^$HostIp.*"}[1m]))
修改为sum (rate (container_network_receive_bytes_total[1m]))
。 - 阿里云Prometheus支持多种云服务指标的监控,Prometheus监控的云服务指标详情,请参见云服务指标。
- PromQL语句中包含的
- 在持续时间文本框,输入持续时间N,当连续N分钟满足告警条件的时候才触发告警。例如:1分钟,当告警条件连续1分钟都满足时才会发送告警。说明 持续N分钟满足告警条件是指在连续N分钟内,您上面设置的PromQL语句条件都能满足。Prometheus默认数据采集周期为15s,如果没有连续4N(N×60/15=4N)个数据点满足告警条件(PromQL语句),就不会发送告警。假设Prometheus告警规则默认持续时间为1分钟,则只有连续4个数据点都满足告警条件(PromQL语句)才会触发告警。如果您想在任何一个数据点满足告警条件(PromQL语句)就发送告警,请修改持续时间为0分钟。
- 在告警消息文本框,输入告警消息。
- 可选:在高级配置的标签区域,单击创建标签可以设置报警标签,设置的标签可用作分派规则的选项。
- 可选:在高级配置的注释区域,单击创建注释,设置键为message,设置值为 {{变量名}}告警信息。设置完成后的格式为:
message:{{变量名}}告警信息
,例如:message:{{$labels.pod_name}}重启
。您可以自定义变量名,也可以选择已有的标签作为变量名。已有的标签包括:
- 报警规则表达式指标中携带的标签。
- 通过报警规则创建的标签。
- ARMS系统自带的默认标签,默认标签说明如下。
标签 说明 alertname 告警名称,格式为:告警名称_集群名称。 _aliyun_arms_alert_level 告警等级。 _aliyun_arms_alert_type 告警类型。 _aliyun_arms_alert_rule_id 告警规则对应的ID。 _aliyun_arms_region_id 地域ID。 _aliyun_arms_userid 用户ID。 _aliyun_arms_involvedObject_type 关联对象子类型,如ManagedKubernetes,ServerlessKubernetes。 _aliyun_arms_involvedObject_kind 关联对象分类,如app,cluster。 _aliyun_arms_involvedObject_id 关联对象ID。 _aliyun_arms_involvedObject_name 关联对象名称。
- 从通知策略下拉列表,选择通知策略。创建通知策略的操作,请参见通知策略。
- 单击确定。
报警配置页面显示创建的报警。