集成外部插件
外部插件 是在 Telegraf 外部构建的外部程序,可以通过 execd
插件运行。与内部 Telegraf 插件相比,这些外部插件具有更大的灵活性。使用外部插件的好处包括
- 访问非 Go 语言编写的库
- 使用许可软件(开源社区不可用)
- 包含可能使 Telegraf 膨胀的大型依赖项
- 立即使用您的外部插件,无需等待 Telegraf 团队发布
- 使用 shim 在内部插件和外部插件之间轻松转换插件
使用 execd
shim
shim 使从主 Telegraf 仓库中提取内部输入、处理器或输出插件到独立的仓库变得容易。这允许任何人使用 execd
插件之一构建并将其作为单独的应用程序运行
使用 shim 包装器提取插件
- 将项目移动到外部仓库。我们建议保留路径结构:例如,如果您的插件位于 Telegraf 仓库中的
plugins/inputs/cpu
,则将其移动到新仓库中的plugins/inputs/cpu
。 - 将 main.go 复制到项目中的
cmd
文件夹下。当作为独立程序运行时,这充当插件的入口点。shim 并非设计为同时运行多个插件,因此每个仓库仅包含一个插件。
编写外部插件
设置您的插件以将其与
execd
一起使用。对于列出的 外部插件,外部插件的作者还负责外部插件的维护和功能开发。
- 编写您的 Telegraf 插件。遵循 InfluxData 的最佳实践
- 如果您的插件是用 Go 编写的,请按照 Execd Go Shim 的步骤操作。
- 在您的仓库主页中添加使用说明和开发说明,以说明如何使用各自的
execd
插件运行您的插件。有关示例,请参阅 openvpn 和 awsalarms。包括以下步骤- 如何下载适用于您平台的发布包或如何克隆外部插件的二进制文件
- 构建二进制文件的命令
- 编辑
telegraf.conf
的位置 - 使用 inputs.execd、processors.execd 或 outputs.execd 运行外部插件的配置
- 提交您的插件,方法是打开 PR 以将您的外部插件添加到 /EXTERNAL_PLUGINS.md 列表。包括插件名称、插件仓库的链接和插件的简短描述。
此页内容是否对您有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一份子!我们欢迎并鼓励您提供关于 Telegraf 和本文档的反馈和错误报告。要寻求支持,请使用以下资源
拥有年度合同或支持合同的客户 可以联系 InfluxData 支持。