使用 execd 插件
该插件可以轻松地将 Telegraf 主仓库中的内部输入、处理器或输出插件提取到一个独立的仓库中。这样,任何人都可以使用 execd 插件之一将其作为独立应用程序进行构建和运行。
使用插件包装器提取插件
- 将项目移至外部仓库。我们建议保留路径结构:例如,如果您的插件在 Telegraf 仓库中的路径是
plugins/inputs/cpu,请将其移至新仓库中的plugins/inputs/cpu。 - 将 main.go 复制到您的项目下的
cmd文件夹中。当作为独立程序运行时,它将作为插件的入口点。该插件不支持同时运行多个插件,因此每个仓库只包含一个插件。
- 编辑
main.go文件以导入您的插件。例如:_ "github.com/me/my-plugin-telegraf/plugins/inputs/cpu"。在此处 查看编辑main.go的示例。 - 添加一个 plugin.conf 文件,用于配置您的插件特定设置。
此配置文件必须独立于 Telegraf 的其余配置,并且不得与其他 Telegraf 配置共享目录。
测试和运行您的插件
- 使用以下命令构建
cmd/main.go,并替换为您的插件名称:go build -o plugin-name cmd/main.go - 测试二进制文件
- 如果您正在构建处理器或输出插件,请先通过
STDIN输入有效的指标。如果您正在构建输入插件,请跳过此步骤。 - 通过运行二进制文件来测试它(例如:
./project-name -config plugin.conf)。指标将写入STDOUT。您可能需要按 Enter 键或等待轮询持续时间结束才能看到数据。 - 按
Ctrl-C结束测试。 - 配置 Telegraf 以调用您的新插件二进制文件。对于输入插件,配置如下:
[[inputs.execd]]
command = ["/path/to/rand", "-config", "/path/to/plugin.conf"]
signal = "none"有关更多信息,请参阅 execd 插件文档。
发布您的插件
将您的插件发布到 GitHub,然后向 Telegraf 仓库提交一个 Pull Request,告知我们您的 外部插件 的可用性。
此页面是否有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一员!我们欢迎并鼓励您对 Telegraf 和本文档提出反馈和 bug 报告。要获取支持,请使用以下资源
具有年度合同或支持合同的客户可以 联系 InfluxData 支持。