容器服务报警管理

通过开启容器服务报警管理功能,可以统一管理容器的报警,包括容器服务异常事件报警、集群相关基础资源的关键指标报警、集群核心组件及集群中应用的指标报警等。还可以通过CRD方式修改集群中默认创建的报警规则,及时感知集群中异常变化。

计费说明

报警功能的数据来源是通过日志服务SLS、可观测监控 Prometheus 版和云监控,触发报警后发送的短信、电话等通知会产生额外费用。在开启报警功能之前,可根据默认报警规则模板确认每个报警项的来源,并开通所需的服务。

发送报警源

配置要求

计费详情

日志服务SLS

开启事件监控;启用报警管理功能时,事件监控会默认开启。

按使用功能计费模式计费项

可观测监控 Prometheus 版

为集群配置使用阿里云Prometheus监控

计费说明

云监控

为集群开启容器服务Kubernetes版集群的云监控功能

按量计费

开启报警管理功能

开启报警管理功能后,可以为集群内指定的资源设置指标报警,并在异常情况发生时自动接收告警通知,以便更高效地管理和维护集群,确保服务的稳定运行。相关资源报警详情请参见默认报警规则模板

ACK托管集群

选择已有集群开启报警配置,或创建新集群时启用报警配置。

已有集群中开启

  1. 登录容器服务管理控制台,在左侧导航栏选择集群列表

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择运维管理 > 报警配置

  3. 报警配置页面,按照页面指引进行组件的安装或升级。

  4. 安装升级完成后,进入报警配置页面配置报警信息。

    页签

    说明

    报警规则管理

    • 启动状态:用于打开或关闭目标报警规则集。

    • 编辑通知对象:设置报警通知的联系人分组。

    设置前,需先创建联系人和分组,并将联系人加入分组。通知对象仅支持联系人分组,如需通知单人,可将该联系人单独建组后选择该分组。

    报警历史

    目前可查看最近1天内发送的最新100条历史记录。

    • 单击报警规则列下的链接,可以跳转到对应监控系统中查看详细规则配置。

    • 单击排查现场,可以快速定位到异常发生的资源页面(异常事件、指标异常的资源)。

    • 单击智能分析,可通过计算 AI 助手协助分析问题并提供处理指导。

    联系人管理

    对联系人进行管理,可创建、编辑或删除联系人。

    联系方式:

    • 电话/短信:设置联系人的手机号码后,可以通过电话和短信的方式接收告警通知。

      仅验证过的手机号码可以在通知策略中使用电话的通知方式,验证手机号的操作,请参见验证手机号
    • 邮箱:设置联系人的邮箱地址后,可以通过邮箱接收告警通知。

    • 机器人:钉钉机器人企业微信机器人飞书机器人

      钉钉机器人需要追加安全关键字: 报警、分派。
    邮箱和机器人设置前,可以先在云监控控制台报警服务 > 报警联系人验证,以便接收报警信息。

    联系人分组管理

    对联系人分组进行管理,可创建、编辑或删除联系人分组。编辑通知对象仅支持选择联系人分组。

    当无联系人分组时,控制台会在阿里云账号注册信息中同步创建一个默认联系人分组。

创建集群时开启

在创建集群的组件配置页面,勾选报警配置右侧使用默认报警模板配置报警,并选择报警通知联系人分组。具体操作,请参见创建ACK托管集群

image

创建集群时开启报警配置后,系统将会开启默认报警规则,并默认发送报警通知到默认的联系人分组,也可自定义修改报警联系人或报警联系组

ACK专有集群

ACK专有集群需要先为Worker RAM角色授权,再开启默认报警规则。

Worker RAM角色授权

  1. 登录容器服务管理控制台,在左侧导航栏选择集群列表

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择集群信息

  3. 集群信息页面,在集群资源区域,复制Worker RAM角色右侧的名称,并单击链接进入RAM访问控制控制台为该Worker RAM角色授权。

    1. 创建如下自定义权限策略。请参见通过脚本编辑模式创建自定义权限策略

      {
                  "Action": [
                      "log:*",
                      "arms:*",
                      "cms:*",
                      "cs:UpdateContactGroup"
                  ],
                  "Resource": [
                      "*"
                  ],
                  "Effect": "Allow"
      }
    2. 角色页面,搜索定位该Worker RAM角色,为其授予以上创建的自定义权限策略。具体操作,请参见方式一:在RAM角色页面为RAM角色授权

  4. 说明:为简化操作,本文档授予了较宽泛的权限。在生产环境中,建议您遵循最小权限原则,仅授予必要的权限。
    1. 角色页面,搜索定位该Worker RAM角色,为其授予以上创建的自定义权限策略。具体操作,请参见方式一:在RAM角色页面为RAM角色授权

  5. 通过日志查看报警功能访问权限是否已配置。

    1. 在目标集群管理页左侧导航栏,选择工作负载 > 无状态

    2. 选择命名空间kube-system,单击无状态应用列表中alicloud-monitor-controller名称链接。

    3. 单击日志页签,可看到授权成功的Pod日志。

