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

CnOps 智能运维与可观测社区

愿景

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

内容社区

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

友情链接

  • Prometheus
  • Grafana Lab
  • OpenTelemetry
  • LoongCollector

关注我们

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

Copyright © 2026 CnOps 社区. All rights reserved.

首页/开源项目/LoongCollector/如何自定义构建产物中默认包含的插件
文档目录
开发环境代码风格数据模型(C++)数据模型(Golang)
开源插件开发引导
如何开发扩展Input插件如何开发扩展Processor插件如何开发扩展Aggregator插件如何开发扩展Flusher插件如何开发Extension插件如何开发外部私有插件如何自定义构建产物中默认包含的插件插件配置项基本原则

LoongCollector

如何自定义构建产物中默认包含的插件

LoongCollector 通过 插件引用配置文件 来定义要包含在构建产物中的插件,该文件中默认包含了LoongCollector 仓库中的所有插件。 同时,LoongCollector 也以同样的机制支持引入外部私有插件,关于如何开发外部插件,请参阅如何开发外部私有插件。LoongCollector 默认会检测仓库根目录下的 externalplugins.yml 文件来查找外部插件定义。...

如何自定义构建产物中默认包含的插件

插件引用机制

LoongCollector 通过 插件引用配置文件 来定义要包含在构建产物中的插件,该文件中默认包含了LoongCollector 仓库中的所有插件。

同时,LoongCollector 也以同样的机制支持引入外部私有插件,关于如何开发外部插件,请参阅如何开发外部私有插件。LoongCollector 默认会检测仓库根目录下的 external_plugins.yml 文件来查找外部插件定义。

当执行诸如 make all 等构建指令时,该配置文件会被解析并生成 go import 文件到 plugins/all 目录下。

插件引用配置文件的格式定义如下:

# 需要注册的插件,按适用系统分类(以下为结构说明,# 表示 YAML 注释)
plugins:
  common:
    - gomod: code.private.org/private/custom_plugins v1.0.0  # 可选,外部插件 Go module
      import: code.private.org/private/custom_plugins        # 可选,代码中 import 的包路径
      path: ../custom_plugins                                # 可选,replace 本地路径,用于调试
  windows: []
  linux: []

project:
  replaces: []     # 可选,解决多模块依赖冲突
  go_envs:         # 可选,如私有仓库 GOPRIVATE
    GOPRIVATE: "*.code.org"
  git_configs:     # 可选,私有仓库鉴权 url insteadof 等
    url.https://user:token@github.com/user/.insteadof: https://github.com/user/

自定义构建产物中包含的插件

方式一:修改默认的 `plugins.yml` 或 `external_plugins` 文件

如前文所述,您可以通过直接修改默认的 插件引用配置文件 文件内容,来选择要包含在构建产物中的插件。

方式二:自定义文件

您也可以通过指定一个自定义的插件引用配置文件来指导构建,该文件可以是一个本地文件或者远程文件url,该文件的内容格式应当与默认的 plugins.yml文件一致。

假设您自定义的插件引用配置文件名为 /tmp/custom_plugins.yml,可以通过设置 PLUGINS_CONFIG_FILE 环境变量为该文件的路径来指导构建,如:

PLUGINS_CONFIG_FILE=/tmp/custom_plugins.yml make all

注:PLUGINS_CONFIG_FILE 支持多个配置文件路径,用英文逗号分割。

文章大纲