Release Notes/Changelog

v1.4.4 [2017-11-08]

Bugfixes

  • Use schema specified in mqtt_consumer input.
  • Redact Datadog API key in log output.
  • Fix error getting PIDs in Netstat input.
  • Support HOST_VAR envvar to locate /var in system input.
  • Use current time if Docker container read time is zero value.

v1.4.3 [2017-10-25]

Bugfixes

  • Fix container name filters in Docker input.
  • Fix snmpwalk address format in leofs input.
  • Fix case sensitivity issue in SQL Server query.
  • Fix CPU input plugin stuck after suspend on Linux.
  • Fix MongoDB input panic when restarting MongoDB.
  • Preserve URL path prefix in InfluxDB output.
  • Fix TELEGRAF_OPTS expansion in systemd service unit.
  • Remove warning when JSON contains null value.
  • Fix ACL token usage in consul input plugin.
  • Fix unquoting error with Tomcat 6.
  • Fix syscall panic in diskio on some Linux systems.

v1.4.2 [2017-10-10]

Bugfixes

  • Fix error if int larger than 32-bit in /proc/vmstat.
  • Fix parsing of JSON with a UTF8 BOM in httpjson.
  • Allow JSON data format to contain zero metrics.
  • Fix format of connection_timeout in mqtt_consumer.
  • Fix case sensitivity error in SQLserver input.
  • Add support for proxy environment variables to http_response.
  • Add support for standard proxy env vars in outputs.
  • Fix panic in CPU input if number of CPUs changes.
  • Use chunked transfer encoding in InfluxDB output.

v1.4.1 [2017-09-26]

Bugfixes

  • Fix MQTT input exits if Broker is not available on startup.
  • Fix optional field value conversions in fluentd input.
  • Whitelist allowed char classes for opentsdb output.
  • Fix counter and gauge metric types.
  • Fix skipped line with empty target in iptables.
  • Fix duplicate keys in perf counters sqlserver query.
  • Fix panic in statsd p100 calculation.
  • Fix arm64 packages contain 32-bit executable.

v1.4.0 [2017-09-05]

Release Notes

  • 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.

New Plugins

  • fail2ban
  • fluentd
  • histogram
  • minecraft
  • openldap
  • salesforce
  • tomcat
  • win_services
  • zipkin

Features

  • Add Kafka 0.9+ consumer support.
  • Add support for self-signed certs to InfluxDB input plugin.
  • Add TCP listener for statsd input.
  • Add Docker container environment variables as tags. Only whitelisted.
  • Add timeout option to IPMI sensor plugin.
  • Add support for an optional SSL/TLS configuration to Nginx input plugin.
  • Add timezone support for logparser timestamps.
  • Add result_type field for http_response input.
  • Add include/exclude filters for docker containers.
  • Add secure connection support to graphite output.
  • Add min/max response time on linux/darwin to ping.
  • Add HTTP Proxy support to influxdb output.
  • Add standard SSL options to mysql input.
  • Add input plugin for fail2ban.
  • Support HOST_PROC in processes and linux_sysctl_fs inputs.
  • Add Minecraft input plugin.
  • Add support for RethinkDB 1.0 handshake protocol.
  • Add optional usage_active and time_active CPU metrics.
  • Change default prometheus_client port.
  • Add fluentd input plugin.
  • Add result_type field to net_response input plugin.
  • Add read timeout to socket_listener.
  • Add input plugin for OpenLDAP.
  • Add network option to dns_query.
  • Add redis_version field to redis input.
  • Add tls options to docker input.
  • Add histogram aggregator plugin.
  • Add Zipkin input plugin.
  • Add Windows Services input plugin.
  • Add path tag to logparser containing path of logfile.
  • Add Salesforce input plugin.
  • Add option to run varnish under sudo.
  • Add weighted_io_time to diskio input.
  • Add gzip content-encoding support to influxdb output.
  • Allow using system plugin in Windows.
  • Add Tomcat input plugin.
  • HTTP headers can be added to InfluxDB output.