开启默认报警配置规则

  1. 在目标集群页左侧导航栏,选择运维管理 > 报警配置

  2. 报警配置页面,配置如下报警信息。

    页签

    说明

    报警规则管理

    • 启动状态:用于打开或关闭目标报警规则集。

    • 编辑通知对象:设置报警通知的联系人分组。

    设置前,需先创建联系人和分组,并将联系人加入分组。通知对象仅支持联系人分组,如需通知单人,可将该联系人单独建组后选择该分组。

    报警历史

    目前可查看最近1天内发送的最新100条历史记录。

    • 单击报警规则列下的链接,可以跳转到对应监控系统中查看详细规则配置。

    • 单击排查现场,可以快速定位到异常发生的资源页面(异常事件、指标异常的资源)。

    • 单击智能分析,可通过计算 AI 助手协助分析问题并提供处理指导。

    联系人管理

    对联系人进行管理,可创建、编辑或删除联系人。

    联系方式:

    • 电话/短信:设置联系人的手机号码后,可以通过电话和短信的方式接收告警通知。

      仅验证过的手机号码可以在通知策略中使用电话的通知方式,验证手机号的操作,请参见验证手机号
    • 邮箱:设置联系人的邮箱地址后,可以通过邮箱接收告警通知。

    • 机器人:钉钉机器人企业微信机器人飞书机器人

      钉钉机器人需要追加安全关键字: 报警、分派。
    邮箱和机器人设置前,可以先在云监控控制台报警服务 > 报警联系人验证,以便接收报警信息。

    联系人分组管理

    对联系人分组进行管理,可创建、编辑或删除联系人分组。编辑通知对象仅支持选择联系人分组。

    当无联系人分组时,控制台会在阿里云账号注册信息中同步创建一个默认联系人分组。

配置报警规则

报警配置功能开启后,默认会在kube-system命名空间下创建一个名为AckAlertRule类型的CRD资源配置,包含默认报警规则模板。可通过修改此CRD资源来修改默认报警规则,以配置符合要求的容器服务报警规则。

控制台

  1. 登录容器服务管理控制台,在左侧导航栏选择集群列表

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择运维管理 > 报警配置

  3. 报警规则管理页签,单击右上角编辑报警配置,然后单击目标规则列右侧操作列下的YAML,即可查看当前集群中的AckAlertRule资源配置。

  4. 可参考默认报警规则模板说明,根据实际需求修改 YAML 文件内容。

    报警规则配置 YAML 示例如下:

    报警规则配置YAML

    apiVersion: alert.alibabacloud.com/v1beta1
    kind: AckAlertRule
    metadata:
      name: default
    spec:
      groups:
        # 以下是一个集群事件报警规则配置样例。
        - name: pod-exceptions                             # 报警规则分组名,对应报警模板中的Group_Name字段。
          rules:
            - name: pod-oom                                # 报警规则名。
              type: event                                  # 报警规则类型(Rule_Type),枚举值为event(事件类型)、metric-cms(云监控指标类型)。
              expression: sls.app.ack.pod.oom              # 报警规则表达式,当规则类型为event时,表达式的值为本文默认报警规则模板中Rule_Expression_Id值。
              enable: enable                               # 报警规则开启状态,枚举值为enable、disable。
            - name: pod-failed
              type: event
              expression: sls.app.ack.pod.failed
              enable: enable
        # 以下是一个集群基础资源报警规则配置样例。
        - name: res-exceptions                              # 报警规则分组名,对应报警模板中的Group_Name字段。
          rules:
            - name: node_cpu_util_high                      # 报警规则名。
              type: metric-cms                              # 报警规则类型(Rule_Type),枚举值为event(事件类型)、metric-cms(云监控指标)、metric-prometheus(Prometheus指标)。
              expression: cms.host.cpu.utilization          # 报警规则表达式,当规则类型为metric-cms时,表达式的值为本文默认报警规则模板中Rule_Expression_Id值。
              contactGroups:                                # 报警规则映射的联系人分组配置,由ACK控制台生成,同一个账号下联系人相同,可在多集群中复用。
              enable: enable                                # 报警规则开启状态,枚举值为enable、disable。
              thresholds:                                   # 报警规则阈值。          
                - key: CMS_ESCALATIONS_CRITICAL_Threshold
                  unit: percent
                  value: '85'                                # CPU 使用率阈值,85%(默认)    
                - key: CMS_ESCALATIONS_CRITICAL_Times
                  value: '3'                                # 连续 3 次超过阈值触发报警
                - key: CMS_RULE_SILENCE_SEC                 # 初次上报报警后静默期时长 
                  value: '900'    

    rules.thresholds(参数见下表)可自定义报警阈值。例如上述示例配置:当集群节点 CPU 使用率超过 85%,连续 3 次达到阈值,且距离上一次报警已超过 900 秒时,将触发报警通知。

    参数名

    是否必选

    说明

    默认值

    CMS_ESCALATIONS_CRITICAL_Threshold

    必选

    报警配置阈值。未配置时规则将同步失败并关闭。

    • unit:表示单位,可配置为percentcountqps

    • value:阈值。

    根据默认报警模板配置而定。

    CMS_ESCALATIONS_CRITICAL_Times

    可选

    云监控规则重试判断次数。未配置时取默认值。

    3

    CMS_RULE_SILENCE_SEC

    可选

    云监控持续发送异常触发规则时,初次上报报警后静默期时长(单位:秒),防止过于频繁报警。未配置时取默认值。

    900

