阿里云Prometheus监控提供开箱即用的报警规则,您也可以自定义针对特定监控对象的报警规则。当规则被触发时,系统会以您指定的报警方式向报警联系人分组发送报警信息,以提醒报警联系人采取必要的问题解决措施。

前提条件

操作步骤

  1. 登录ARMS控制台
  2. 在左侧导航栏单击Prometheus监控
  3. 在顶部菜单栏选择目标地域,然后单击目标K8s集群名称。
  4. 在左侧导航栏中选择报警配置Beta,然后在右上角单击创建报警
  5. 创建报警对话框中输入以下信息,完成后单击确认
    说明 时间设置功能暂不支持。
    1. 填写规则名称,例如:网络接收压力报警。
    2. 输入报警规则表达式,表达式需要使用PromQL语句。例如:(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]))
    3. 标签区域单击创建标签可以设置报警标签,设置的标签可用作分派规则的选项。
    4. 注释区域可以编辑告警信息发送模板。单击创建注释,设置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 关联对象名称。
    Prometheus-Create alarm