与外部插件集成
外部插件是 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 和本文档提出反馈和 bug 报告。要获取支持,请使用以下资源
具有年度合同或支持合同的客户可以 联系 InfluxData 支持。