External plugins are external programs that are built outside of Telegraf that
can run through an execd
plugin. These external plugins allow for more flexibility
compared to internal Telegraf plugins.
- External plugins can be written in any language (internal Telegraf plugins can only written in Go)
- External plugins can access to libraries not written in Go
- Utilize licensed software that isn't available to the open source community
- Can include large dependencies that would otherwise bloat Telegraf
The guidelines of writing external plugins would follow those for our general input, output, processor, and aggregator plugins. Please reference the documentation on how to create these plugins written in Go.
For Go plugins, there is a Execd Go Shim that will make it trivial to extract an internal input, processor, or output plugin from the main Telegraf repo out to a stand-alone repo. This shim This allows anyone to build and run it as a separate app using one of the execd
plugins:
Follow the Steps to externalize a plugin and Steps to build and run your plugin to properly with the Execd Go Shim
To-be-added