文档文档

使用 execd shim

shim 使从主 Telegraf 代码仓库中提取内部输入、处理器或输出插件到独立的仓库变得容易。这允许任何人使用 execd 插件之一构建并将其作为单独的应用程序运行

使用 shim 包装器提取插件

  1. 将项目移动到外部仓库。我们建议保留路径结构:例如,如果你的插件位于 Telegraf 仓库中的 plugins/inputs/cpu,则将其移动到新仓库中的 plugins/inputs/cpu
  2. main.go 复制到你的项目中的 cmd 文件夹下。这充当插件作为独立程序运行时 的入口点。

    shim 不设计为同时运行多个插件,因此每个仓库仅包含一个插件。

  3. 编辑 main.go 文件以导入你的插件。例如,_ "github.com/me/my-plugin-telegraf/plugins/inputs/cpu"。查看 此处main.go 编辑示例。
  4. 为你的插件添加特定于配置的 plugin.conf

    此配置文件必须与 Telegraf 的其余配置分开,并且不得与其他 Telegraf 配置文件位于共享目录中。

测试并运行你的插件

  1. 使用以下命令和你的插件名称构建 cmd/main.gogo build -o plugin-name cmd/main.go
  2. 测试二进制文件
  3. 如果你正在构建处理器或输出,请首先在 STDIN 上输入有效的指标。如果你正在构建输入,请跳过此步骤。
  4. 通过运行二进制文件来测试它(例如,./project-name -config plugin.conf)。指标将写入 STDOUT。你可能需要按 Enter 键或等待轮询持续时间过去才能看到数据。
  5. Ctrl-C 结束你的测试。
  6. 配置 Telegraf 以调用你的新插件二进制文件。对于输入,这看起来像这样
[[inputs.execd]]
  command = ["/path/to/rand", "-config", "/path/to/plugin.conf"]
  signal = "none"

有关更多信息,请参阅 execd 插件文档。

发布你的插件

将你的插件发布到 GitHub 并打开一个拉取请求回到 Telegraf 仓库,告知我们你的 外部插件 的可用性。


此页内容是否对您有帮助?

感谢您的反馈!


Flux 的未来

Flux 即将进入维护模式。您可以继续像现在这样使用它,而无需对代码进行任何更改。

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。更快扩展。

获取更新

InfluxDB 3 Core 是一个开源、高速、近实时数据引擎,可实时收集和处理数据,并将其持久化到本地磁盘或对象存储。InfluxDB 3 Enterprise 构建在 Core 的基础上,增加了高可用性、读取副本、增强的安全性以及数据压缩,从而实现更快的查询和优化的存储。InfluxDB 3 Enterprise 的免费层级可供非商业家庭或业余爱好者使用。

有关更多信息,请查看