You need to enable JavaScript to run this app.
文档中心
日志服务

日志服务

复制全文
下载 pdf
管理 LogCollector
设置 LogCollector 启动参数
复制全文
下载 pdf
设置 LogCollector 启动参数
为避免 LogCollector 过度消耗服务器的资源,从而影响其他服务的正常运行,日志服务对 LogCollector 采集性能做了限制。当您需要提高 LogCollector 采集性能时,可调整允许 LogCollector 使用的 CPU 阈值和内存阈值。本文介绍如何设置 LogCollector 启动参数。​
设置场景​
遇到以下场景时,可修改 LogCollector 的资源配置。​
  • 需要采集的日志文件数目大(例如同时采集的文件数超过 100 个),占用大量内存。​
  • 日志数据流量大,导致 LogCollector CPU 占用率高。​
  • 查询日志时,发现存在采集延迟。​
  • LogCollector 部分限制不满足您的要求。​
推荐参数值​
根据实际经验推荐如下参数配置,适用于普通 JSON 文件的采集场景。完整正则模式和分隔符模式性能与JSON模式接近,单行全文和多行全文模式性能为 JSON 模式的 2 倍。由于数据的复杂度、采集的文件数量都会对 CPU、内存消耗产生影响,请参照下述表格并结合实际情况按需调整。​
  • 宿主机环境​
  • ​
    参数​
    默认采集速率​
    采集速率大于 20MB/s​
    采集速率大于 40MB/s​
    采集速率大于 60MB/s​
    max_procs​
    1​
    2​
    3​
    4​
    max_mem​
    1GiB​
    2GiB​
    3GiB​
    4GiB​
    ​
  • 容器环境​
  • ​
    参数​
    默认采集速率​
    采集速率大于 20MB/s​
    采集速率大于 40MB/s​
    采集速率大于 60MB/s​
    max_procs​
    1​
    2​
    3​
    4​
    max_mem​
    1GiB​
    2GiB​
    3GiB​
    4GiB​
    resources.limits.cpu​
    1000m​
    2000m​
    3000m​
    4000m​
    resources.limits.memory​
    1GiB​
    2GiB​
    3GiB​
    4GiB​
    ​
  • LogCollector 性能极限如下表所示。​
说明​
因测试环境与生产环境不同,实际采集性能可能存在差异。​
  • ​
    采集模式​
    性能极限​
    单行全文模式​
    300 MB/s​
    多行全文模式​
    200 MB/s​
    JSON 模式​
    150 MB/s​
    分隔符模式​
    120 MB/s​
    单行完整正则模式​
    100 MB/s​
    多行完整正则模式​
    100 MB/s​
    ​
设置启动参数​
  1. 修改配置文件。​
  • 文件路径说明如下表所示:​
  • ​
    Logcollector 版本 ​
    安装场景​
    文件路径​
    Logcollector v2.2.0 及后续版本​
    宿主机场景​
    /usr/local/logcollector/etc/logcollector.yml​
    ​
    容器场景​
    通过修改 configmap 来修改 LogCollector 配置文件。​
    ​
    kubectl edit configmap -n kube-syetem logcollector-config​
    ​
    Logcollector v2.2.0 之前版本​
    宿主机场景​
    /usr/local/filebeat-7.12.0/etc/filebeat.yml​
    ​
    容器场景​
    通过修改 configmap 来修改 LogCollector 配置文件。​
    ​
    kubectl edit configmap -n kube-syetem logcollector-config​
    ​
    ​
说明​
如何查看 LogCollector 版本,请参考查看软件版本。​
  1. 根据需求设置启动参数。​
  • 启动参数示例如下:​
  • ​
    daemonset_mode: true​
    autodiscover:​
    providers:​
    - type: kubernetes​
    cleanup_timeout: 15s​
    ​
    max_procs: 2​
    max_mem: 2GiB​
    log_max_bytes: 512KiB​
    ...​
    ​
说明​
下表只列出您需要关注的常用启动参数,未列出的启动参数,保持默认配置即可。​
  • ​
    配置项​
    类型​
    说明​
    示例​
    max_procs​
    int​
    允许 LogCollector 使用的 CPU 阈值。​
    • 取值范围:1 ~ 当前机器的 CPU 核心数。​
    • 默认值:2。​
    max_procs 为软限制,实际 LogCollector 占用的 CPU 可能会超过限制值。​
    max_procs: 2​
    max_mem​
    string​
    允许 LogCollector 使用的内存阈值。​
    • 取值范围:256MiB ~ 8GiB​
    • 默认值:2GiB​
    max_mem 为软限制,实际 LogCollector 占用的内存可能超过限制值。​
    max_mem: 2GiB​
    log_max_bytes​
    string​
    每条日志读取的最大长度。​
    • 取值范围:16KiB ~ 8MiB​
    • 默认值:512KiB​
    log_max_bytes: 512KiB​
    autodiscover​
    autodiscover​
    容器发现模块。详细说明,请参考下表。​
    ​
    autodiscover:​
    providers:​
    - type: kuberbetes​
    cleanup_timeout: 15s​
    ​
    input.log.enable_inotify​
    bool​
    是否启用 inotify 机制。​
    • true(默认值):启用 inotify 机制监控日志。​
    • false:关闭 inotify 机制。可能导致存活时间不足 20 秒的日志文件出现漏采集的情况。​
    input.log.enable_inotify:false​
    ​
  • autodiscover​
  • ​
    参数​
    类型​
    说明​
    Providers​
    Array of Object​
    容器发现的具体提供者。目前仅支持 kubernetes。详细说明请参考下表。​
    ​
  • kubernetes​
  • ​
    参数​
    类型​
    说明​
    示例​
    cleanup_timeout​
    string​
    Pod 结束之后延迟结束采集的时间。默认为 15s。​
    cleanup_timeout: 15s​
    ​
​
最近更新时间:2026.08.26 17:22:21
这个页面对您有帮助吗?
有用
有用
无用
无用