更新时间:2024-04-25 GMT+08:00

云原生日志采集插件

插件简介

云原生日志采集插件(log-agent)是基于开源fluent-bit和opentelemetry构建的云原生日志、K8s事件采集插件。log-agent支持基于CRD的日志采集策略,可以根据您配置的策略规则,对集群中的容器标准输出日志、容器文件日志、节点日志及K8s事件日志进行采集与转发。同时支持上报K8s事件到AOM,用于配置事件告警,默认上报所有异常事件和部分正常事件。

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

约束与限制

仅支持1.17及以上版本集群。

插件性能规格

性能项

说明

备注

单条日志大小

单条日志不得超过512k,多行日志采集则每行日志单独计算长度。

不涉及

最大采集文件数

单个节点所有日志采集规则监听的文件数不超过4095个文件。

不涉及

日志采集速率

  • 插件低于1.5.0版本,每个集群限制单行日志采集速率不超过10000条/秒,多行日志不超过2000条/秒。
  • 插件为1.5.0及以上版本,单节点限制日志采集速率不超过20000条/s、10MB/s。

超过限制尽可能提供服务,不保证服务质量。

配置更新

配置更新生效的延时约1-3分钟。

不涉及

权限说明

云原生日志采集插件中的fluent-bit组件会根据用户的采集配置,读取各节点上容器标准输出、容器内文件日志以及节点日志并采集。

fluent-bit组件运行需要以下权限:

  • CAP_DAC_OVERRIDE:忽略文件的 DAC 访问限制。
  • CAP_FOWNER:忽略文件属主 ID 必须和进程用户 ID 相匹配的限制。
  • DAC_READ_SEARCH:忽略文件读及目录搜索的 DAC 访问限制。
  • SYS_PTRACE:允许跟踪任何进程。

安装插件

  1. 登录CCE控制台,单击集群名称进入集群,在左侧导航栏中选择“插件中心”,在右侧找到云原生日志采集插件,单击“安装”
  2. 在安装插件页面,设置“规格配置”

    表1 插件规格配置

    参数

    参数说明

    插件规格

    该插件可配置“小规格”“大规格”“自定义”规格。

    实例数

    选择上方插件规格后,显示插件中的实例数。

    选择“自定义”规格时,您可根据需求调整插件实例数。

    容器

    log-agent插件包含以下容器,您可根据需求自定义调整规格:

    • fluent-bit:日志收集器,以DaemonSet形式安装在每个节点。
    • cop-logs:负责采集侧配置文件生成及更新的组件。
    • log-operator:负责解析及更新日志规则的组件。
    • otel-collector:负责集中式日志转发的组件,将fluent-bit收集的日志转发到LTS。

  3. 设置插件实例的“调度策略”

    调度策略对于DaemonSet类型的插件实例不会生效。

    表2 插件调度配置

    参数

    参数说明

    多可用区部署

    • 优先模式:优先将插件的Deployment实例调度到不同可用区的节点上,如集群下节点不满足多可用区,插件实例将调度到单可用区。
    • 强制模式:插件Deployment实例强制调度到不同可用区的节点上,如集群下节点不满足多可用区,插件实例将无法全部运行。

  4. 完成以上配置后,单击“安装”

组件说明

表3 log-agent组件

容器组件

说明

资源类型

fluent-bit

轻量级的日志收集器和转发器,部署在每个节点上采集日志。

DaemonSet

cop-logs

负责生成采集文件的软链接,和fluent-bit运行在同一Pod。

DaemonSet

log-operator

负责生成内部的配置文件。

Deployment

otel-collector

负责收集来自不同应用程序和服务的日志数据,集中后上报至LTS。

Deployment

插件使用说明

该插件支持采集容器标准输出日志、容器文件日志、节点日志及K8s事件日志。您可以选择使用云日志服务(LTS)或应用运维管理服务(AOM)存储日志,但二者支持的日志类型存在差异,详情请参见表4

表4 日志存储位置说明

日志存储位置

支持的日志类型

使用说明

LTS

  • 容器标准输出日志
  • 容器文件日志
  • 节点日志
  • Kubernetes事件

请前往日志中心创建策略,具体配置方法请参见通过云原生日志采集插件采集容器日志

AOM

Kubernetes事件

当集群版本为1.19.16、1.21.11、1.23.9或1.25.4及以上时,默认上报所有异常事件和部分正常事件,具体配置方法请参见Kubernetes事件上报应用运维管理(AOM)

版本记录

表5 云原生日志采集插件版本记录

插件版本

支持的集群版本

更新特性

1.4.5

v1.21

v1.23

v1.25

v1.27

v1.28

修复部分问题

1.4.2

v1.21

v1.23

v1.25

v1.27

v1.28

  • 支持v1.28集群
  • 支持本地集群日志采集
  • 支持GPU事件上报AOM字段特殊处理

1.3.2

v1.17

v1.19

v1.21

v1.23

v1.25

支持Kubernetes事件上报至AOM

1.3.0

v1.17

v1.19

v1.21

v1.23

v1.25

支持v1.25集群

1.2.3

v1.17

v1.19

v1.21

v1.23

-

1.2.2

v1.17

v1.19

v1.21

v1.23

log-agent是基于开源fluent-bit和opentelemetry构建的云原生日志采集插件。log-agent支持基于CRD的日志采集策略,可以根据您配置的策略规则,对集群中的容器标准输出日志、容器文件日志、节点日志及K8s事件日志进行采集与转发。