Bugfixes

  • Improve logging of errors in Cassandra input.
  • [enh] set db_version at 0 if query version fails.
  • Fixed SQL Server input to work with case sensitive server collation.
  • Systemd does not see all shutdowns as failures.
  • Reuse transports in input plugins.
  • Inputs processes fails with “no such process”.
  • Fix multiple plugin loading in win_perf_counters.
  • MySQL input: log and continue on field parse error.
  • Fix timeout option in Windows ping input sample configuration.
  • Fix Kinesis output plugin in govcloud.
  • Fix Aerospike input adds all nodes to a single series.
  • Improve Prometheus Client output documentation.
  • Display error message if prometheus output fails to listen.
  • Fix elasticsearch output content type detection warning.
  • Prevent possible deadlock when using aggregators.
  • Fix combined tagdrop/tagpass filtering.
  • Fix filtering when both pass and drop match an item.
  • Only report cpu usage for online cpus in docker input.
  • Start first aggregator period at startup time.
  • Fix panic in logparser if file cannot be opened.
  • Default to localhost if zookeeper has no servers set.
  • Fix docker memory and cpu reporting in Windows.
  • Allow iptable entries with trailing text.
  • Sanitize password from couchbase metric.
  • Converge to typed value in prometheus output.
  • Skip compilcation of logparser and tail on solaris.
  • Discard logging from tail library.
  • Remove log message on ping timeout.
  • Don’t retry points beyond retention policy.
  • Don’t start Telegraf on install in Amazon Linux.
  • Enable hddtemp input on all platforms.
  • Escape backslash within string fields.
  • Fix parsing of SHM remotes in ntpq input
  • Don’t fail parsing zpool stats if pool health is UNAVAIL on FreeBSD.
  • Fix NSQ input plugin when used with version 1.0.0-compat.
  • Added CloudWatch metric constraint validation.
  • Skip non-numerical values in graphite format.
  • Fix panic when handling string fields with escapes.

v1.3.5 [2017-07-26]

Bugfixes

  • Fix prometheus output cannot be reloaded.
  • Fix filestat reporting exists when cannot list directory.
  • Fix ntpq parse issue when using dns_lookup.
  • Fix panic when agent.interval = “0s”.

v1.3.4 [2017-07-12]

Bugfixes

  • Fix handling of escape characters within fields.
  • Fix chrony plugin does not track system time offset.
  • Do not allow metrics with trailing slashes.
  • Prevent Write from being called concurrently.

v1.3.3 [2017-06-28]

Bugfixes

  • Allow dos line endings in tail and logparser.
  • Remove label value sanitization in prometheus output.
  • Fix bug parsing default timestamps with modified precision.
  • Fix panic in elasticsearch input if cannot determine master.

v1.3.2 [2017-06-14]

Bugfixes

  • Fix InfluxDB UDP metric splitting.
  • Fix mongodb/leofs urls without scheme.
  • Fix inconsistent label dimensions in prometheus output.

v1.3.1 [2017-05-31]

Bugfixes

  • Fixed sqlserver input to work with case-sensitive server collation.
  • Reuse transports in input plugins.
  • Process input fails with no such process.
  • Fix InfluxDB output database quoting.
  • Fix net input on older Linux kernels.
  • Fix panic in mongo input.
  • Fix length calculation of split metric buffer.

v1.3.0 [2017-05-09]

Release Notes

Changes to the Windows ping plugin

Users of the windows ping plugin will need to drop or migrate their measurements 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.

Changes to the Ceph plugin

For the Ceph plugin, 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

Rewritten Riemann plugin

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.

New Socket Listener and Socket Writer plugins

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.

Features