kubectl

  1. 使用以下命令编辑报警规则的 YAML 文件。

    kubectl edit ackalertrules default -n kube-system
  2. 可参考默认报警规则模板说明,根据实际需求修改 YAML 文件内容,编辑完成后保存并退出即可。

    报警规则配置YAML

    apiVersion: alert.alibabacloud.com/v1beta1
    kind: AckAlertRule
    metadata:
      name: default
    spec:
      groups:
        # 以下是一个集群事件报警规则配置样例。
        - name: pod-exceptions                             # 报警规则分组名,对应报警模板中的Group_Name字段。
          rules:
            - name: pod-oom                                # 报警规则名。
              type: event                                  # 报警规则类型(Rule_Type),枚举值为event(事件类型)、metric-cms(云监控指标类型)。
              expression: sls.app.ack.pod.oom              # 报警规则表达式,当规则类型为event时,表达式的值为本文默认报警规则模板中Rule_Expression_Id值。
              enable: enable                               # 报警规则开启状态,枚举值为enable、disable。
            - name: pod-failed
              type: event
              expression: sls.app.ack.pod.failed
              enable: enable
        # 以下是一个集群基础资源报警规则配置样例。
        - name: res-exceptions                              # 报警规则分组名,对应报警模板中的Group_Name字段。
          rules:
            - name: node_cpu_util_high                      # 报警规则名。
              type: metric-cms                              # 报警规则类型(Rule_Type),枚举值为event(事件类型)、metric-cms(云监控指标类型)。
              expression: cms.host.cpu.utilization          # 报警规则表达式,当规则类型为metric-cms时,表达式的值为本文默认报警规则模板中Rule_Expression_Id值。
              contactGroups:                                # 报警规则映射的联系人分组配置,由ACK控制台生成,同一个账号下联系人相同,可在多集群中复用。
              enable: enable                                # 报警规则开启状态,枚举值为enable、disable。
              thresholds:                                   # 报警规则阈值。          
                - key: CMS_ESCALATIONS_CRITICAL_Threshold
                  unit: percent
                  value: '85'                                # CPU 使用率阈值,85%(默认)    
                - key: CMS_ESCALATIONS_CRITICAL_Times
                  value: '3'                                # 连续 3 次超过阈值触发报警
                - key: CMS_RULE_SILENCE_SEC                 # 初次上报报警后静默期时长 
                  value: '900'    

    通过 rules.thresholds,可灵活自定义报警阈值。例如上述示例配置:当集群节点 CPU 使用率超过 85%,连续 3 次达到阈值,且距离上一次报警已超过 900 秒时,将触发报警通知。

    参数名

    是否必选

    说明

    默认值

    CMS_ESCALATIONS_CRITICAL_Threshold

    必选

    报警配置阈值。未配置时规则将同步失败并关闭。

    • unit:表示单位,可配置为percentcountqps

    • value:阈值。

    根据默认报警模板配置而定。

    CMS_ESCALATIONS_CRITICAL_Times

    可选

    云监控规则重试判断次数。未配置时取默认值。

    3

    CMS_RULE_SILENCE_SEC

    可选

    云监控持续发送异常触发规则时,初次上报报警后静默期时长(单位:秒),防止过于频繁报警。未配置时取默认值。

    900

默认报警规则模板

以下报警项同步自日志服务 SLS、阿里云 Prometheus 和云监控,可在报警配置页面,目标报警项的报警管理列下的高级设置查看各自的报警规则配置。

Error事件集

报警项

规则说明

报警来源

Rule_Type

ACK_CR_Rule_Name

SLS_Event_ID

Error事件

集群中所有Error Level异常事件触发该报警。

日志服务

event

error-event

sls.app.ack.error

Warn事件集

报警项

规则说明

报警来源

Rule_Type

ACK_CR_Rule_Name

SLS_Event_ID

Warn事件

集群中关键Warn Level异常事件触发该报警,排除部分可忽略事件。

日志服务

event

warn-event

sls.app.ack.warn

