External plugins
This page documents an earlier version of Telegraf. Telegraf v1.21 is the latest stable version. View this page in the v1.21 documentation.
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. Benefits to using external plugins include:
- Access to libraries not written in Go
- Using licensed software (not available to open source community)
- Including large dependencies that would otherwise bloat Telegraf
- Using your external plugin immediately without waiting for the Telegraf team to publish
- Easily convert plugins between internal and external using the shim
Use the `execd` shim
The shim makes it easy to extract an internal input, processor, or output plugin from the main Telegraf repo out to a stand-alone repo. This allows anyone to build and run it as a separate app using one of the execd plugins: inputs.execd processors.execd outputs.execd Extract a plugin using the shim wrapper Move the project to an external repo. We recommend preserving the path structure: for example, if your plugin was located at plugins/inputs/cpu in the Telegraf repo, move it to plugins/inputs/cpu in the new repo.
Write an external plugin
Set up your plugin to use it with execd. For listed external plugins, the author of the external plugin is also responsible for the maintenance and feature development of external plugins. Write your Telegraf plugin. Follow InfluxData’s best practices: Input plugins Processor plugins Aggregator plugins Output plugins If your plugin is written in Go, follow the steps for the Execd Go Shim. Add usage and development instructions in the homepage of your repository for running your plugin with its respective execd plugin.
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for Telegraf and this documentation. To find support, the following resources are available:
InfluxDB Cloud customers can contact InfluxData Support.