For the complete documentation index, see llms.txt. This page is also available as Markdown.

开源插件开发引导

了解 LoongCollector 插件

LoongCollector 插件的实现原理、整体架构、系统设计等介绍,请参考插件系统

原生插件开发流程(C++语言)

LoongCollector 原生插件的开发主要有以下步骤:

  1. 创建Issue,描述开发插件功能,会有社区同学参与讨论插件开发的可行性,如果社区review 通过,请参考步骤2继续进行。

  2. 进行单元测试或 E2E 测试,请参考 单元测试E2E测试

  3. 提交Pull Request。

扩展插件开发流程(go语言)

LoongCollector 插件的开发主要有以下步骤:

  1. 创建Issue,描述开发插件功能,会有社区同学参与讨论插件开发的可行性,如果社区review 通过,请参考步骤2继续进行。

  2. 实现相应接口。

  3. 通过init函数注册插件。

  4. 将插件加入插件引用配置文件common 配置节;若仅运行于指定系统,请添加到 linuxwindows。构建时会根据该文件生成 plugins/all/all.go(含 all_linux.go / all_windows.go),请勿手改生成文件;改完后执行 make all(或你常用的构建目标)以重新生成并完成链接。

  5. 进行单元测试或 E2E 测试,请参考 单元测试E2E测试

  6. 使用 make lint 检查代码规范。

  7. 提交Pull Request。

在开发时,Logger 接口自监控指标接口或许能对您有所帮助。此外,可以使用纯插件模式启动 LoongCollector,用于对插件进行轻量级测试。

Go 侧插件注册表与 Add*Creator 定义见仓库 pkg/pipeline/plugin.go;各插件类型的 V1 / V2 扩展接口见同目录下的 input.goprocessor.goaggregator.goflusher.go(旧文档仅描述 V1 时,请以源码为准)。

更详细的开发细节,请参考:

文档撰写流程

开发完成后,可以参考如何生成插件文档生成插件的使用文档,也可以手动编写插件文档。

文档的编写主要有如下步骤:

  1. 遵循插件文档规范,编写插件文档。

  2. 插件概览中添加插件的信息。所有的插件按英文名字典序升序排列,添加的时候请注意插入的位置。

  3. 文档目录中添加插件文档的路径,注意与插件概览中保持顺序一致。

Last updated