Bugfixes

  • Allow @ symbol in password for the ipmi_sensor plugin.
  • Fix arithmetic overflow error converting numeric to data type int in SQL Server input.
  • Flush jitter can inhibit metric collection.
  • Add missing fields for HAproxy input.
  • Handle null startTime for stopped pods for the Kubernetes input.
  • Fix cpu input panic when /proc/stat is empty.
  • Fix telegraf swallowing panics in –test mode.
  • Create pidfile with 644 permissions & defer file deletion.
  • Fix install/remove of telegraf on non-systemd Debian/Ubuntu systems.
  • Fix for reloading telegraf freezes prometheus output.
  • Fix when empty tag value causes error on InfluxDB output.
  • buffer_size field value is negative number from “internal” plugin.
  • Missing error handling in the MySQL plugin leads to segmentation violation.
  • Fix type conflict in windows ping plugin.
  • logparser: regexp with lookahead.
  • Telegraf can crash in LoadDirectory on 0600 files.
  • Iptables input: document better that rules without a comment are ignored.
  • Fix win_perf_counters capping values at 100.
  • Exporting Ipmi.Path to be set by config.
  • Remove warning if parse empty content.
  • Update default value for Cloudwatch rate limit.
  • create /etc/telegraf/telegraf.d directory in tarball.
  • Return error on unsupported serializer data format.
  • Fix Windows Performance Counters multi instance identifier.
  • Add write timeout to Riemann output.
  • fix timestamp parsing on prometheus plugin.
  • Fix deadlock when output cannot write.
  • Fix connection leak in postgresql.
  • Set default measurement name for snmp input.
  • Improve performance of diskio with many disks.
  • The internal input plugin uses the wrong units for heap_objects.
  • Fix ipmi_sensor config is shared between all plugin instances.
  • Network statistics not collected when system has alias interfaces.
  • Sysstat plugin needs LANG=C or similar locale.
  • File output closes standard streams on reload.
  • AMQP output disconnect blocks all outputs.
  • Improve documentation for redis input plugin.

v1.2.1 [2017-02-01]

Bugfixes

  • Fix segfault on nil metrics with InfluxDB output.
  • Fix negative number handling.

Features

  • Go (golang) version update 1.7.4 -> 1.7.5

v1.2 [2017-01-24]

Release Notes

  • The 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.

Features

  • Fix improper calculation of CPU percentages
  • Use RFC3339 timestamps in log output.
  • Non-default HTTP timeouts for RabbitMQ plugin.
  • “Discard” output plugin added, primarily for testing purposes.
  • The JSON parser can now parse an array of objects using the same configuration.
  • Option to use device name rather than path for reporting disk stats.
  • Telegraf “internal” plugin for collecting stats on itself.
  • Update GoLang version to 1.7.4.
  • Support a metric.Split function.
  • Elasticsearch “shield” (basic auth) support doc.
  • Fix over-querying of cloudwatch metrics
  • OpenTSDB basic auth support.
  • RabbitMQ Connection metrics.
  • HAProxy session limit metric.
  • Accept strings for StatsD sets.
  • Change StatsD default “reset” behavior.
  • Enable setting ClientID in MQTT output.
  • MongoDB input plugin: Improve state data.
  • Ping input: add standard deviation field.
  • Add GC pause metric to InfluxDB input plugin.
  • Added response_timeout property to prometheus input plugin.
  • Pulling github.com/lxn/win’s pdh wrapper into Telegraf.
  • Support negative statsd counters.
  • Elasticsearch cluster stats support.
  • Change Amazon Kinesis output plugin to use the built-in serializer plugins.
  • Hide username/password from elasticsearch error log messages.
  • Configurable HTTP timeouts in Jolokia plugin.
  • Allow changing jolokia attribute delimiter.

Bugfixes

  • Fix the Value data format not trimming null characters from input.
  • Fix windows .net plugin.
  • Cache & expire metrics for delivery to prometheus
  • Fix potential panic in aggregator plugin metric maker.
  • Add optional ability to define PID as a tag.
  • Fix win_perf_counters not gathering non-English counters.
  • Fix panic when file stat info cannot be collected due to permissions or other issue(s).
  • Graylog output should set short_message field.
  • Hddtemp always put the value in the field temperature.
  • Properly collect nested jolokia struct data.
  • Fix puppetagent inputs plugin to support string for config variable.
  • Fix docker input plugin tags when registry has port.
  • Fix tail input when reading from a pipe.
  • MongoDB plugin always shows 0 replication lag.
  • Consul plugin: add check_id as a tag in metrics to avoid overwrites.
  • Partial fix: logparser CLF pattern with IPv6 addresses.
  • Fix thread-safety when using multiple instances of the statsd input plugin.
  • Docker input: interface conversion panic fix.
  • SNMP: ensure proper context is present on error messages.
  • OpenTSDB: add tcp:// prefix if no scheme provided.
  • Influx parser: parse line-protocol without newlines.
  • InfluxDB output: fix field type conflict blocking output buffer.

v1.1.2 [2016-12-12]

Bugfixes

  • Make snmptranslate not required when using numeric OID.
  • Add a global snmp translation cache.

