更新时间:2025-08-29 GMT+08:00
分享

创建告警定义规则

如果您对于繁琐复杂的告警上报字段感到困惑,可以使用统一告警定义,该功能会自动下发到业务对应的Agent,使用更加人性化的界面设计,让告警上报更加统一、准确。

  • 告警定义依赖于业务在数据采集时部署的Agent和数据采集的插件,首先需要有持续的采集数据上报,告警定义才能生效。
  • 告警定义决定了是否要根据上报的采集数据产生告警,相当于告警的计算公式,经过监控系统计算后,如果数据持续异常,则上报到告警系统中,产生告警。

运维中心支持对监控指标创建模板规则和自定义规则完成告警定义,同时支持对AIOps中的指标数据进行告警,如需使用AIOps指标告警,可单击界面跳转链接,进入异常检测页面,通过配置异常检测任务生成AIOPS类型告警,具体操作请参见新增异常检测任务

前提条件

已获取服务运维岗位权限或运维管理员权限,权限申请操作请参见申请权限

创建监控指标模板规则

  1. 进入AppStage运维中心
  2. 在顶部导航栏选择服务。
  1. 单击,选择“运维 > 监控服务(ServiceInsight)”。
  1. 选择左侧导航栏的告警 > 策略配置
  2. 单击“统一告警定义”,进入告警定义页面,默认显示“模板告警”页签。
  3. 在“模板告警”页签,单击“创建”。
  4. 配置监控指标模板规则参数,参数说明如表1所示,配置完成后,单击“确定”。

    表1 监控指标模板规则参数说明

    参数名称

    参数说明

    指标来源

    选择告警的指标来源“监控指标”。

    告警定义名称

    设置告警定义的名称,长度不超过512个字符,告警定义名称支持如下两种命名方式:

    • 普通命名。
    • 表达式命名,使用{{$labels.变量名}}命名,支持的变量如下:
      • cluster:所在ERS集群名称
      • namespace:命名空间
      • workload:工作负载
      • tenant_id:租户ID
      • application_id:应用ID
      • service_id:服务ID
      • site:站点

      例如想要获取CCE集群内存平均使用率大于70%告警,可以命名为:“{{$labels.cluster}}集群的内存使用率超过70%”。

    级别

    选择该规则生成告警的级别,包括提示、一般、严重和紧急。

    告警类型

    选择告警类型,上报的告警会显示类型信息,可根据类型筛选查看告警。

    持续时间

    设置指标持续异常的时间。

    以持续时间5min为例,需要异常连续满足5min内的计算点全部异常才会生成告警,否则就不会生成。

    持续时间控制了当前指标生成告警的速率。

    运行模式

    选择告警定义规则的运行模式,是主机还是容器。

    是否激活

    是否激活这条告警定义。

    监控指标的告警定义需要推送到监控模块才能生效。如果不激活,则仅在告警侧保存,不会生效。

    是否调试

    选择是否调试。

    如果开启调试,当这个模板检测出来的告警上报时,告警侧会将对应告警打上debug的标签,用于存库留痕,并且对应的告警不会触发任何通知,包括语音、短信、WeLink。

    关联监控模板

    选择需要关联的监控模板,可选模板是系统创建的“_OS_DEFAULT”模板或已创建的模板,创建模板请参见创建监控模板

    指标名称

    选择插件、指标。

    指标名称由插件决定,即为主机绑定的插件能够采集到的指标。例如插件选择cpu,指标选择iowait,指的是宿主机的cpu io等待时间,在比较方式里可以根据不同的策略来决定当前指标是否异常,异常则生产告警。

    比较方式

    • 区间阈值分为在区间内和在区间外。
      • 在区间内:指数据值满足在该范围内则指标正常,否则异常。
      • 在区间外:指数据值满足不在该范围内则指标正常,否则异常。
    • 固定阈值是指数据不满足当前设置表达式则指标异常,有四种表达式,包括大于等于、小于、等于和不等于。
    • 同比是计算指标的时,与前一天同一时刻的比较,根据前一条的值的大小来决定当前指标是否异常。

    告警标签

    指标的补充条件,如果存在告警标签则需要满足所有的告警标签才会生成告警。

    标签的范围也是由指标定义。例如选择ip=10.123.15.102,则上报的指标数据不仅需要满足指标的比较方式同时也需要满足ip=10.123.15.102才能产生指标,如果是同一个业务下其他ip的异常,则不会产生告警。

    标签的判断方式包括等于(=)、不等于(!=)、正则匹配成功(=~)、正则匹配不成功(!~)。

    消息模板

    消息模板是生成告警的msg字段中的具体信息,可选变量名由指标来决定,每一个指标都有自己对应的变量名列表。

    表达式

    获取表达式,即根据配置的指标、比较方式等生成表达式。

