CnOps 智能运维与可观测社区
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题
导航菜单
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题

CnOps 智能运维与可观测社区

愿景

CnOps 智能运维与可观测社区是一个以"智能运维与可观测"为核心的开放、包容、分享的技术社区,旨在聚集运维专家、开发者和爱好者,共同探讨、学习和分享可观测最佳实践与最新技术,与众多技术社区合作互动,共同探讨交叉领域的技术挑战,推动可观测领域的创新与进步。

内容社区

  • 实践文章
  • 视频课程
  • 开源项目
  • 常见问答
  • 开发者工具

友情链接

  • Prometheus
  • Grafana Lab
  • OpenTelemetry
  • LoongCollector

关注我们

阿里云云原生公众号阿里云云原生
阿里云可观测公众号阿里云可观测

Copyright © 2026 CnOps 社区. All rights reserved.

首页/开源项目/LoongCollector/采集配置
文档目录
采集配置系统参数日志

LoongCollector

采集配置

在 LoongCollector 中,采集配置(英文 collection pipeline;代码与实现中也常简称 pipeline)指一组 inputs / processors / aggregators / flushers(及可选 extensions)组成的采集与投递定义,通常对应一个配置文件。 | 类别 | 说明 | 默认目录(相对 conf/,本地示意) |...

采集配置(collection pipeline)

在 LoongCollector 中,采集配置(英文 collection pipeline;代码与实现中也常简称 pipeline)指一组 inputs / processors / aggregators / flushers(及可选 extensions)组成的采集与投递定义,通常对应一个配置文件。

存放位置与类别

类别 说明 默认目录(相对 conf/,本地示意)
持续采集配置 长期运行、可持续热加载更新 ./continuous_pipeline_config/local(及按需的 remote/)
一次性采集配置 运行完毕即结束的离线/单次任务 ./onetime_pipeline_config/local

上述路径位于 LoongCollector 配置根目录(常为 $LOONGCOLLECTOR_ROOT/conf 或安装包下的 conf/)。开启 logtail_mode 等兼容布局时,持续采集配置的目录名在实现上可能映射为 config/,以运行环境为准。

实例级配置(instance_config) 与采集配置是不同概念:用于进程级参数(如资源阈值、默认凭证、扫描间隔等),位于 conf/instance_config/(如 local/loongcollector_config.json),不放在 continuous_pipeline_config 或 onetime_pipeline_config 下。详见 系统参数 与 目录结构说明。

格式

采集配置定义文件支持 JSON 与 YAML(扩展名与解析语义以实际部署版本为准)。本文档、example_config/data_pipelines 与 E2E 中的示例默认采用 YAML;历史 JSON 样例维护时应逐步改为 YAML。

单篇插件文档中的约定:采集配置相关代码块使用 YAML;「输出」(序列化后的一条或多条数据示意)使用 JSON,与常见行协议一致。

每个采集配置的一级字段如下(与实现不一致时以当前版本源码为准:core/config/CollectionConfig.cpp、core/collection_pipeline/GlobalConfig.*、pkg/config/global_config.go)。

参数 类型 是否必填 默认值 说明
enable bool 否 true 是否启用当前采集配置。
global object 否 空 采集配置级全局参数,C++ 与 Go 侧都会读取;未列出的键可能作为扩展字段传给 Go 插件(见 GlobalConfig::Init 与 extendedParams)。
global.StructureType string 否 v1 插件系统配置结构版本:v1 或 v2(影响 Go 侧 PluginRunner 类型;未设置时按 v1)。
global.InputIntervalMs int 否 1000 扩展(Go)Input 侧默认调度间隔,单位毫秒(不限于 MetricInput;与 pkg/config.GlobalConfig.InputIntervalMs 默认一致)。
global.InputMaxFirstCollectDelayMs int 否 10000 扩展 Input 首次采集前随机等待上限(毫秒);若大于 InputIntervalMs 则实际按间隔封顶(见 Go GlobalConfig 注释)。
global.EnableTimestampNanosecond bool 否 false 是否在序列化等路径中启用纳秒时间戳(C++ GlobalConfig 与传给 Go 的全局字段一致)。
global.UsingOldContentTag bool 否 false 是否使用旧版 content Tag 行为(C++ GlobalConfig)。
global.PipelineMetaTagKey object 否 空 重命名或删除采集配置级 Tag。map 中 key 为原 tag 逻辑名(如 HOST_NAME),value 为新物理 tag 名;空串表示删除,__default__ 表示默认值。可配置项见下文表 1。
global.AgentEnvMetaTagKey object 否 空 环境变量元数据 Tag 映射(ProcessorTagNative 等读取此键名)。C++ GlobalConfig::sNativeParam 中还包含 AgentMetaTagKey,用于与 Go 管线 JSON 交互;若与文档/示例不一致,以当前版本源码及单测为准。
global.ExcutionTimeout uint 条件 — 仅一次性采集配置:运行超时(秒),键名为源码中的 ExcutionTimeout(拼写与实现对齐);范围在代码中裁剪为约 600~604800。
global.ForceRerunWhenUpdate bool 否 false 仅一次性采集配置:配置更新且 inputs 哈希未变时是否强制重新跑任务。
inputs [object] 是 / 输入插件列表。当包含 input_file、input_container_stdio 或 input_static_file_onetime 等单例输入时,仅允许 1 个输入;其它组合需满足「原生与扩展 Input 不可混用」等规则,以加载报错为准。
processors [object] 否 空 处理插件列表。
aggregators [object] 否 空 聚合插件列表。目前每个采集配置最多 1 个聚合插件,且仅在与 Go 投递路径组合时允许,详见 CollectionConfig::Parse。
flushers [object] 是 / 输出插件列表,至少 1 个。原生多 Flusher 分发时可在各 Flusher 上配置 Match(路由),非顶层字段。
extensions [object] 否 空 扩展插件列表。

其中,inputs、processors、aggregators、flushers 和 extensions 中可挂载任意多个插件。

说明:global 里列于 GlobalConfig::sNativeParam 的键不会进入 extendedParams;其余键会并入传给 Go 插件的 global(字段名与结构体定义以 GlobalConfig::Init + AddExtendedGlobalParamToGoPipeline 为准)。

组织形式与热加载

默认同级目录下每个文件对应一条持续采集配置;文件名(不含扩展名)通常用作采集配置名称标识。

持续采集配置定义所在目录(默认可监听 continuous_pipeline_config/local 等来源)支持热加载:新增或修改文件后,LoongCollector 会感知并重新加载;最长等待时间默认约 10 秒,可通过实例级参数 config_scan_interval(见 系统参数)调整。

一次性采集配置的加载与生命周期策略以具体发行版与输入类型(如 input_static_file_onetime)为准,文件仍落在 onetime_pipeline_config/local(及对应 remote/)下。

示例

一条典型的持续采集配置如下:

enable: true
inputs:
  - Type: input_file
    FilePaths: 
      - /home/test-log/reg.log
processors:
  - Type: processor_parse_regex_native
    SourceKey: content
    Regex: (\d*-\d*-\d*)\s(.*)
    Keys:
      - time
      - msg
flushers:
  - Type: flusher_stdout
    OnlyStdout: true

更多场景可参考仓库 example_config。

  • 表 1:Tag 相关项及默认值
    配置项 是否默认添加 默认值
    HOST_NAME 是 hostname
    HOST_IP 是(开源版) host_ip
    HOST_ID 是(企业版) host_id
    CLOUD_PROVIDER 是(企业版) cloud_provider
    AGENT_TAG 是(企业版) agent_tag

文章大纲