diff --git a/CHANGELOG.md b/CHANGELOG.md index 157c8d476aa57e82c3b3cf40ce5ce51c97d59c51..9da2ba0d52e44e9cc44435ac560bbdf05c6285f4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - [#1564](https://github.com/influxdata/telegraf/issues/1564): Use RFC3339 timestamps in log output. - [#1997](https://github.com/influxdata/telegraf/issues/1997): Non-default HTTP timeouts for RabbitMQ plugin. +- [#2074](https://github.com/influxdata/telegraf/pull/2074): "discard" output plugin added, primarily for testing purposes. ### Bugfixes diff --git a/README.md b/README.md index 92ebf19ee1d1c554828207f234808cbfb4992e5d..6577eafc850560830fbca42b4a846f4f899ed198 100644 --- a/README.md +++ b/README.md @@ -245,6 +245,7 @@ Telegraf can also collect metrics via the following service plugins: * [aws kinesis](./plugins/outputs/kinesis) * [aws cloudwatch](./plugins/outputs/cloudwatch) * [datadog](./plugins/outputs/datadog) +* [discard](./plugins/outputs/discard) * [file](./plugins/outputs/file) * [graphite](./plugins/outputs/graphite) * [graylog](./plugins/outputs/graylog) diff --git a/plugins/outputs/all/all.go b/plugins/outputs/all/all.go index 28354e7e45ad911c513be6eee5d4e88aad25184b..96091b2ade894ffe9ca593bc84b261e74466661f 100644 --- a/plugins/outputs/all/all.go +++ b/plugins/outputs/all/all.go @@ -5,6 +5,7 @@ import ( _ "github.com/influxdata/telegraf/plugins/outputs/amqp" _ "github.com/influxdata/telegraf/plugins/outputs/cloudwatch" _ "github.com/influxdata/telegraf/plugins/outputs/datadog" + _ "github.com/influxdata/telegraf/plugins/outputs/discard" _ "github.com/influxdata/telegraf/plugins/outputs/file" _ "github.com/influxdata/telegraf/plugins/outputs/graphite" _ "github.com/influxdata/telegraf/plugins/outputs/graylog" diff --git a/plugins/outputs/discard/README.md b/plugins/outputs/discard/README.md new file mode 100644 index 0000000000000000000000000000000000000000..e1c70b742450a9bdc746a7722bfa190dcd60d9b2 --- /dev/null +++ b/plugins/outputs/discard/README.md @@ -0,0 +1,12 @@ +# discard Output Plugin + +This output plugin simply drops all metrics that are sent to it. It is only +meant to be used for testing purposes. + +### Configuration: + +```toml +# Send metrics to nowhere at all +[[outputs.discard]] + # no configuration +``` diff --git a/plugins/outputs/discard/discard.go b/plugins/outputs/discard/discard.go new file mode 100644 index 0000000000000000000000000000000000000000..4a6d634b706569e4c328b1149bb412c4b07490b1 --- /dev/null +++ b/plugins/outputs/discard/discard.go @@ -0,0 +1,18 @@ +package discard + +import ( + "github.com/influxdata/telegraf" + "github.com/influxdata/telegraf/plugins/outputs" +) + +type Discard struct{} + +func (d *Discard) Connect() error { return nil } +func (d *Discard) Close() error { return nil } +func (d *Discard) SampleConfig() string { return "" } +func (d *Discard) Description() string { return "Send metrics to nowhere at all" } +func (d *Discard) Write(metrics []telegraf.Metric) error { return nil } + +func init() { + outputs.Add("discard", func() telegraf.Output { return &Discard{} }) +}