更新时间:2024-11-21 GMT+08:00

通过告警中心一键配置告警

告警中心基于AOM告警功能,提供集群内置告警一键开启能力,在集群发生故障时能够及时发现并预警,协助您维护业务稳定性。智能告警中心可有效节省您在AOM侧手动配置告警规则的工作量,并且内置的告警规则基于华为云容器团队大规模集群运维经验,能够满足您的日常运维所需,覆盖容器服务异常事件告警、集群相关基础资源的关键指标告警及集群中应用的指标告警。

约束与限制

仅华为云/华为账号,或者拥有CCE Administrator权限或CCE FullAccess权限的IAM用户可进行告警中心所有操作。CCE ReadOnlyAccess权限的IAM用户可以查看所有资源信息,但是无法进行任何操作。

开启告警中心

  1. 在目标集群左侧导航栏选择“告警中心”。
  2. 选择“告警规则”页签,单击“开启告警中心”,在弹出的页面中选择一个或多个联系组,以便分组管理订阅终端并接收告警消息。如果当前还没有联系组,请参考配置告警通知人进行创建。
  3. 单击“确认”完成功能开启。

    告警中心中的指标类告警规则依赖云原生监控插件上报指标数据到AOM Prometheus实例,需要开通监控中心。当您的集群未安装插件或者在安装插件时未对接AOM Prometheus实例,告警中心将不会创建指标类告警规则。开通监控中心请参考开通监控中心

    表1中的事件类告警依赖日志中心开启收集Kubernetes事件的能力,详情请参见收集Kubernetes事件

配置告警规则

开启智能告警中心后,可以进行告警规则的配置和管理。

  1. 登录CCE控制台。
  2. 在集群列表页面,单击目标集群名称进入详情页。
  3. 在左侧导航栏选择“告警中心”,选择“告警规则”页签,在此处进行告警规则的配置和管理。

    智能告警中心功能会默认生成容器场景下的告警规则模板(包含异常事件告警、异常指标告警)。告警规则被分类为若干个告警规则集,您可以为告警规则集关联多个联系组,并开启或关闭告警项。告警规则集中包含多个告警规则,一个告警规则对应单个异常的检查项。关于默认告警规则模板,请参见表1

表1 默认告警规则

告警规则类型

告警项

告警说明

告警类型

依赖项

PromQL/事件名称

负载规则集

Pod状态异常

检查Pod状态是否异常

指标类

云原生监控插件

sum(min_over_time(kube_pod_status_phase{phase=~"Pending|Unknown|Failed"}[10m]) and count_over_time(kube_pod_status_phase{phase=~"Pending|Unknown|Failed"}[10m]) > 18 )by (namespace,pod, phase, cluster_name, cluster) > 0

Pod频繁重启

检查Pod是否频繁重启

指标类

云原生监控插件

increase(kube_pod_container_status_restarts_total[5m]) > 3

Deployment副本数不匹配

检查无状态负载的副本数是否匹配

指标类

云原生监控插件

(kube_deployment_spec_replicas != kube_deployment_status_replicas_available ) and ( changes(kube_deployment_status_replicas_updated[5m]) == 0)

Statefulset副本数不匹配

检查有状态负载的副本数是否匹配

指标类

云原生监控插件

(kube_statefulset_status_replicas_ready != kube_statefulset_status_replicas) and (changes(kube_statefulset_status_replicas_updated[5m]) == 0)

容器CPU使用率大于百分之八十

检查容器CPU使用率是否大于80%

指标类

云原生监控插件

100 * (sum(rate(container_cpu_usage_seconds_total{image!="", container!="POD"}[1m])) by (cluster_name,pod,node,namespace,container, cluster) / sum(kube_pod_container_resource_limits{resource="cpu"}) by (cluster_name,pod,node,namespace,container, cluster)) > 80

容器内存使用率大于百分之八十

检查容器内存使用率是否大于80%

指标类

云原生监控插件

(sum(container_memory_working_set_bytes{image!="", container!="POD"}) BY (cluster_name, node,container, pod , namespace, cluster) / sum(container_spec_memory_limit_bytes > 0) BY (cluster_name, node, container, pod , namespace, cluster) * 100) > 80

容器状态异常

检查容器状态是否异常

指标类

云原生监控插件

sum by (namespace, pod, container, cluster_name, cluster) (kube_pod_container_status_waiting_reason) > 0

更新负载均衡失败

检查更新负载均衡是否成功

事件类

云原生日志采集插件

不涉及

Pod内存不足OOM

检查Pod是否OOM

事件类

节点故障检测插件

云原生日志采集插件

PodOOMKilling

集群状态规则集

集群状态不可用

检查集群状态是否可用

事件类

云原生日志采集插件

不涉及

配置告警通知人

联系组是基于消息通知服务 SMN的主题功能实现的,目的是为消息发布者和订阅者提供一个可以相互交流的通道。联系组包含一个或多个订阅终端,您可以通过配置告警联系组,分组管理订阅终端,接收告警信息。联系组创建完成后,需要绑定至告警规则集,这样,当有告警触发时,联系组中的订阅终端就可以收到告警消息了。

  1. 登录CCE控制台。
  2. 在集群列表页面,单击目标集群名称进入详情页。
  3. 在左侧导航栏选择“告警中心”,选择“默认联系组”页签。
  4. 单击“新建联系组”,在弹出的页面中输入联系组参数。

    • 联系组名称:输入联系组名称,创建后不可修改。名称只能包含大写字母、小写字母、数字、-和_,且必须由大写字母、小写字母或数字开头,名称长度为1~255字符。
    • 告警消息显示名:即订阅终端接收消息的标题名称。假设订阅终端为邮件,推送邮件消息时,若已设置告警消息显示名,发件人则呈现为“显示名”,若未设置告警消息显示名,发件人呈现为“username@example.com”。支持在联系组创建完成后修改告警消息显示名。
    • 添加订阅终端:您需要添加一个或多个订阅终端来接收告警消息。终端类型包括短信和邮件,选择“短信”时,请输入有效的手机号码;选择“邮件”时,请输入有效的电子邮件地址。

  5. 单击“确定”完成联系组的创建。

    返回联系组列表,订阅终端状态为“未确认”,您需要继续执行后续操作,向该终端发送订阅请求,以验证终端有效性。

  6. 单击操作列“请求订阅”,向该终端发送订阅请求。若终端收到请求,请按照提示进行确认,确认完成后订阅终端状态将变为“已确认”。
  7. 联系组创建并确认后,单击图标启用联系组,实现联系组和告警规则集的绑定。

    告警规则集最多支持绑定5个联系组。

查看告警列表

您可以在“告警列表”页面查看最近发送的历史记录。

  1. 登录CCE控制台。
  2. 在集群列表页面,单击目标集群名称进入详情页。
  3. 在左侧导航栏选择“告警中心”,选择“告警列表”页签。

    列表中默认展示全部待解决告警,支持按照告警关键字、告警等级,以及告警发生的时间范围筛选。同时支持查看指定筛选条件的告警在不同时间段的分布情况。

    如果确认某条告警已排除,可以单击操作列的“清除”,清除后可在历史告警中查询。

    图1 告警列表