v1.1.1 [2016-11-14]

Bugfixes

  • Fix issue parsing toml durations with single quotes.

v1.1.0 [2016-11-07]

Release Notes

  • 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.

Features

  • Processor & Aggregator plugin support.
  • Adding the tags in the graylog output plugin.
  • Telegraf systemd service, log to journal.
  • Allow numeric and non-string values for tag_keys.
  • Adding Gauge and Counter metric types.
  • Remove carraige returns from exec plugin output on Windows
  • Elasticsearch input: configurable timeout.
  • Massage metric names in Instrumental output plugin
  • Apache Mesos improvements.
  • Add Ceph Cluster Performance Statistics
  • Ability to configure response_timeout in httpjson input.
  • Add additional redis metrics.
  • Added capability to send metrics through HTTP API for OpenTSDB.
  • iptables input plugin.
  • Add filestack webhook plugin.
  • Add server hostname for each Docker measurements.
  • Add NATS output plugin.
  • HTTP service listener input plugin.
  • Add database blacklist option for Postgresql
  • Add Docker container state metrics to Docker input plugin output
  • Add support to SNMP for IP & MAC address conversion.
  • Add support to SNMP for OID index suffixes.
  • Change default arguments for SNMP plugin.
  • Apach Mesos input plugin: very high-cardinality mesos-task metrics removed.
  • Logging overhaul to centralize the logger & log levels, & provide a logfile config option.
  • HAProxy plugin socket glob matching.
  • Add Kubernetes plugin for retrieving pod metrics.

Bugfixes

  • Fix NATS plug-ins reconnection logic.
  • Set required default values in udp_listener & tcp_listener.
  • Fix toml unmarshal panic in Duration objects.
  • Fix handling of non-string values for JSON keys listed in tag_keys.
  • Fix mongodb input panic on version 2.2.
  • Fix statsd scientific notation parsing.
  • Sensors plugin strconv.ParseFloat: parsing “”: invalid syntax.
  • Fix prometheus_client reload panic.
  • Fix Apache Kafka consumer panic when nil error is returned down errs channel.
  • Speed up statsd parsing.
  • Fix powerdns integer parse error handling.
  • Fix varnish plugin defaults not being used.
  • Fix Windows glob paths.
  • Fix issue loading config directory on Windows.
  • Windows remote management interactive service fix.
  • SQLServer, fix issue when case sensitive collation is activated.
  • Fix huge allocations in http_listener when dealing with huge payloads.
  • Fix translating SNMP fields not in MIB.
  • Fix SNMP emitting empty fields.
  • SQL Server waitstats truncation bug.
  • Fix logparser common log format: numbers in ident.
  • Fix JSON Serialization in OpenTSDB output.
  • Fix Graphite template ordering, use most specific.
  • Fix snmp table field initialization for non-automatic table.
  • cgroups path being parsed as metric.
  • Fix phpfpm fcgi client panic when URL does not exist.
  • Fix config file parse error logging.
  • Delete nil fields in the metric maker.
  • Fix MySQL special characters in DSN parsing.
  • Ping input odd timeout behavior.
  • Switch to github.com/kballard/go-shellquote.

v1.0.1 [2016-09-26]

Bugfixes

  • Prometheus output: Fix bug with multi-batch writes.
  • Fix unmarshal of influxdb metrics with null tags.
  • Add configurable timeout to influxdb input plugin.
  • Fix statsd no default value panic.

v1.0 [2016-09-08]

Release Notes

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.

  • PostgresSQL plugins now handle oid and name typed columns seamlessly, previously they were ignored/skipped.

