CHANGELOG-1.13.md
prometheus input and prometheus_client output have a new mapping to
and from Telegraf metrics, which can be enabled by setting metric_version = 2.
The original mapping is deprecated. When both plugins have the same setting,
passthrough metrics will be unchanged. Refer to the prometheus input for
details about the mapping.elasticsearch_indices measurement into the new
elasticsearch_cluster_health_indices measurement as they were originally
combined by error.uptime_format field in the system input has been deprecated, use the
uptime field instead.cloudwatch input has been updated to use a more efficient API, it now
requires GetMetricData permissions instead of GetMetricStatistics. The
units tag is not available from this API and is no longer collected.The http_listener input plugin has been renamed to influxdb_listener and
use of the original name is deprecated. The new name better describes the
intended use of the plugin as a InfluxDB relay. For general purpose
transfer of metrics in any format via HTTP, it is recommended to use
http_listener_v2 instead.
Input plugins are no longer limited from adding metrics when the output is writing, and new metrics will move into the metric buffer as needed. This will provide more robust degradation and recovery when writing to a slow output at high throughput.
To avoid over consumption when reading from queue consumers: kafka_consumer,
amqp_consumer, mqtt_consumer, nats_consumer, and nsq_consumer use
the new option max_undelivered_messages to limit the number of outstanding
unwritten metrics.
The cassandra input plugin has been deprecated in favor of the jolokia2
input plugin which is much more configurable and more performant. There is
an example configuration to help you
get started.
For plugins supporting TLS, you can now specify the certificate and keys
using tls_ca, tls_cert, tls_key. These options behave the same as
the, now deprecated, ssl forms.
.. in config directory.The mysql input plugin has been updated fix a number of type conversion
issues. This may cause a field type error when inserting into InfluxDB due
the change of types.
To address this we have introduced a new metric_version option to control
enabling the new format. For in depth recommendations on upgrading please
reference the mysql plugin documentation.
It is encouraged to migrate to the new model when possible as the old version is deprecated and will be removed in a future version.
The postgresql plugins now defaults to using a persistent connection to the database.
In environments where TCP connections are terminated the max_lifetime
setting should be set less than the collection interval to prevent errors.
The sqlserver input plugin has a new query and data model that can be enabled
by setting query_version = 2. It is encouraged to migrate to the new
model when possible as the old version is deprecated and will be removed in
a future version.
An option has been added to the openldap input plugin that reverses metric
name to improve grouping. This change is enabled when reverse_metric_names = true
is set. It is encouraged to enable this option when possible as the old
ordering is deprecated.
The new http input configured with data_format = "json" can perform the
same task as the, now deprecated, httpjson input.
In the kinesis output, use of the partition_key and
use_random_partitionkey options has been deprecated in favor of the
partition subtable. This allows for more flexible methods to set the
partition key such as by metric name or by tag.
With the release of the new improved jolokia2 input, the legacy jolokia
plugin is deprecated and will be removed in a future release. Users of this
plugin are encouraged to update to the new jolokia2 plugin.
In the postgresql and postgresql_extensible plugins, the type of the oid
data type has changed from string to integer. It is recommended to drop
affected fields until a new shard is started. For details on how to
workaround this issue please see #3622.
The kafka_consumer input has been updated to support Kafka 0.9 and
above style consumer offset handling. The previous version of this plugin
supporting Kafka 0.8 and below is available as the kafka_consumer_legacy
plugin.
In the aerospike input the node_name field has been changed to be a tag
for both the aerospike_node and aerospike_namespace measurements.
The default prometheus_client port has been changed to 9273.
Users of the windows ping plugin will need to drop or migrate their
measurements in order to continue using the plugin. The reason for this is that
the windows plugin was outputting a different type than the linux plugin. This
made it impossible to use the ping plugin for both windows and linux
machines.
Ceph: the ceph_pgmap_state metric content has been modified to use a unique field count, with each state expressed as a state tag.
Telegraf < 1.3:
# field_name value
active+clean 123
active+clean+scrubbing 3
Telegraf >= 1.3:
# field_name value tag
count 123 state=active+clean
count 3 state=active+clean+scrubbing
The Riemann output plugin has been rewritten
and the previous riemann plugin is incompatible with the new one. The reasons
for this are outlined in issue #1878.
The previous riemann output will still be available using
outputs.riemann_legacy if needed, but that will eventually be deprecated.
It is highly recommended that all users migrate to the new riemann output plugin.
Generic socket_listener and socket_writer plugins have been implemented for receiving and sending UDP, TCP, unix, & unix-datagram data. These plugins will replace udp_listener and tcp_listener, which are still available but will be deprecated eventually.
ceph_pgmap_state metric now uses a single field count, with PG state published as state tag.message_len_max option to kafka_consumer inputheap_objectsThe StatsD plugin will now default all "delete_" config options to "true". This will change te default behavior for users who were not specifying these parameters in their config file.
The StatsD plugin will also no longer save it's state on a service reload. Essentially we have reverted PR #887. The reason for this is that saving the state in a global variable is not thread-safe (see #1975 & #2102), and this creates issues if users want to define multiple instances of the statsd plugin. Saving state on reload may be considered in the future, but this would need to be implemented at a higher level and applied to all plugins, not just statsd.
net plugin.Telegraf now supports two new types of plugins: processors & aggregators.
On systemd Telegraf will no longer redirect it's stdout to /var/log/telegraf/telegraf.log.
On most systems, the logs will be directed to the systemd journal and can be
accessed by journalctl -u telegraf.service. Consult the systemd journal
documentation for configuring journald. There is also a logfile config option
available in 1.1, which will allow users to easily configure telegraf to
continue sending logs to /var/log/telegraf/telegraf.log.
Breaking Change The SNMP plugin is being deprecated in it's current form.
There is a new SNMP plugin
which fixes many of the issues and confusions
of its predecessor. For users wanting to continue to use the deprecated SNMP
plugin, you will need to change your config file from [[inputs.snmp]] to
[[inputs.snmp_legacy]]. The configuration of the new SNMP plugin is not
backwards-compatible.
Breaking Change: Aerospike main server node measurements have been renamed aerospike_node. Aerospike namespace measurements have been renamed to aerospike_namespace. They will also now be tagged with the node_name that they correspond to. This has been done to differentiate measurements that pertain to node vs. namespace statistics.
Breaking Change: users of github_webhooks must change to the new
[[inputs.webhooks]] plugin.
This means that the default github_webhooks config:
# A Github Webhook Event collector
[[inputs.github_webhooks]]
## Address and port to host Webhook listener on
service_address = ":1618"
should now look like:
# A Webhooks Event collector
[[inputs.webhooks]]
## Address and port to host Webhook listener on
service_address = ":1618"
[inputs.webhooks.github]
path = "/"
Telegraf now supports being installed as an official windows service,
which can be installed via
> C:\Program Files\Telegraf\telegraf.exe --service install
flush_jitter behavior has been changed. The random jitter will now be
evaluated at every flush interval, rather than once at startup. This makes it
consistent with the behavior of collection_jitter.
postgresql plugins now handle oid and name typed columns seamlessly, previously they were ignored/skipped.
role tag renamed to replication_role to avoid global_tags overridehttp://localhost:15672 if not specifiedmake windows build targetread_repairs statistics to riak plugin.file output plugin and printing
to "stdout".Breaking change in jolokia plugin. See the jolokia README for updated configuration. The plugin will now support proxy mode and will make POST requests.
New [agent] configuration option: metric_batch_size. This option tells
telegraf the maximum batch size to allow to accumulate before sending a flush
to the configured outputs. metric_buffer_limit now refers to the absolute
maximum number of metrics that will accumulate before metrics are dropped.
There is no longer an option to
flush_buffer_when_full, this is now the default and only behavior of telegraf.
Breaking Change: docker plugin tags. The cont_id tag no longer exists, it will now be a field, and be called container_id. Additionally, cont_image and cont_name are being renamed to container_image and container_name.
Breaking Change: docker plugin measurements. The docker_cpu, docker_mem,
docker_blkio and docker_net measurements are being renamed to
docker_container_cpu, docker_container_mem, docker_container_blkio and
docker_container_net. Why? Because these metrics are
specifically tracking per-container stats. The problem with per-container stats,
in some use-cases, is that if containers are short-lived AND names are not
kept consistent, then the series cardinality will balloon very quickly.
So adding "container" to each metric will:
(1) make it more clear that these metrics are per-container, and
(2) allow users to easily drop per-container metrics if cardinality is an
issue (namedrop = ["docker_container_*"])
tagexclude and taginclude are now available, which can be used to remove
tags from measurements on inputs and outputs. See
the configuration doc
for more details.
Measurement filtering: All measurement filters now match based on glob
only. Previously there was an undocumented behavior where filters would match
based on prefix in addition to globs. This means that a filter like
fielddrop = ["time_"] will need to be changed to fielddrop = ["time_*"]
datadog: measurement and field names will no longer have _ replaced by .
The following plugins have changed their tags to not overwrite the host tag:
host -> cassandra_hosthost -> disque_hosthost -> rethinkdb_hostBreaking Change: The win_perf_counters input has been changed to
sanitize field names, replacing /Sec and /sec with _persec, as well as
spaces with underscores. This is needed because Graphite doesn't like slashes
and spaces, and was failing to accept metrics that had them.
The /[sS]ec -> _persec is just to make things clearer and uniform.
Breaking Change: snmp plugin. The host tag of the snmp plugin has been
changed to the snmp_host tag.
The disk input plugin can now be configured with the HOST_MOUNT_PREFIX environment variable.
This value is prepended to any mountpaths discovered before retrieving stats.
It is not included on the report path. This is necessary for reporting host disk stats when running from within a container.
user, exe, pidfile tags to procstat plugin.n_cpus field to the system plugin.. with _ in datadog output.win_perf_counters input.value. This is
because the value field is redundant in the graphite/librato context.field* in graphite templates. Thanks @chrusty!lsof on linux to get netstat data, fixes permissions issue.docker info metrics to output. Thanks @titilambert!system input plugin.ntpq: Input plugin for running ntp query executable and gathering metrics.exec and kafka_consumer (and the new nats_consumer
and mqtt_consumer plugins) can now specify the incoming data
format that they would like to parse. Currently supports: "json", "influx", and
"graphite"flush_buffer_when_full that will flush the
metric buffer whenever it fills up for each output, rather than dropping
points and only flushing on a set time interval. This will default to true
and is in the [agent] config section.[tags] to [global_tags] to fix multiple-plugin tags bug.verify_ssl config option was removed from Kafka because it was actually
doing the opposite of what it claimed to do (yikes). It's been replaced by
insecure_skip_verifynet pluginopt, the binary is now in /usr/bin
and configuration files are in /etc/telegrafplugins have been renamed to inputs. This was done because
plugins is too generic, as there are now also "output plugins", and will likely
be "aggregator plugins" and "filter plugins" in the future. Additionally,
inputs/ and outputs/ directories have been placed in the root-level plugins/
directory.io plugin has been renamed diskiojolokia plugin: must use global tag/drop/pass parameters
for configuration.twemproxy plugin: prefix option removed.procstat cpu measurements are now prepended with cpu_time_
instead of only cpu_-configdirectory -> -config-directory, -filter -> -input-filter,
-outputfilter -> -output-filterRHEL/CentOS users upgrading from 0.2.x to 0.10.0 will probably have their configurations overwritten by the upgrade. There is a backup stored at /etc/telegraf/telegraf.conf.$(date +%s).backup.
name_prefix and name_suffix)name_override)net plugin.kafka plugin has been renamed to kafka_consumer.
and most of the config option names have changed.
This only affects the kafka consumer plugin (not the
output). There were a number of problems with the kafka plugin that led to it
only collecting data once at startup, so the kafka plugin was basically non-
functional.[[inputs.cpu]]
percpu = false
totalcpu = true
[[inputs.cpu]]
percpu = true
totalcpu = false
drop = ["cpu_time"]
host -> aerospike_hostmake docker-run and
make docker-kill. make test will still run all unit tests with docker.host to serverhost to serverflush_interval. This option tells
Telegraf how often to flush data to InfluxDB and other output sinks. For example,
users can set interval = "2s" and flush_interval = "60s" for Telegraf to
collect data every 2 seconds, and flush every 60 seconds.precision and utc are no longer valid agent config values. precision has
moved to the influxdb output config, where it will continue to default to "s"interval="10s" will collect every :00, :10, etc.
To ease scale concerns, flushing will be "jittered" by a random amount so that
all Telegraf instances do not flush at the same time. Both of these options can
be controlled via the round_interval and flush_jitter config options.[tags] getting applied, thanks @gotyaoi!url is now urls, and is a list. Config files
will still be backwards compatible if only url is specified.-outputfilter
flag, much like how the -filter flag works for inputs.telegraf -sample-config -filter cpu -outputfilter influxdb to get a config
file with only the cpu plugin defined, and the influxdb output defined.This is the initial release of Telegraf.