集群核心组件异常报警规则集(ACK托管集群

报警项

规则说明

报警来源

Rule_Type

ACK_CR_Rule_Name

SLS_Event_ID

集群API Server可用性异常

API Server出现可用性问题时触发报警,可能导致集群管理功能受限。

阿里云Prometheus

metric-prometheus

apiserver-unhealthy

prom.apiserver.notHealthy.down

集群etcd可用性异常

etcd出现不可用将影响整个集群的状态。

阿里云Prometheus

metric-prometheus

etcd-unhealthy

prom.etcd.notHealthy.down

集群kube-scheduler可用性异常

负责Pod调度,调度器不可用可能导致新Pod无法正常启动。

阿里云Prometheus

metric-prometheus

scheduler-unhealthy

prom.scheduler.notHealthy.down

集群KCM可用性异常

管理控制循环,异常会影响集群状态自动修复和资源调整机制。

阿里云Prometheus

metric-prometheus

kcm-unhealthy

prom.kcm.notHealthy.down

集群cloud-controller-manager可用性异常

管理外部云服务组件的生命周期,异常可能影响服务的动态调整功能。

阿里云Prometheus

metric-prometheus

ccm-unhealthy

prom.ccm.notHealthy.down

集群CoreDNS可用性异常-请求跌零

CoreDNS是集群的DNS服务,异常将影响服务发现和域名解析。

阿里云Prometheus

metric-prometheus

coredns-unhealthy-requestdown

prom.coredns.notHealthy.requestdown

集群CoreDNS可用性异常-panic异常

CoreDNS出现panic错误时触发,需立即分析日志进行诊断。

阿里云Prometheus

metric-prometheus

coredns-unhealthy-panic

prom.coredns.notHealthy.panic

集群Ingress错误请求率高

Ingress控制器处理的HTTP请求错误率较高,可能影响服务的可访问性。

阿里云Prometheus

metric-prometheus

ingress-err-request

prom.ingress.request.errorRateHigh

集群Ingress Controller证书即将过期

SSL证书到期会导致HTTPS请求失败,需提前更新证书。

阿里云Prometheus

metric-prometheus

ingress-ssl-expire

prom.ingress.ssl.expire

Pod Pending同时累计数>1000

若集群中有过多Pod持续处于Pending状态,可能是资源不足或调度策略不合理。

阿里云Prometheus

metric-prometheus

pod-pending-accumulate

prom.pod.pending.accumulate

集群API Server Mutating Admission Webhook RT

变更型Admission Webhook响应过慢会影响资源创建和变更效率。

阿里云Prometheus

metric-prometheus

apiserver-admit-rt-high

prom.apiserver.mutating.webhook.rt.high

集群API Server Validating Admission Webhook RT

验证型Admission Webhook响应过慢可能导致配置变更不及时。

阿里云Prometheus

metric-prometheus

apiserver-validate-rt-high

prom.apiserver.validation.webhook.rt.high

集群ControlPlane组件发生OOM

集群核心组件内存溢出,需要针对异常进行详细排查,避免服务瘫痪。

日志服务

event

ack-controlplane-oom

sls.app.ack.controlplane.pod.oom

集群节点池运维事件报警规则集

报警项

规则说明

报警来源

Rule_Type

ACK_CR_Rule_Name

SLS_Event_ID

节点自愈失败

当节点自愈过程出现失败,需立即了解原因并修复,确保高可用。

日志服务

event

node-repair_failed

sls.app.ack.rc.node_repair_failed

节点CVE修复失败

若重要的CVE修复失败,集群安全可能受影响,需紧急评估并修复。

日志服务

event

nodepool-cve-fix-failed

sls.app.ack.rc.node_vulnerability_fix_failed

节点池CVE修复成功

成功应用CVE修复后可降低已知漏洞的安全风险。

日志服务

event

nodepool-cve-fix-succ

sls.app.ack.rc.node_vulnerability_fix_succeed

节点池CVE自动修复已忽略

自动修复被忽略,可能由于兼容性或特定配置引起,需确认安全策略是否合理。

日志服务

event

nodepool-cve-fix-skip

sls.app.ack.rc.node_vulnerability_fix_skipped

节点池kubelet参数配置失败

kubelet配置未能成功更新,可能影响节点性能及资源调度。

日志服务

event

nodepool-kubelet-cfg-failed

sls.app.ack.rc.node_kubelet_config_failed

节点池kubelet参数配置成功

成功应用新的kubelet配置,需确认配置生效并符合预期。

日志服务

event

nodepool-kubelet-config-succ

sls.app.ack.rc.node_kubelet_config_succeed

节点池kubelet升级失败

可能影响集群稳定性和功能性,需确认升级过程和配置。

日志服务

event

nodepool-k-c-upgrade-failed

sls.app.ack.rc.node_kubelet_config_upgrade_failed

节点池kubelet升级成功

确认升级成功后,确保kubelet版本符合集群和应用需求。

日志服务

event

nodepool-k-c-upgrade-succ

sls.app.ack.rc.kubelet_upgrade_succeed

节点池runtime升级成功

节点池中容器运行时升级成功。

日志服务

event

nodepool-runtime-upgrade-succ

sls.app.ack.rc.runtime_upgrade_succeed

节点池runtime升级失败

节点池中容器运行时升级失败。

日志服务

event

nodepool-runtime-upgrade-fail

sls.app.ack.rc.runtime_upgrade_failed

节点池OS镜像升级成功

节点池中的操作系统镜像升级成功。

日志服务

event

nodepool-os-upgrade-succ

sls.app.ack.rc.os_image_upgrade_succeed

节点池OS镜像升级失败

节点池中的操作系统镜像升级失败。

日志服务

event

nodepool-os-upgrade-failed

sls.app.ack.rc.os_image_upgrade_failed

灵骏节点池配置变更成功

灵骏节点池的配置变更成功。

日志服务

event

nodepool-lingjun-config-succ

sls.app.ack.rc.lingjun_configuration_apply_succeed

灵骏节点池配置变更失败

灵骏节点池的配置变更失败。

日志服务

event

nodepool-lingjun-cfg-failed

sls.app.ack.rc.lingjun_configuration_apply_failed

集群节点异常报警规则集

报警项

规则说明

报警来源

Rule_Type

ACK_CR_Rule_Name

SLS_Event_ID

集群节点docker进程异常

集群中节点DockerdContainerd运行时异常。

日志服务

event

docker-hang

sls.app.ack.docker.hang

集群驱逐事件

集群中发生驱逐事件。

日志服务

event

eviction-event

sls.app.ack.eviction

集群GPUXID错误事件

集群中GPU XID异常事件。

日志服务

event

gpu-xid-error

sls.app.ack.gpu.xid_error

集群节点下线

集群中节点下线。

日志服务

event

node-down

sls.app.ack.node.down

集群节点重启

集群中节点重启。

日志服务

event

node-restart

sls.app.ack.node.restart

集群节点时间服务异常

集群中节点时间同步系统服务异常。

日志服务

event

node-ntp-down

sls.app.ack.ntp.down

集群节点PLEG异常

集群中节点PLEG异常。

日志服务

event

node-pleg-error

sls.app.ack.node.pleg_error

集群节点进程异常

集群中节点进程数异常。

日志服务

event

ps-hang

sls.app.ack.ps.hang

集群节点文件句柄过多

节点上的文件句柄数量过多。

日志服务

event

node-fd-pressure

sls.app.ack.node.fd_pressure

集群节点进程数过多

集群节点进程数过多。

日志服务

event

node-pid-pressure

sls.app.ack.node.pid_pressure

删除节点失败

集群删除节点失败事件。

日志服务

event

node-del-err

sls.app.ack.ccm.del_node_failed

添加节点失败

集群添加节点失败事件。

日志服务

event

node-add-err

sls.app.ack.ccm.add_node_failed

托管节点池命令执行失败

集群托管节点池异常事件。

日志服务

event

nlc-run-cmd-err

sls.app.ack.nlc.run_command_fail

托管节点池未提供任务的具体命令

集群托管节点池异常事件。

日志服务

event

nlc-empty-cmd

sls.app.ack.nlc.empty_task_cmd

托管节点池出现未实现的任务模式

集群托管节点池异常事件。

日志服务

event

nlc-url-m-unimp

sls.app.ack.nlc.url_mode_unimpl

托管节点池发生未知的修复操作

集群托管节点池异常事件。

日志服务

event

nlc-opt-no-found

sls.app.ack.nlc.op_not_found

托管节点池销毁节点发生错误

集群托管节点池异常事件。

日志服务

event

nlc-des-node-err

sls.app.ack.nlc.destroy_node_fail

托管节点池节点排水失败

集群托管节点池排水异常事件。

日志服务

event

nlc-drain-node-err

sls.app.ack.nlc.drain_node_fail

托管节点池重启ECS未达到终态

集群托管节点池异常事件。

日志服务

event

nlc-restart-ecs-wait

sls.app.ack.nlc.restart_ecs_wait_fail

托管节点池重启ECS失败

集群托管节点池异常事件。

日志服务

event

nlc-restart-ecs-err

sls.app.ack.nlc.restart_ecs_fail

托管节点池重置ECS失败

集群托管节点池异常事件。

日志服务

event

nlc-reset-ecs-err

sls.app.ack.nlc.reset_ecs_fail

托管节点池自愈任务失败

集群托管节点池异常事件。

日志服务

event

nlc-sel-repair-err

sls.app.ack.nlc.repair_fail

集群资源异常报警规则集

报警项

规则说明

报警来源

Rule_Type

ACK_CR_Rule_Name

SLS_Event_ID

集群节点-CPU使用率≥85%

集群中节点实例CPU使用率超过阈值。默认值85%。

剩余资源不足15%时,可能会超过容器引擎层CPU资源预留。更多信息,请参见节点资源预留策略。这可能引起高频CPU Throttle,最终严重影响进程响应速度。请及时优化CPU使用情况或调整阈值。

关于如何调整阈值,请参见配置报警规则

云监控

metric-cms

node_cpu_util_high

cms.host.cpu.utilization

集群节点-内存使用率≥85%

集群中节点实例内存使用率超过阈值。默认值85%。

剩余资源不足15%时,若仍然使用,水位将超过容器引擎层内存资源预留。更多信息,请参见节点资源预留策略。此场景下,Kubelet将发生强制驱逐行为。请及时优化内存使用情况或调整阈值。

关于如何调整阈值,请参见配置报警规则

云监控

metric-cms

node_mem_util_high

cms.host.memory.utilization

集群节点-磁盘使用率≥85%

集群中节点实例磁盘使用率超过阈值。默认值85%。

关于如何调整阈值,请参见配置报警规则

云监控

metric-cms

node_disk_util_high

cms.host.disk.utilization

集群节点-公网流出带宽使用率≥85%

集群中节点实例公网流出带宽使用率超过阈值。默认值85%。

关于如何调整阈值,请参见配置报警规则

云监控

metric-cms

node_public_net_util_high

cms.host.public.network.utilization

集群节点-inode使用率≥85%

集群中节点实例inode使用率超过阈值。默认值85%。

关于如何调整阈值,请参见配置报警规则

云监控

metric-cms

node_fs_inode_util_high

cms.host.fs.inode.utilization

集群资源-负载均衡7QPS使用率≥85%

集群中负载均衡实例QPS超过阈值。默认值85%。

说明

负载均衡实例,即API-Server、Ingress所关联的负载均衡实例。

关于如何调整阈值,请参见配置报警规则

云监控

metric-cms

slb_qps_util_high

cms.slb.qps.utilization

集群资源-负载均衡网络流出带宽使用率≥85%

集群中负载均衡实例网络流出带宽使用率超过阈值。默认值85%。

说明

负载均衡实例,即API-Server、Ingress所关联的负载均衡实例。

关于如何调整阈值,请参见配置报警规则

云监控

metric-cms

slb_traff_tx_util_high

cms.slb.traffic.tx.utilization

集群资源-负载均衡最大连接数使用率≥85%

集群中负载均衡实例最大连接数使用率超过阈值。默认值85%。

说明

负载均衡实例,即API-Server、Ingress所关联的负载均衡实例。

关于如何调整阈值,请参见配置报警规则

云监控

metric-cms

slb_max_con_util_high

cms.slb.max.connection.utilization

集群资源-负载均衡监听每秒丢失连接数持续≥1

集群中负载均衡实例每秒丢失连接数持续超过阈值。默认值1次。

说明

负载均衡实例,即API-Server、Ingress所关联的负载均衡实例。

关于如何调整阈值,请参见配置报警规则

云监控

metric-cms

slb_drop_con_high

cms.slb.drop.connection

集群节点磁盘空间不足

集群中节点磁盘空间不足异常事件。

日志服务

event

node-disk-pressure

sls.app.ack.node.disk_pressure

集群节点调度资源不足

集群中无调度资源异常事件。

日志服务

event

node-res-insufficient

sls.app.ack.resource.insufficient

集群节点IP资源不足

集群中IP资源不足异常事件。

日志服务

event

node-ip-pressure

sls.app.ack.ip.not_enough

磁盘使用量超过阈值

集群磁盘使用量超过阈值异常。请检查集群磁盘使用情况。

日志服务

event

disk_space_press

sls.app.ack.csi.no_enough_disk_space

ACK管控运维通知报警规则集

报警项

规则说明

报警来源

Rule_Type

ACK_CR_Rule_Name

SLS_Event_ID

ACK集群任务通知

记录和告知管理层相关计划和变更情况。

日志服务

event

ack-system-event-info

sls.app.ack.system_events.task.info

ACK集群任务失败通知

集群操作失败时需注意并及时调查原因。

日志服务

event

ack-system-event-error

sls.app.ack.system_events.task.error

集群弹性伸缩报警规则集

报警项

规则说明

报警来源

Rule_Type

ACK_CR_Rule_Name

SLS_Event_ID

自动扩缩容-扩容节点

自动扩容节点以应对增加的负载请求。

日志服务

event

autoscaler-scaleup

sls.app.ack.autoscaler.scaleup_group

自动扩缩容-缩容节点

当负载下降时,节点自动缩容以节省资源。

日志服务

event

autoscaler-scaledown

sls.app.ack.autoscaler.scaledown

自动扩缩容-扩容超时

扩容过程超时可能指示资源不足或策略不当。

日志服务

event

autoscaler-scaleup-timeout

sls.app.ack.autoscaler.scaleup_timeout

自动扩缩容-缩容空节点

不活跃节点被识别并清理以优化资源使用。

日志服务

event

autoscaler-scaledown-empty

sls.app.ack.autoscaler.scaledown_empty

自动扩缩容-扩容节点失败

扩容失败需立即分析原因并调整资源策略。

日志服务

event

autoscaler-up-group-failed

sls.app.ack.autoscaler.scaleup_group_failed

自动扩缩容-集群不健康

扩缩容影响下集群不健康状态需迅速处理。

日志服务

event

autoscaler-cluster-unhealthy

sls.app.ack.autoscaler.cluster_unhealthy

自动扩缩容-删除长时间未启动节点

清理无效节点以回收资源。

日志服务

event

autoscaler-del-started

sls.app.ack.autoscaler.delete_started_timeout

自动扩缩容-删除未注册节点

处理冗余节点以优化集群资源。

日志服务

event

autoscaler-del-unregistered

sls.app.ack.autoscaler.delete_unregistered

自动扩缩容-缩容失败

缩容失败可能导致资源浪费和负载不均。

日志服务

event

autoscaler-scale-down-failed

sls.app.ack.autoscaler.scaledown_failed

自动扩缩容-删除的节点未完成排水

当自动扩缩容操作删除某个节点时,节点上运行的Pod未能成功驱逐或迁移。

日志服务

event

autoscaler-instance-expired

sls.app.ack.autoscaler.instance_expired

集群应用工作负载报警规则集

报警项

规则说明

报警来源

Rule_Type

ACK_CR_Rule_Name

SLS_Event_ID

Job运行失败

Job任务在执行过程中失败时触发该报警。

阿里云Prometheus

metric-prometheus

job-failed

prom.job.failed

Deployment可用副本状态异常

Deployment的可用副本数量不足时触发该报警,可能导致服务不可用或部分不可用。

阿里云Prometheus

metric-prometheus

deployment-rep-err

prom.deployment.replicaError

Daemonset副本状态异常

DaemonSet的某些副本状态异常(如未能启动或崩溃)时触发该报警,影响到节点的预期行为或服务。

阿里云Prometheus

metric-prometheus

daemonset-status-err

prom.daemonset.scheduledError

Daemonset副本调度异常

DaemonSet未能正确调度一些或所有的节点时触发该报警,可能由于资源限制或调度策略不当。

阿里云Prometheus

metric-prometheus

daemonset-misscheduled

prom.daemonset.misscheduled

集群容器副本异常报警规则集

报警项

规则说明

报警来源

Rule_Type

ACK_CR_Rule_Name

SLS_Event_ID

集群容器副本OOM

集群容器副本Pod或其中进程出现OOM(Out of Memory)。

日志服务

event

pod-oom

sls.app.ack.pod.oom

集群容器副本启动失败

集群容器副本Pod启动失败事件(Pod Start Failed)。

日志服务

event

pod-failed

sls.app.ack.pod.failed

Pod状态异常

Pod的状态不健康(例如Pending、Failed、Unknown等)时触发该报警。

阿里云Prometheus

metric-prometheus

pod-status-err

prom.pod.status.notHealthy

Pod启动失败

Pod频繁启动失败,进入CrashLoopBackOff状态或其他启动失败情况时触发该报警。

阿里云Prometheus

metric-prometheus

pod-crashloop

prom.pod.status.crashLooping

集群存储异常事件报警规则集

报警项

规则说明

报警来源

Rule_Type

ACK_CR_Rule_Name

SLS_Event_ID

云盘容量少于20Gi限制

集群网盘固定限制,无法挂载小于20 GiB的磁盘。请检查所挂载云盘容量大小。

日志服务

event

csi_invalid_size

sls.app.ack.csi.invalid_disk_size

容器数据卷暂不支持包年包月类型云盘

集群网盘固定限制,无法挂载包年包月类型的云盘。请检查所挂载云盘的售卖方式。

日志服务

event

csi_not_portable

sls.app.ack.csi.disk_not_portable

挂载点正在被进程占用,卸载挂载点失败

资源尚未完全释放或者有未终止的活跃进程在访问该挂载点。

日志服务

event

csi_device_busy

sls.app.ack.csi.deivce_busy

无可用云盘

集群存储挂载时无可用云盘异常。

日志服务

event

csi_no_ava_disk

sls.app.ack.csi.no_ava_disk

云盘IOHang

集群出现IOHang异常。

日志服务

event

csi_disk_iohang

sls.app.ack.csi.disk_iohang

磁盘绑定的PVC发生slowIO

集群磁盘绑定的PVC发生slowIO异常。

日志服务

event

csi_latency_high

sls.app.ack.csi.latency_too_high

PersistentVolume状态异常

集群PV发生异常。

阿里云Prometheus

metric-prometheus

pv-failed

prom.pv.failed

集群网络异常事件报警规则集

报警项

规则说明

报警来源

Rule_Type

ACK_CR_Rule_Name

SLS_Event_ID

VPC下存在多路由表

可能导致网络配置复杂化或路由冲突,需要及时优化网络结构。

日志服务

event

ccm-vpc-multi-route-err

sls.app.ack.ccm.describe_route_tables_failed

无可用LoadBalancer

集群无法创建LoadBalancer事件。

日志服务

event

slb-no-ava

sls.app.ack.ccm.no_ava_slb

同步LoadBalancer失败

集群创建LoadBalancer同步失败事件。

日志服务

event

slb-sync-err

sls.app.ack.ccm.sync_slb_failed

删除LoadBalancer失败

集群删除LoadBalancer失败事件。

日志服务

event

slb-del-err

sls.app.ack.ccm.del_slb_failed

创建路由失败

集群创建VPC网络路由失败事件。

日志服务

event

route-create-err

sls.app.ack.ccm.create_route_failed

同步路由失败

集群同步VPC网络路由失败事件。

日志服务

event

route-sync-err

sls.app.ack.ccm.sync_route_failed

Terway资源无效

集群Terway网络资源无效异常事件。

日志服务

event

terway-invalid-res

sls.app.ack.terway.invalid_resource

Terway分配IP失败

集群Terway网络资源分配IP失败异常事件。

日志服务

event

terway-alloc-ip-err

sls.app.ack.terway.alloc_ip_fail

解析Ingress带宽配置失败

集群Ingress网络解析配置异常事件。

日志服务

event

terway-parse-err

sls.app.ack.terway.parse_fail

Terway分配网络资源失败

集群Terway网络资源分配失败异常事件。

日志服务

event

terway-alloc-res-err

sls.app.ack.terway.allocate_failure

Terway回收网络资源失败

集群Terway网络资源回收失败异常事件。

日志服务

event

terway-dispose-err

sls.app.ack.terway.dispose_failure

Terway虚拟模式变更

集群Terway网络虚拟模式变更事件。

日志服务

event

terway-virt-mod-err

sls.app.ack.terway.virtual_mode_change

Terway触发Pod IP配置检查

集群Terway网络触发Pod IP配置检查事件。

日志服务

event

terway-ip-check

sls.app.ack.terway.config_check

Ingress重载配置失败

集群Ingress网络配置重载异常事件。请检查Ingress配置是否正确。

日志服务

event

ingress-reload-err

sls.app.ack.ingress.err_reload_nginx

集群重要审计操作报警规则集

报警项

规则说明

报警来源

Rule_Type

ACK_CR_Rule_Name

SLS_Event_ID

发生集群登录容器/执行命令操作

可能是维护或异常活动,审计操作可用于追踪及安全检测。

日志服务

event

audit-at-command

sls.app.k8s.audit.at.command

发生集群节点可调度状态变化

影响服务效率及资源负载,需即时跟进调整意图及验证效果。

日志服务

event

audit-cordon-switch

sls.app.k8s.audit.at.cordon.uncordon

发生集群删除资源操作

资源删除可能是计划性或异常行为,建议审计以防范风险。

日志服务

event

audit-resource-delete

sls.app.k8s.audit.at.delete

发生集群节点发生排水/驱逐行为

反映出节点负载压力或策略执行,需确认其必要及影响。

日志服务

event

audit-drain-eviction

sls.app.k8s.audit.at.drain.eviction

发生集群公网登录行为

公网登录可能存在安全隐患,需确认登录和访问权限配置。

日志服务

event

audit-internet-login

sls.app.k8s.audit.at.internet.login

发生集群节点label更新

标签更新用于区分和管理节点资源,正确性影响运维效率。

日志服务

event

audit-node-label-update

sls.app.k8s.audit.at.label

发生集群节点taint更新

节点污点配置变化,影响调度策略和容忍度机制,需正确执行和审核配置。

日志服务

event

audit-node-taint-update

sls.app.k8s.audit.at.taint

发生集群资源修改操作

资源配置的实时修改可能指示出应用策略的调整,需验证其是否符合业务目标。

日志服务

event

audit-resource-update

sls.app.k8s.audit.at.update

集群安全异常事件报警规则集

报警项

规则说明

报警来源

Rule_Type

ACK_CR_Rule_Name

SLS_Event_ID

安全巡检发现高危风险配置

集群安全巡检发现高危风险配置事件。

日志服务

event

si-c-a-risk

sls.app.ack.si.config_audit_high_risk

集群巡检异常事件报警规则集

报警项

规则说明

报警来源

Rule_Type

ACK_CR_Rule_Name

SLS_Event_ID

集群巡检发现异常

自动巡检机制捕捉到潜在异常,需分析具体问题与日常维护策略。

日志服务

event

cis-sched-failed

sls.app.ack.cis.schedule_task_failed

报警处理指导

节点磁盘达到阈值触发 Pod 驱逐(Evicted)

报警信息

(combined from similar events): Failed to garbage collect required amount of images. Attempted to free XXXX bytes, but only found 0 bytes eligible to free

问题现象

Pod 状态显示为 Evicted。Node 节点出现磁盘压力(The node had condition: [DiskPressure].

报警原因

节点磁盘空间使用达到驱逐阈值(默认 85%),默认kubelet会进行压力驱逐,GC回收一些无用的镜像文件,导致 Pod 被驱逐(Evicted)。可以登录目标节点,通过df -h 命令查看磁盘使用情况。

解决方案

  1. 登录目标节点(containerd runtime环境),使用如下命令清理无用容器镜像,释放磁盘空间。k

    crictl rmi --prune
  2. 清理日志或扩容节点磁盘

  3. 调整相关阈值。

    • 根据实际业务需求调整 kubelet 的镜像回收(garbage collection)阈值,以减少节点因磁盘占用过高导致的 Pod 驱逐。具体操作请参见自定义节点池kubelet配置

    • 节点磁盘使用率达到或超过 85% 时,将收到相关报警。可根据实际业务需求,通过配置报警规则,在 YAML 配置中的 node_disk_util_high 报警规则项修改告警阈值。

建议与预防措施

  • 对于频繁出现该类问题的节点,建议评估应用实际存储需求,合理规划资源申请和节点磁盘容量。

  • 建议定期关注存储使用监控,及时发现并处理潜在风险。详情请参见节点存储监控大盘

Pod OOMKilling

报警信息

pod was OOM killed. node:xxx pod:xxx namespace:xxx uuid:xxx

问题现象

Pod状态异常,且事件内容中出现PodOOMKilling

解决方案

OOM 触发位置分为节点级和容器CGroup级。

  • 原因说明:

    • 容器CGroupOOM:Pod实际内存使用超过为其设置的memory limits,被 Kubernetes cgroup 限制强制终止。

    • 节点级OOM:通常发生在节点上运行了过多未设置资源限制(requests/limits)的Pod,或者某些进程(可能是非Kubernetes管理的进程)消耗了大量内存。

  • 判断方法:登录目标节点,执行命令dmesg -T | grep -i "memory",输出内容中出现类似out_of_memory即表示发生过OOM,如日志输出伴随出现Memory cgroup即为容器CGroupOOM,否则为节点级OOM。

  • 处理建议

更多OOM现象出现的原因及解决方案,请参见出现OOM Killer的原因及解决方案

Pod状态为CrashLoopBackOff

Pod内进程非预期退出,ACK会尝试重启此Pod,多次重启后均无法达到终态即会表示为 CrashLoopBackOff状态。排查路径如下:

  1. 登录容器服务管理控制台,在左侧导航栏选择集群列表

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择工作负载 > 容器组

  3. 列表中找到异常的Pod,单击目标右侧操作列下的详情

  4. 检查Pod事件,查看异常事件的对应描述信息进行分析。

  5. 查看Pod日志,可能会记录进程发生异常的原因。

    说明

    Pod已重启,如需查看上一个Pod的日志请勾选显示上个容器退出时的日志

    通过控制台最多只能查看最近 500 行日志。如需查看更多历史日志,建议接入日志持久化方案进行统一采集与存储。