Features

  • postgresql_extensible now handles name and oid types correctly.
  • Separate container_version from container_image tag.
  • Support setting per-device and total metrics for Docker network and blockio.
  • MongoDB input plugin: adding per DB stats from db.stats()
  • Add tls support for certs to RabbitMQ input plugin.
  • Webhooks input plugin.
  • Rollbar webhook plugin.
  • Mandrill webhook plugin.
  • docker-machine/boot2docker no longer required for unit tests.
  • cgroup input plugin.
  • Add input plugin for consuming metrics from NSQD.
  • Add ability to read Redis from a socket.
  • Breaking Change - Redis role tag renamed to replication_role to avoid global_tags override.
  • Fetching Galera status metrics in MySQL
  • Aerospike plugin refactored to use official client library.
  • Add measurement name arg to logparser plugin.
  • logparser: change resp_code from a field to a tag.
  • Implement support for fetching hddtemp data
  • statsd: do not log every dropped metric.
  • Add precision rounding to all metrics on collection.
  • Add support for Tengine.
  • Logparser input plugin for parsing grok-style log patterns.
  • ElasticSearch: now supports connecting to ElasticSearch via SSL.
  • Add graylog input pluging.
  • Consul input plugin.
  • conntrack input plugin.
  • vmstat input plugin.
  • Standardized AWS credentials evaluation & wildcard CloudWatch dimensions.
  • Add SSL config options to http_response plugin.
  • Graphite parser: add ability to specify multiple tag keys, for consistency with influxdb parser.
  • Make DNS lookups for chrony configurable.
  • Allow wildcard filtering of varnish stats.
  • Support for glob patterns in exec plugin commands configuration.
  • RabbitMQ input: made url parameter optional by using DefaultURL (http://localhost:15672) if not specified.
  • Limit AWS GetMetricStatistics requests to 10 per second.
  • RabbitMQ/Apache/InfluxDB inputs: made url(s) parameter optional by using reasonable input defaults if not specified.
  • Refactor of flush_jitter argument.
  • Add inactive & active memory to mem plugin.
  • Official Windows service.
  • Forking sensors command to remove C package dependency.
  • Add a new SNMP plugin.

Bugfixes

  • Fix make windows build target.
  • Fix error race conditions and partial failures.
  • nstat: fix inaccurate config panic.
  • jolokia: fix handling multiple multi-dimensional attributes.
  • Fix prometheus character sanitizing. Sanitize more win_perf_counters characters.
  • Add diskio io_time to FreeBSD & report timing metrics as ms (as linux does).
  • Fix covering Amazon Linux for post remove flow.
  • procstat missing fields: read/write bytes & count.
  • diskio input plugin: set ‘skip_serial_number = true’ by default to avoid high cardinality.
  • nil metrics panic fix.
  • Fix datarace in apache input plugin.
  • Add read_repairs statistics to riak plugin.
  • Fix memory/connection leak in Prometheus input plugin.
  • Trim BOM from config file for Windows support.
  • Prometheus client output panic on service reload.
  • Prometheus parser, protobuf format header fix.
  • Prometheus output, metric refresh and caching fixes.
  • Panic fix for multiple graphite outputs under very high load.
  • Instrumental output has better reconnect behavior.
  • Remove PID from procstat plugin to fix cardinality issues.
  • Cassandra input: version 2.x “column family” fix.
  • Shared WaitGroup in Exec plugin.
  • logparser: honor modifiers in “pattern” config.
  • logparser: error and exit on file permissions/missing errors.
  • Make the user able to specify full path for HAproxy stats.
  • Fix Redis url, an extra “tcp://” was added.
  • Fix exec plugin panic when using single binary.
  • Fixed incorrect prometheus metrics source selection.
  • Set default Zookeeper chroot to empty string.
  • Fix overall ping timeout to be calculated based on per-ping timeout.
  • Change “default” retention policy to “”.
  • Graphite output mangling ‘%’ character.
  • Prometheus input plugin now supports x509 certs authentication.
  • Fix systemd service.
  • Fix influxdb n_shards counter.
  • Fix potential kernel plugin integer parse error.
  • Fix potential influxdb input type assertion panic.
  • Still send processes metrics if a process exited during metric collection.
  • disk plugin panic when usage grab fails.
  • Removed leaked “database” tag on redis metrics.
  • Processes plugin: fix potential error with /proc/net/stat directory.
  • Fix rare RHEL 5.2 panic in gopsutil diskio gathering function.
  • Remove IF NOT EXISTS from influxdb output database creation.
  • Fix quoting with text values in postgresql_extensible plugin.
  • Fix win_perf_counter “index out of range” panic.
  • Fix ntpq panic when field is missing.
  • Sanitize graphite output field names.
  • Fix MySQL plugin not sending 0 value fields.

This documentation is open source. See a typo? Please, open an issue.


Need help getting up and running? Get Support