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

云原生日志采集插件

插件简介

云原生日志采集插件(log-agent)是基于开源fluent-bit和opentelemetry构建的云原生日志、K8s事件采集插件。log-agent安装后,会自动创建fluent-bit容器组件,用于日志采集。此外,log-agent支持基于CRD的日志采集策略,可以根据您配置的策略规则,对集群中的容器标准输出日志、容器文件日志及K8s事件日志进行采集与转发。同时支持上报K8s事件到AOM,用于配置事件告警,默认上报所有异常事件和部分正常事件。采集日志的详细使用方法请参见收集容器日志

fluent-bit容器组件由华为云免费提供,不收取任何费用。

日志采集可靠性说明

日志系统的核心功能在于记录业务组件的全生命周期状态数据(包括启动初始化、退出、运行时信息及异常事件等),主要服务于组件运行状态查看与故障根因分析等运维场景。

请注意标准输出流(stdout/stderr)及本地日志文件采用非持久化存储机制,其数据完整性受制于以下风险因素:

  • 日志轮转压缩机制可能触发历史文件清除。
  • Kubernetes Pod实例终止导致的临时存储卷回收。
  • 节点存储空间限制触发的操作系统自动清理。

尽管云原生日志采集插件通过多级缓冲、优先级队列、断点续传等机制优化采集可靠性,但在以下场景仍存在日志采集丢失的可能:

  • 业务日志吞吐量超过采集端处理能力。
  • 业务Pod终止并立即被容器引擎回收。
  • 日志采集器Pod运行异常。

以下是基于云原生日志管理的最佳实践建议,请您认真考虑并采纳:

  • 请通过专用高可靠性通道记录并持久化关键业务数据(如金融交易)。
  • 请勿在日志中进行记录客户信息、支付凭证、会话令牌等敏感数据。

约束与限制

云原生日志采集插件有如下限制:
  • 每个集群限制50条日志规则。
  • 不采集.gz、.tar、.zip后缀类型的日志文件。
  • 若容器运行时为containerd模式,容器标准输出日志中的多行配置暂不生效。
  • 每个集群限制单行日志采集速率不超过10000条/秒,多行日志不超过2000条/秒。

权限说明

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

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

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

安装插件

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

    表1 插件规格配置

    参数

    参数说明

    实例数

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

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

    容器

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

    • log-operator:负责解析及更新日志规则的组件。
    • otel-collector:负责集中式日志转发的组件,将fluent-bit收集的日志转发到LTS。

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

组件说明

表2 log-agent组件

容器组件

说明

资源类型

fluent-bit

轻量级的日志收集器和转发器,用于采集日志。

Pod

log-operator

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

Deployment

otel-collector

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

Deployment

相关文档