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

采集Kubernetes事件

CCE 云原生日志采集插件插件可采集Kubernetes事件上报到云日志服务(LTS)和应用运维管理(AOM),用于保存事件信息和事件告警。

Kubernetes事件上报云日志服务(LTS)

根据不同的场景,开通Kubernetes事件采集的步骤如下:

开通日志中心时,可通过勾选采集Kubernetes事件,创建默认日志采集策略,采集所有事件上报到LTS。

  1. 登录云容器引擎(CCE)控制台,单击集群名称进入集群,选择左侧导航栏的“日志中心”。
  2. 未进行授权的用户需要先授权,已授权的用户直接跳转下一步。

    在弹出框中单击“确认授权”。

    图1 添加授权

  3. 页面单击“开启”,等待约30秒后,页面自动跳转。
    图2 开启
    • 采集容器标准输出:开启后,将创建名为default-stdout的日志策略,并上报所有命名空间下的标准输出到云日志服务(LTS)。
    • 采集Kubernetes事件:开启后,将创建名为default-event的日志策略,并上报所有命名空间下的Kubernetes事件到云日志服务(LTS)。
    • 采集插件日志(NGINX Ingress控制器容器标准输出):需要安装NGINX Ingress控制器插件,并在插件中开启“日志采集”功能。

      开启后,将创建名为default-nginx-ingress的日志策略,并上报所有命名空间下带有采集标签的nginx-ingress容器标准输出到云日志服务(LTS)。

如果集群已开通日志中心,但未开通采集Kubernetes事件,或者删除了对应的日志策略,您可以参考以下步骤手动创建一个日志采集策略。

  1. 登录云容器引擎(CCE)控制台,单击集群名称进入集群,选择左侧导航栏的“日志中心”。
  2. 右上角单击“日志采集策略”,将显示当前集群所有上报LTS的日志策略。
  3. 单击上方“创建日志采集策略”,勾选“采集Kubernetes事件”,然后单击“确定”。
    图3 创建日志策略

  4. 创建完成后,您可直接在“日志中心”页面查看日志。选择日志策略配置的日志流名称,即可查看上报到云日志服务(LTS)的事件。
    图4 查看事件

Kubernetes事件上报应用运维管理(AOM)

自1.3.2版本起,云原生日志采集插件默认会将上报所有Warning级别事件以及部分Normal级别事件到应用运维管理(AOM),上报的事件可用于配置告警。当集群版本为1.19.16、1.21.11、1.23.9或1.25.4及以上时,安装云原生日志采集插件后,事件上报AOM将不再由控制面组件上报,改为由云原生日志采集插件上报,卸载插件后将不再上报事件到AOM。

自定义事件上报

若已上报的事件不能满足需求,可通过修改配置,修改需要上报到应用运维管理(AOM)的事件。

  1. 登录云容器引擎(CCE)控制台,单击集群名称进入集群,选择左侧导航栏的“配置中心”。
  2. 选择“监控运维配置”页签,在“日志配置”中修改Kubernetes事件上报至AOM的策略。

    • 异常事件上报:默认开启,会将所有异常事件上报至AOM。您可以单击“配置黑名单”,将不需要上报的事件添加至黑名单进行管理,其中“事件名称”可通过CCE事件列表查询。
    • 普通事件上报:开启后,会将普通事件上报至AOM,系统默认配置了部分需要上报的普通事件。如果您需要自定义上报的事件,可以单击“配置白名单”,将需要上报添加至白名单进行管理,其中“事件名称”可通过CCE事件列表查询。

  3. 配置修改完成后,单击“确认配置”。
  1. 在集群上执行以下命令,编辑当前的事件采集配置。

    kubectl edit logconfig -n kube-system default-event-aom

  2. 根据需要修改事件采集配置。

    apiVersion: logging.openvessel.io/v1
    kind: LogConfig
    metadata:
      annotations:
        helm.sh/resource-policy: keep
      name: default-event-aom
      namespace: kube-system
    spec:
      inputDetail:    #采集端配置
        type: event    #采集端类型,请勿修改
        event:
          normalEvents:    #Normal级别事件采集配置
            enable: true    #是否开启Normal级别事件采集
            includeNames:    #需要采集的事件名,不指定则采集所有事件
            - NotTriggerScaleUp
            excludeNames:    #不采集的事件名,不指定则采集所有事件
            - ScaleDown
          warningEvents:    #Warning级别事件采集配置
            enable: true    #是否开启Warning级别事件采集
            includeNames:    #需要采集的事件名,不指定则采集所有事件
            - NotTriggerScaleUp
            excludeNames:    #不采集的事件名,不指定则采集所有事件
            - ScaleDown
      outputDetail:
        type: AOM    #输出端类型,请勿修改
        AOM:
          events:
          - name: DeleteNodeWithNoServer    #事件名,必选
            resourceType: Namespace    #事件对应的资源类型
            severity: Major    #事件上报到AOM后的事件级别,默认Major。可选值:Critical:紧急;Major:重要;Minor:次要;Info:提示