创建监控指标自定义规则

  1. 进入AppStage运维中心
  2. 在顶部导航栏选择服务。
  1. 单击,选择“运维 > 监控服务(ServiceInsight)”。
  1. 选择左侧导航栏的告警 > 策略配置
  2. 单击“统一告警定义”,进入告警定义页面,默认显示“模板告警”页签。
  3. 单击“自定义告警”,切换至“自定义告警”页签。
  4. 在“自定义告警”页签,单击“创建”。
  5. 配置监控指标自定义规则参数,参数说明如表2所示,配置完成后,单击“确定”。

    表2 监控指标自定义规则参数说明

    参数名称

    参数说明

    指标来源

    选择告警的指标来源“监控指标”。

    告警定义名称

    设置告警定义的名称,长度不超过512个字符,告警定义名称支持如下2种命名方式:

    • 普通命名。
    • 表达式命名,使用{{$labels.变量名}}命名,支持的变量如下:
      • cluster:所在ERS集群名称
      • namespace:命名空间
      • workload:工作负载
      • tenant_id:租户ID
      • application_id:应用ID
      • service_id:服务ID
      • site:站点

      例如想要获取CCE集群内存平均使用率大于70%告警,可以命名为:“{{$labels.cluster}}集群的内存使用率超过70%”。

    级别

    选择该规则生成告警的级别,包括提示、一般、严重和紧急。

    告警类型

    选择告警类型,上报的告警会显示类型信息,可根据类型筛选查看告警。

    持续时间

    设置指标持续异常的时间。

    以持续时间5min为例,需要异常连续满足5min内的计算点全部异常才会生成告警,否则就不会生成。

    持续时间控制了当前指标生成告警的速率。

    表达式

    输入表达式,既可以复制其他已创建的模板规则获取的表达式填写,也可以使用表达式对容器集群进行告警,容器集群常用表达式请参见容器集群常用告警表达式

容器集群常用告警表达式

容器集群常用告警表达式如表3所示,表达式中的加粗数字为告警阈值,可根据业务需要修改,并且其他加粗参数后的斜体需要改成具体业务参数,加粗参数包括container容器、cluster集群名称、namespace命名空间、workload工作负载、tenant_id租户ID、application_id产品ID和service_id服务ID。

表3 容器集群常用告警表达式

异常情况

告警定义名称

表达式

pod在30分钟内多次重启告警

{{$labels.cluster}}集群中的pod_{{$labels.pod}}的container正在频繁重启

label_replace(label_replace(label_replace(label_replace(label_replace(pod_container_restarts_count_30m{cluster="erscluster",namespace="ersnamespace"}, "scope_name","","","(.*)") > 1,"tenant_id","T006","","(.*)"),"application_id","com.huawei.wiseeye","","(.*)"), "service_id","com.huawei.wiseeyeersservice","","(.*)"),"site","cn_product_cbu","","(.*)")

CPU使用率大于70%告警

{{$labels.cluster}}集群中的pod_{{$labels.pod}}的CPU使用率超过百分之70%

label_replace(label_replace(label_replace(label_replace(label_replace(pod_container_cpu_rate{cluster="erscluster-xxx",namespace="ersnamespace"}, "scope_name","","","(.*)") > 0.7,"tenant_id","T006","","(.*)"),"application_id","com.huawei.wiseeye","","(.*)"), "service_id","com.huawei.wiseeyeersservice","","(.*)"),"site","cn_product_cbu","","(.*)")

Pod状态异常告警

{{$labels.cluster}}集群中的pod_{{$labels.pod}}状态异常

label_replace(label_replace(label_replace(label_replace(label_replace(pod_status_ready{cluster="erscluster-xxx",namespace="ersnamespace"}, "scope_name","","","(.*)") > 0 or label_replace(pod_status_phase{cluster="cbu-ers-control",namespace="ers-monitoring"}, "scope_name","","","(.*)") > 0,"tenant_id","T006","","(.*)"),"application_id","com.huawei.wiseeye","","(.*)"), "service_id","com.huawei.wiseeyeersservice","","(.*)"),"site","cn_product_cbu","","(.*)")

内存使用率告警

{{$labels.cluster}}集群中的pod_{{$labels.pod}}物理内存使用率已经超过80%

label_replace(label_replace(label_replace(label_replace(label_replace(container_memory_working_set_utilization{namespace="ersnamespace",container="service-container"}, "scope_name","","","(.*)") >0.8,"tenant_id","T006","","(.*)"),"application_id","com.huawei.wiseeye","","(.*)"), "service_id","com.huawei.wiseeyeersservice","","(.*)"),"site","cn_product_cbu","","(.*)")

相关文档