46 lines
1.6 KiB
Markdown
46 lines
1.6 KiB
Markdown
|
|
# Customization
|
||
|
|
|
||
|
|
You can build customized versions of Telegraf with a specific plugin set
|
||
|
|
using [build-tags](https://pkg.go.dev/cmd/go#hdr-Build_constraints).
|
||
|
|
The plugins can be selected either category-wise, i.e. `inputs`, `outputs`,
|
||
|
|
`processors`, `aggregators` and `parsers` or individually, e.g. `inputs.modbus`
|
||
|
|
or `outputs.influxdb`.
|
||
|
|
|
||
|
|
Usually the build tags correspond to the plugin names used in the Telegraf
|
||
|
|
configuration. To be sure, check the files in the corresponding
|
||
|
|
`plugin/<category>/all` directory. Make sure to include all parsers you intend
|
||
|
|
to use.
|
||
|
|
|
||
|
|
__Note:__ You _always_ need to include the `custom` tag when customizing the
|
||
|
|
build as otherwise _all_ plugins will be selected regardless of other tags.
|
||
|
|
|
||
|
|
## Via make
|
||
|
|
|
||
|
|
When using the project's makefile, the build can be customized via the
|
||
|
|
`BUILDTAGS` environment variable containing a __space-separated__ list of the
|
||
|
|
selected plugins (or categories) __and__ the `custom` tag.
|
||
|
|
|
||
|
|
For example
|
||
|
|
|
||
|
|
```shell
|
||
|
|
BUILDTAGS="custom inputs outputs.influxdb_v2 parsers.json" make
|
||
|
|
```
|
||
|
|
|
||
|
|
will build a customized Telegraf including _all_ `inputs`, the InfluxDB v2
|
||
|
|
`output` and the `json` parser.
|
||
|
|
|
||
|
|
## Via `go build`
|
||
|
|
|
||
|
|
If you wish to build Telegraf using native go tools, you can use the `go build`
|
||
|
|
command with the `-tags` option. Specify a __space-separated__ list of the
|
||
|
|
selected plugins (or categories) __and__ the `custom` tag as argument.
|
||
|
|
|
||
|
|
For example
|
||
|
|
|
||
|
|
```shell
|
||
|
|
go build -tags "custom inputs outputs.influxdb_v2 parsers.json" ./cmd/telegraf
|
||
|
|
```
|
||
|
|
|
||
|
|
will build a customized Telegraf including _all_ `inputs`, the InfluxDB v2
|
||
|
|
`output` and the `json` parser.
|