- Ceph: the
ceph_pgmap_state
metric content has been modified to use a unique fieldcount
, with each state expressed as astate
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.
- #2094: Add generic socket listener & writer.
- #2204: Extend http_response to support searching for a substring in response. Return 1 if found, else 0.
- #2137: Added userstats to mysql input plugin.
- #2179: Added more InnoDB metric to MySQL plugin.
- #2229:
ceph_pgmap_state
metric now uses a single fieldcount
, with PG state published asstate
tag. - #2251: InfluxDB output: use own client for improved through-put and less allocations.
- #2330: Keep -config-directory when running as Windows service.
- #1900: Riemann plugin rewrite.
- #1453: diskio: add support for name templates and udev tags.
- #2277: add integer metrics for Consul check health state.
- #2201: Add lock option to the IPtables input plugin.
- #2244: Support ipmi_sensor plugin querying local ipmi sensors.
- #2339: Increment gather_errors for all errors emitted by inputs.
- #2077: SQL Server Input - Arithmetic overflow error converting numeric to data type int.
- #2262: Flush jitter can inhibit metric collection.
- #2287: Kubernetes input: Handle null startTime for stopped pods
- #1636: procstat - stop caching PIDs.
- #2318: haproxy input - Add missing fields.
- #2287: Kubernetes input: Handle null startTime for stopped pods.
- #2356: cpu input panic when /proc/stat is empty.
- #2341: telegraf swallowing panics in --test mode.
- #2358: Create pidfile with 644 permissions & defer file deletion.
- #2348: Go version 1.7.4 -> 1.7.5
-
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.
- #2123: Fix improper calculation of CPU percentages
- #1564: Use RFC3339 timestamps in log output.
- #1997: Non-default HTTP timeouts for RabbitMQ plugin.
- #2074: "discard" output plugin added, primarily for testing purposes.
- #1965: The JSON parser can now parse an array of objects using the same configuration.
- #1807: Option to use device name rather than path for reporting disk stats.
- #1348: Telegraf "internal" plugin for collecting stats on itself.
- #2127: Update Go version to 1.7.4.
- #2126: Support a metric.Split function.
- #2026: elasticsearch "shield" (basic auth) support doc.
- #1885: Fix over-querying of cloudwatch metrics
- #1913: OpenTSDB basic auth support.
- #1908: RabbitMQ Connection metrics.
- #1937: HAProxy session limit metric.
- #2068: Accept strings for StatsD sets.
- #1893: Change StatsD default "reset" behavior.
- #2079: Enable setting ClientID in MQTT output.
- #2001: MongoDB input plugin: Improve state data.
- #2078: Ping input: add standard deviation field.
- #2121: Add GC pause metric to InfluxDB input plugin.
- #2006: Added response_timeout property to prometheus input plugin.
- #1763: Pulling github.com/lxn/win's pdh wrapper into telegraf.
- #1898: Support negative statsd counters.
- #1921: Elasticsearch cluster stats support.
- #1942: Change Amazon Kinesis output plugin to use the built-in serializer plugins.
- #1980: Hide username/password from elasticsearch error log messages.
- #2097: Configurable HTTP timeouts in Jolokia plugin
- #2255: Allow changing jolokia attribute delimiter
- #2049: Fix the Value data format not trimming null characters from input.
- #1949: Fix windows
net
plugin. - #1775: Cache & expire metrics for delivery to prometheus
- #1775: Cache & expire metrics for delivery to prometheus.
- #2146: Fix potential panic in aggregator plugin metric maker.
- #1843 & #1668: Add optional ability to define PID as a tag.
- #1730 & #2261: Fix win_perf_counters not gathering non-English counters.
- #2061: Fix panic when file stat info cannot be collected due to permissions or other issue(s).
- #2045: Graylog output should set short_message field.
- #1904: Hddtemp always put the value in the field temperature.
- #1693: Properly collect nested jolokia struct data.
- #1917: fix puppetagent inputs plugin to support string for config variable.
- #1987: fix docker input plugin tags when registry has port.
- #2089: Fix tail input when reading from a pipe.
- #1449: MongoDB plugin always shows 0 replication lag.
- #1825: Consul plugin: add check_id as a tag in metrics to avoid overwrites.
- #1973: Partial fix: logparser CLF pattern with IPv6 addresses.
- #1975 & #2102: Fix thread-safety when using multiple instances of the statsd input plugin.
- #2027: docker input: interface conversion panic fix.
- #1814: snmp: ensure proper context is present on error messages.
- #2299: opentsdb: add tcp:// prefix if no scheme provided.
- #2297: influx parser: parse line-protocol without newlines.
- #2245: influxdb output: fix field type conflict blocking output buffer.
- #2007: Make snmptranslate not required when using numeric OID.
- #2104: Add a global snmp translation cache.
- #2023: Fix issue parsing toml durations with single quotes.
-
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 alogfile
config option available in 1.1, which will allow users to easily configure telegraf to continue sending logs to /var/log/telegraf/telegraf.log.
- #1726: Processor & Aggregator plugin support.
- #1861: adding the tags in the graylog output plugin
- #1732: Telegraf systemd service, log to journal.
- #1782: Allow numeric and non-string values for tag_keys.
- #1694: Adding Gauge and Counter metric types.
- #1606: Remove carraige returns from exec plugin output on Windows
- #1674: elasticsearch input: configurable timeout.
- #1607: Massage metric names in Instrumental output plugin
- #1572: mesos improvements.
- #1513: Add Ceph Cluster Performance Statistics
- #1650: Ability to configure response_timeout in httpjson input.
- #1685: Add additional redis metrics.
- #1539: Added capability to send metrics through Http API for OpenTSDB.
- #1471: iptables input plugin.
- #1542: Add filestack webhook plugin.
- #1599: Add server hostname for each docker measurements.
- #1697: Add NATS output plugin.
- #1407 & #1915: HTTP service listener input plugin.
- #1699: Add database blacklist option for Postgresql
- #1791: Add Docker container state metrics to Docker input plugin output
- #1755: Add support to SNMP for IP & MAC address conversion.
- #1729: Add support to SNMP for OID index suffixes.
- #1813: Change default arguments for SNMP plugin.
- #1686: Mesos input plugin: very high-cardinality mesos-task metrics removed.
- #1838: Logging overhaul to centralize the logger & log levels, & provide a logfile config option.
- #1700: HAProxy plugin socket glob matching.
- #1847: Add Kubernetes plugin for retrieving pod metrics.
- #1955: Fix NATS plug-ins reconnection logic.
- #1936: Set required default values in udp_listener & tcp_listener.
- #1926: Fix toml unmarshal panic in Duration objects.
- #1746: Fix handling of non-string values for JSON keys listed in tag_keys.
- #1628: Fix mongodb input panic on version 2.2.
- #1733: Fix statsd scientific notation parsing
- #1716: Sensors plugin strconv.ParseFloat: parsing "": invalid syntax
- #1530: Fix prometheus_client reload panic
- #1764: Fix kafka consumer panic when nil error is returned down errs channel.
- #1768: Speed up statsd parsing.
- #1751: Fix powerdns integer parse error handling.
- #1752: Fix varnish plugin defaults not being used.
- #1517: Fix windows glob paths.
- #1137: Fix issue loading config directory on windows.
- #1772: Windows remote management interactive service fix.
- #1702: sqlserver, fix issue when case sensitive collation is activated.
- #1823: Fix huge allocations in http_listener when dealing with huge payloads.
- #1833: Fix translating SNMP fields not in MIB.
- #1835: Fix SNMP emitting empty fields.
- #1854: SQL Server waitstats truncation bug.
- #1810: Fix logparser common log format: numbers in ident.
- #1793: Fix JSON Serialization in OpenTSDB output.
- #1731: Fix Graphite template ordering, use most specific.
- #1836: Fix snmp table field initialization for non-automatic table.
- #1724: cgroups path being parsed as metric.
- #1886: Fix phpfpm fcgi client panic when URL does not exist.
- #1344: Fix config file parse error logging.
- #1771: Delete nil fields in the metric maker.
- #870: Fix MySQL special characters in DSN parsing.
- #1742: Ping input odd timeout behavior.
- #1950: Switch to github.com/kballard/go-shellquote.
- #1775: Prometheus output: Fix bug with multi-batch writes.
- #1738: Fix unmarshal of influxdb metrics with null tags.
- #1773: Add configurable timeout to influxdb input plugin.
- #1785: Fix statsd no default value panic.
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 ofcollection_jitter
. -
postgresql plugins now handle oid and name typed columns seamlessly, previously they were ignored/skipped.
- #1617: postgresql_extensible now handles name and oid types correctly.
- #1413: Separate container_version from container_image tag.
- #1525: Support setting per-device and total metrics for Docker network and blockio.
- #1466: MongoDB input plugin: adding per DB stats from db.stats()
- #1503: Add tls support for certs to RabbitMQ input plugin
- #1289: webhooks input plugin. Thanks @francois2metz and @cduez!
- #1247: rollbar webhook plugin.
- #1408: mandrill webhook plugin.
- #1402: docker-machine/boot2docker no longer required for unit tests.
- #1350: cgroup input plugin.
- #1369: Add input plugin for consuming metrics from NSQD.
- #1369: add ability to read redis from a socket.
- #1387: Breaking Change - Redis
role
tag renamed toreplication_role
to avoid global_tags override - #1437: Fetching Galera status metrics in MySQL
- #1500: Aerospike plugin refactored to use official client lib.
- #1434: Add measurement name arg to logparser plugin.
- #1479: logparser: change resp_code from a field to a tag.
- #1411: Implement support for fetching hddtemp data
- #1340: statsd: do not log every dropped metric.
- #1368: Add precision rounding to all metrics on collection.
- #1390: Add support for Tengine
- #1320: Logparser input plugin for parsing grok-style log patterns.
- #1397: ElasticSearch: now supports connecting to ElasticSearch via SSL
- #1262: Add graylog input pluging.
- #1294: consul input plugin. Thanks @harnash
- #1164: conntrack input plugin. Thanks @robinpercy!
- #1165: vmstat input plugin. Thanks @jshim-xm!
- #1208: Standardized AWS credentials evaluation & wildcard CloudWatch dimensions. Thanks @johnrengelman!
- #1264: Add SSL config options to http_response plugin.
- #1272: graphite parser: add ability to specify multiple tag keys, for consistency with influxdb parser.
- #1265: Make dns lookups for chrony configurable. Thanks @zbindenren!
- #1275: Allow wildcard filtering of varnish stats.
- #1142: Support for glob patterns in exec plugin commands configuration.
- #1278: RabbitMQ input: made url parameter optional by using DefaultURL (http://localhost:15672) if not specified
- #1197: Limit AWS GetMetricStatistics requests to 10 per second.
- #1278 & #1288 & #1295: RabbitMQ/Apache/InfluxDB inputs: made url(s) parameter optional by using reasonable input defaults if not specified
- #1296: Refactor of flush_jitter argument.
- #1213: Add inactive & active memory to mem plugin.
- #1543: Official Windows service.
- #1414: Forking sensors command to remove C package dependency.
- #1389: Add a new SNMP plugin.
- #1619: Fix
make windows
build target - #1519: Fix error race conditions and partial failures.
- #1477: nstat: fix inaccurate config panic.
- #1481: jolokia: fix handling multiple multi-dimensional attributes.
- #1430: Fix prometheus character sanitizing. Sanitize more win_perf_counters characters.
- #1534: Add diskio io_time to FreeBSD & report timing metrics as ms (as linux does).
- #1379: Fix covering Amazon Linux for post remove flow.
- #1584: procstat missing fields: read/write bytes & count
- #1472: diskio input plugin: set 'skip_serial_number = true' by default to avoid high cardinality.
- #1426: nil metrics panic fix.
- #1384: Fix datarace in apache input plugin.
- #1399: Add
read_repairs
statistics to riak plugin. - #1405: Fix memory/connection leak in prometheus input plugin.
- #1378: Trim BOM from config file for Windows support.
- #1339: Prometheus client output panic on service reload.
- #1461: Prometheus parser, protobuf format header fix.
- #1334: Prometheus output, metric refresh and caching fixes.
- #1432: Panic fix for multiple graphite outputs under very high load.
- #1412: Instrumental output has better reconnect behavior
- #1460: Remove PID from procstat plugin to fix cardinality issues.
- #1427: Cassandra input: version 2.x "column family" fix.
- #1463: Shared WaitGroup in Exec plugin
- #1436: logparser: honor modifiers in "pattern" config.
- #1418: logparser: error and exit on file permissions/missing errors.
- #1499: Make the user able to specify full path for HAproxy stats
- #1521: Fix Redis url, an extra "tcp://" was added.
- #1330: Fix exec plugin panic when using single binary.
- #1336: Fixed incorrect prometheus metrics source selection.
- #1112: Set default Zookeeper chroot to empty string.
- #1335: Fix overall ping timeout to be calculated based on per-ping timeout.
- #1374: Change "default" retention policy to "".
- #1377: Graphite output mangling '%' character.
- #1396: Prometheus input plugin now supports x509 certs authentication
- #1252 & #1279: Fix systemd service. Thanks @zbindenren & @PierreF!
- #1221: Fix influxdb n_shards counter.
- #1258: Fix potential kernel plugin integer parse error.
- #1268: Fix potential influxdb input type assertion panic.
- #1283: Still send processes metrics if a process exited during metric collection.
- #1297: disk plugin panic when usage grab fails.
- #1316: Removed leaked "database" tag on redis metrics. Thanks @PierreF!
- #1323: Processes plugin: fix potential error with /proc/net/stat directory.
- #1322: Fix rare RHEL 5.2 panic in gopsutil diskio gathering function.
- #1586: Remove IF NOT EXISTS from influxdb output database creation.
- #1600: Fix quoting with text values in postgresql_extensible plugin.
- #1425: Fix win_perf_counter "index out of range" panic.
- #1634: Fix ntpq panic when field is missing.
- #1637: Sanitize graphite output field names.
- #1695: Fix MySQL plugin not sending 0 value fields.
- net_response and http_response plugins timeouts will now accept duration strings, ie, "2s" or "500ms".
- Input plugin Gathers will no longer be logged by default, but a Gather for each plugin will be logged in Debug mode.
- Debug mode will no longer print every point added to the accumulator. This
functionality can be duplicated using the
file
output plugin and printing to "stdout".
- #1173: varnish input plugin. Thanks @sfox-xmatters!
- #1138: nstat input plugin. Thanks @Maksadbek!
- #1139: instrumental output plugin. Thanks @jasonroelofs!
- #1172: Ceph storage stats. Thanks @robinpercy!
- #1233: Updated golint gopsutil dependency.
- #1238: chrony input plugin. Thanks @zbindenren!
- #479: per-plugin execution time added to debug output.
- #1249: influxdb output: added write_consistency argument.
- #1195: Docker panic on timeout. Thanks @zstyblik!
- #1211: mongodb input. Fix possible panic. Thanks @kols!
- #1215: Fix for possible gopsutil-dependent plugin hangs.
- #1228: Fix service plugin host tag overwrite.
- #1198: http_response: override request Host header properly
- #1230: Fix Telegraf process hangup due to a single plugin hanging.
- #1214: Use TCP timeout argument in net_response plugin.
- #1243: Logfile not created on systemd.
-
Breaking change in jolokia plugin. See https://github.com/influxdata/telegraf/blob/master/plugins/inputs/jolokia/README.md 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
anddocker_net
measurements are being renamed todocker_container_cpu
,docker_container_mem
,docker_container_blkio
anddocker_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
andtaginclude
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 tofielddrop = ["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:
- cassandra:
host -> cassandra_host
- disque:
host -> disque_host
- rethinkdb:
host -> rethinkdb_host
- cassandra:
-
Breaking 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 thesnmp_host
tag. -
The
disk
input plugin can now be configured with theHOST_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.
- #1031: Jolokia plugin proxy mode. Thanks @saiello!
- #1017: taginclude and tagexclude arguments.
- #1015: Docker plugin schema refactor.
- #889: Improved MySQL plugin. Thanks @maksadbek!
- #1060: TTL metrics added to MongoDB input plugin
- #1056: Don't allow inputs to overwrite host tags.
- #1035: Add
user
,exe
,pidfile
tags to procstat plugin. - #1041: Add
n_cpus
field to the system plugin. - #1072: New Input Plugin: filestat.
- #1066: Replication lag metrics for MongoDB input plugin
- #1086: Ability to specify AWS keys in config file. Thanks @johnrengleman!
- #1096: Performance refactor of running output buffers.
- #967: Buffer logging improvements.
- #1107: Support lustre2 job stats. Thanks @hanleyja!
- #1122: Support setting config path through env variable and default paths.
- #1128: MongoDB jumbo chunks metric for MongoDB input plugin
- #1146: HAProxy socket support. Thanks weshmashian!
- #1050: jolokia plugin - do not overwrite host tag. Thanks @saiello!
- #921: mqtt_consumer stops gathering metrics. Thanks @chaton78!
- #1013: Close dead riemann output connections. Thanks @echupriyanov!
- #1012: Set default tags in test accumulator.
- #1024: Don't replace
.
with_
in datadog output. - #1058: Fix possible leaky TCP connections in influxdb output.
- #1044: Fix SNMP OID possible collisions. Thanks @relip
- #1022: Dont error deb/rpm install on systemd errors.
- #1078: Use default AWS credential chain.
- #1070: SQL Server input. Fix datatype conversion.
- #1089: Fix leaky TCP connections in phpfpm plugin.
- #914: Telegraf can drop metrics on full buffers.
- #1098: Sanitize invalid OpenTSDB characters.
- #1110: Sanitize * to - in graphite serializer. Thanks @goodeggs!
- #1118: Sanitize Counter names for
win_perf_counters
input. - #1125: Wrap all exec command runners with a timeout, so hung os processes don't halt Telegraf.
- #1113: Set MaxRetry and RequiredAcks defaults in Kafka output.
- #1090: [agent] and [global_tags] config sometimes not getting applied.
- #1133: Use a timeout for docker list & stat cmds.
- #1052: Docker panic fix when decode fails.
- #1136: "DELAYED" Inserts were deprecated in MySQL 5.6.6. Thanks @PierreF
- Breaking change in the dovecot input plugin. See Features section below.
- Graphite output templates are now supported. See https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md#graphite
- Possible breaking change for the librato and graphite outputs. Telegraf will
no longer insert field names when the field is simply named
value
. This is because thevalue
field is redundant in the graphite/librato context.
- #1009: Cassandra input plugin. Thanks @subhachandrachandra!
- #976: Reduce allocations in the UDP and statsd inputs.
- #979: Reduce allocations in the TCP listener.
- #992: Refactor allocations in TCP/UDP listeners.
- #935: AWS Cloudwatch input plugin. Thanks @joshhardy & @ljosa!
- #943: http_response input plugin. Thanks @Lswith!
- #939: sysstat input plugin. Thanks @zbindenren!
- #998: breaking change enabled global, user and ip queries in dovecot plugin. Thanks @mikif70!
- #1001: Graphite serializer templates.
- #1008: Adding memstats metrics to the influxdb plugin.
- #968: Processes plugin gets unknown state when spaces are in (command name)
- #969: ipmi_sensors: allow : in password. Thanks @awaw!
- #972: dovecot: remove extra newline in dovecot command. Thanks @mrannanj!
- #645: docker plugin i/o error on closed pipe. Thanks @tripledes!
- #951: Parse environment variables in the config file.
- #948: Cleanup config file and make default package version include all plugins (but commented).
- #927: Adds parsing of tags to the statsd input when using DataDog's dogstatsd extension
- #863: AMQP output: allow external auth. Thanks @ekini!
- #707: Improved prometheus plugin. Thanks @titilambert!
- #878: Added json serializer. Thanks @ch3lo!
- #880: Add the ability to specify the bearer token to the prometheus plugin. Thanks @jchauncey!
- #882: Fixed SQL Server Plugin issues
- #849: Adding ability to parse single values as an input data type.
- #844: postgres_extensible plugin added. Thanks @menardorama!
- #866: couchbase input plugin. Thanks @ljosa!
- #789: Support multiple field specification and
field*
in graphite templates. Thanks @chrusty! - #762: Nagios parser for the exec plugin. Thanks @titilambert!
- #848: Provide option to omit host tag from telegraf agent.
- #928: Deprecating the statsd "convert_names" options, expose separator config.
- #919: ipmi_sensor input plugin. Thanks @ebookbug!
- #945: KAFKA output: codec, acks, and retry configuration. Thanks @framiere!
- #890: Create TLS config even if only ssl_ca is provided.
- #884: Do not call write method if there are 0 metrics to write.
- #898: Put database name in quotes, fixes special characters in the database name.
- #656: No longer run
lsof
on linux to get netstat data, fixes permissions issue. - #907: Fix prometheus invalid label/measurement name key.
- #841: Fix memcached unix socket panic.
- #873: Fix SNMP plugin sometimes not returning metrics. Thanks @titiliambert!
- #934: phpfpm: Fix fcgi uri path. Thanks @rudenkovk!
- #805: Kafka consumer stops gathering after i/o timeout.
- #959: reduce mongodb & prometheus collection timeouts. Thanks @PierreF!
- Primarily this release was cut to fix #859
- #747: Start telegraf on install & remove on uninstall. Thanks @pierref!
- #794: Add service reload ability. Thanks @entertainyou!
- #692: Support InfluxDB retention policies
- #771: Default timeouts for input plugns. Thanks @PierreF!
- #758: UDP Listener input plugin, thanks @whatyouhide!
- #769: httpjson plugin: allow specifying SSL configuration.
- #735: SNMP Table feature. Thanks @titilambert!
- #754: docker plugin: adding
docker info
metrics to output. Thanks @titilambert! - #788: -input-list and -output-list command-line options. Thanks @ebookbug!
- #778: Adding a TCP input listener.
- #797: Provide option for persistent MQTT consumer client sessions.
- #799: Add number of threads for procstat input plugin. Thanks @titilambert!
- #776: Add Zookeeper chroot option to kafka_consumer. Thanks @prune998!
- #811: Add processes plugin for classifying total procs on system. Thanks @titilambert!
- #235: Add number of users to the
system
input plugin. - #826: "kernel" linux plugin for /proc/stat metrics (context switches, interrupts, etc.)
- #847:
ntpq
: Input plugin for running ntp query executable and gathering metrics.
- #748: Fix sensor plugin split on ":"
- #722: Librato output plugin fixes. Thanks @chrusty!
- #745: Fix Telegraf toml parse panic on large config files. Thanks @titilambert!
- #781: Fix mqtt_consumer username not being set. Thanks @chaton78!
- #786: Fix mqtt output username not being set. Thanks @msangoi!
- #773: Fix duplicate measurements in snmp plugin. Thanks @titilambert!
- #708: packaging: build ARM package
- #713: packaging: insecure permissions error on log directory
- #816: Fix phpfpm panic if fcgi endpoint unreachable.
- #828: fix net_response plugin overwriting host tag.
- #821: Remove postgres password from server tag. Thanks @menardorama!
- Bug in the build script broke deb and rpm packages.
- The pass/drop parameters have been renamed to fielddrop/fieldpass parameters, to more accurately indicate their purpose.
- There are also now namedrop/namepass parameters for passing/dropping based on the metric name.
- Experimental windows builds now available.
- #727: riak input, thanks @jcoene!
- #694: DNS Query input, thanks @mjasion!
- #724: username matching for procstat input, thanks @zorel!
- #736: Ignore dummy filesystems from disk plugin. Thanks @PierreF!
- #737: Support multiple fields for statsd input. Thanks @mattheath!
- #701: output write count shouldnt print in quiet mode.
- #746: httpjson plugin: Fix HTTP GET parameters.
- Users of the
exec
andkafka_consumer
(and the newnats_consumer
andmqtt_consumer
plugins) can now specify the incoming data format that they would like to parse. Currently supports: "json", "influx", and "graphite" - Users of message broker and file output plugins can now choose what data format they would like to output. Currently supports: "influx" and "graphite"
- More info on parsing incoming data formats can be found here
- More info on serializing outgoing data formats can be found here
- Telegraf now has an option
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 totrue
and is in the[agent]
config section.
- #652: CouchDB Input Plugin. Thanks @codehate!
- #655: Support parsing arbitrary data formats. Currently limited to kafka_consumer and exec inputs.
- #671: Dovecot input plugin. Thanks @mikif70!
- #680: NATS consumer input plugin. Thanks @netixen!
- #676: MQTT consumer input plugin.
- #683: PostGRES input plugin: add pg_stat_bgwriter. Thanks @menardorama!
- #679: File/stdout output plugin.
- #679: Support for arbitrary output data formats.
- #695: raindrops input plugin. Thanks @burdandrei!
- #650: net_response input plugin. Thanks @titilambert!
- #699: Flush based on buffer size rather than time.
- #682: Mesos input plugin. Thanks @tripledes!
- #443: Fix Ping command timeout parameter on Linux.
- #662: Change
[tags]
to[global_tags]
to fix multiple-plugin tags bug. - #642: Riemann output plugin issues.
- #394: Support HTTP POST. Thanks @gabelev!
- #715: Fix influxdb precision config panic. Thanks @netixen!
- Statsd timing measurements are now aggregated into a single measurement with fields.
- Graphite output now inserts tags into the bucket in alphabetical order.
- Normalized TLS/SSL support for output plugins: MQTT, AMQP, Kafka
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 byinsecure_skip_verify
- #575: Support for collecting Windows Performance Counters. Thanks @TheFlyingCorpse!
- #564: features for plugin writing simplification. Internal metric data type.
- #603: Aggregate statsd timing measurements into fields. Thanks @marcinbunsch!
- #601: Warn when overwriting cached metrics.
- #614: PowerDNS input plugin. Thanks @Kasen!
- #617: exec plugin: parse influx line protocol in addition to JSON.
- #628: Windows perf counters: pre-vista support
- #595: graphite output should include tags to separate duplicate measurements.
- #599: datadog plugin tags not working.
- #600: datadog measurement/field name parsing is wrong.
- #602: Fix statsd field name templating.
- #612: Docker input panic fix if stats received are nil.
- #634: Properly set host headers in httpjson. Thanks @reginaldosousa!
- Telegraf now keeps a fixed-length buffer of metrics per-output. This buffer defaults to 10,000 metrics, and is adjustable. The buffer is cleared when a successful write to that output occurs.
- The docker plugin has been significantly overhauled to add more metrics and allow for docker-machine (incl OSX) support. See the readme for the latest measurements, fields, and tags. There is also now support for specifying a docker endpoint to get metrics from.
- #509: Flatten JSON arrays with indices. Thanks @psilva261!
- #512: Python 3 build script, add lsof dep to package. Thanks @Ormod!
- #475: Add response time to httpjson plugin. Thanks @titilambert!
- #519: Added a sensors input based on lm-sensors. Thanks @md14454!
- #467: Add option to disable statsd measurement name conversion.
- #534: NSQ input plugin. Thanks @allingeek!
- #494: Graphite output plugin. Thanks @titilambert!
- AMQP SSL support. Thanks @ekini!
- #539: Reload config on SIGHUP. Thanks @titilambert!
- #522: Phusion passenger input plugin. Thanks @kureikain!
- #541: Kafka output TLS cert support. Thanks @Ormod!
- #551: Statsd UDP read packet size now defaults to 1500 bytes, and is configurable.
- #552: Support for collection interval jittering.
- #484: Include usage percent with procstat metrics.
- #553: Amazon CloudWatch output. thanks @skwong2!
- #503: Support docker endpoint configuration.
- #563: Docker plugin overhaul.
- #285: Fixed-size buffer of points.
- #546: SNMP Input plugin. Thanks @titilambert!
- #589: Microsoft SQL Server input plugin. Thanks @zensqlmonitor!
- #573: Github webhooks consumer input. Thanks @jackzampolin!
- #471: httpjson request headers. Thanks @asosso!
- #506: Ping input doesn't return response time metric when timeout. Thanks @titilambert!
- #508: Fix prometheus cardinality issue with the
net
plugin - #499 & #502: php fpm unix socket and other fixes, thanks @kureikain!
- #543: Statsd Packet size sometimes truncated.
- #440: Don't query filtered devices for disk stats.
- #463: Docker plugin not working on AWS Linux
- #568: Multiple output race condition.
- #585: Log stack trace and continue on Telegraf panic. Thanks @wutaizeng!
- Linux packages have been taken out of
opt
, the binary is now in/usr/bin
and configuration files are in/etc/telegraf
- breaking change
plugins
have been renamed toinputs
. This was done becauseplugins
is too generic, as there are now also "output plugins", and will likely be "aggregator plugins" and "filter plugins" in the future. Additionally,inputs/
andoutputs/
directories have been placed in the root-levelplugins/
directory. - breaking change the
io
plugin has been renameddiskio
- breaking change plugin measurements aggregated into a single measurement.
- breaking change
jolokia
plugin: must use global tag/drop/pass parameters for configuration. - breaking change
twemproxy
plugin:prefix
option removed. - breaking change
procstat
cpu measurements are now prepended withcpu_time_
instead of onlycpu_
- breaking change some command-line flags have been renamed to separate words.
-configdirectory
->-config-directory
,-filter
->-input-filter
,-outputfilter
->-output-filter
- The prometheus plugin schema has not been changed (measurements have not been aggregated).
RHEL/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.
- Plugin measurements aggregated into a single measurement.
- Added ability to specify per-plugin tags
- Added ability to specify per-plugin measurement suffix and prefix.
(
name_prefix
andname_suffix
) - Added ability to override base plugin measurement name. (
name_override
)
- #427: zfs plugin: pool stats added. Thanks @allenpetersen!
- #428: Amazon Kinesis output. Thanks @jimmystewpot!
- #449: influxdb plugin, thanks @mark-rushakoff
- #430: Network statistics removed in elasticsearch 2.1. Thanks @jipperinbham!
- #452: Elasticsearch open file handles error. Thanks @jipperinbham!
- #412: Additional memcached stats. Thanks @mgresser!
- #410: Additional redis metrics. Thanks @vlaadbrain!
- #414: Jolokia plugin auth parameters
- #415: memcached plugin: support unix sockets
- #418: memcached plugin additional unit tests.
- #408: MailChimp plugin.
- #382: Add system wide network protocol stats to
net
plugin. - #401: Support pass/drop/tagpass/tagdrop for outputs. Thanks @oldmantaiter!
- breaking change The
kafka
plugin has been renamed tokafka_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. - Plugins can now be specified as a list, and multiple plugin instances of the same type can be specified, like this:
[[inputs.cpu]]
percpu = false
totalcpu = true
[[inputs.cpu]]
percpu = true
totalcpu = false
drop = ["cpu_time"]
- Riemann output added
- Aerospike plugin: tag changed from
host
->aerospike_host
- #379: Riemann output, thanks @allenj!
- #375: kafka_consumer service plugin.
- #392: Procstat plugin can now accept pgrep -f pattern, thanks @ecarreras!
- #383: Specify plugins as a list.
- #354: Add ability to specify multiple metrics in one statsd line. Thanks @MerlinDMC!
- 0.2.1 has a bug where all lists within plugins get duplicated, this includes lists of servers/URLs. 0.2.2 is being released solely to fix that bug
- #377: Fix for duplicate slices in inputs.
- Telegraf will no longer use docker-compose for "long" unit test, it has been
changed to just run docker commands in the Makefile. See
make docker-run
andmake docker-kill
.make test
will still run all unit tests with docker. - Long unit tests are now run in CircleCI, with docker & race detector
- Redis plugin tag has changed from
host
toserver
- HAProxy plugin tag has changed from
host
toserver
- UDP output now supported
- Telegraf will now compile on FreeBSD
- Users can now specify outputs as lists, specifying multiple outputs of the same type.
- #325: NSQ output. Thanks @jrxFive!
- #318: Prometheus output. Thanks @oldmantaiter!
- #338: Restart Telegraf on package upgrade. Thanks @linsomniac!
- #337: Jolokia plugin, thanks @saiello!
- #350: Amon output.
- #365: Twemproxy plugin by @codeb2cc
- #317: ZFS plugin, thanks @cornerot!
- #364: Support InfluxDB UDP output.
- #370: Support specifying multiple outputs, as lists.
- #372: Remove gosigar and update go-dockerclient for FreeBSD support. Thanks @MerlinDMC!
- #331: Dont overwrite host tag in redis plugin.
- #336: Mongodb plugin should take 2 measurements.
- #351: Fix continual "CREATE DATABASE" in writes
- #360: Apply prefix before ShouldPass check. Thanks @sotfo!
- The -test flag will now only output 2 collections for plugins that need it
- There is a new agent configuration option:
flush_interval
. This option tells Telegraf how often to flush data to InfluxDB and other output sinks. For example, users can setinterval = "2s"
andflush_interval = "60s"
for Telegraf to collect data every 2 seconds, and flush every 60 seconds. precision
andutc
are no longer valid agent config values.precision
has moved to theinfluxdb
output config, where it will continue to default to "s"- debug and test output will now print the raw line-protocol string
- Telegraf will now, by default, round the collection interval to the nearest
even interval. This means that
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 theround_interval
andflush_jitter
config options. - Telegraf will now retry metric flushes twice
- #205: Include per-db redis keyspace info
- #226: Add timestamps to points in Kafka/AMQP outputs. Thanks @ekini
- #90: Add Docker labels to tags in docker plugin
- #223: Add port tag to nginx plugin. Thanks @neezgee!
- #227: Add command intervals to exec plugin. Thanks @jpalay!
- #241: MQTT Output. Thanks @shirou!
- Memory plugin: cached and buffered measurements re-added
- Logging: additional logging for each collection interval, track the number of metrics collected and from how many inputs.
- #240: procstat plugin, thanks @ranjib!
- #244: netstat plugin, thanks @shirou!
- #262: zookeeper plugin, thanks @jrxFive!
- #237: statsd service plugin, thanks @sparrc
- #273: puppet agent plugin, thats @jrxFive!
- #280: Use InfluxDB client v2.
- #281: Eliminate need to deep copy Batch Points.
- #286: bcache plugin, thanks @cornerot!
- #287: Batch AMQP output, thanks @ekini!
- #301: Collect on even intervals
- #298: Support retrying output writes
- #300: aerospike plugin. Thanks @oldmantaiter!
- #322: Librato output. Thanks @jipperinbham!
- #228: New version of package will replace old one. Thanks @ekini!
- #232: Fix bashism run during deb package installation. Thanks @yankcrime!
- #261: RabbitMQ panics if wrong credentials given. Thanks @ekini!
- #245: Document Exec plugin example. Thanks @ekini!
- #264: logrotate config file fixes. Thanks @linsomniac!
- #290: Fix some plugins sending their values as strings.
- #289: Fix accumulator panic on nil tags.
- #302: Fix
[tags]
getting applied, thanks @gotyaoi!
- InfluxDB output config change:
url
is nowurls
, and is a list. Config files will still be backwards compatible if onlyurl
is specified. - The -test flag will now output two metric collections
- Support for filtering telegraf outputs on the CLI -- Telegraf will now
allow filtering of output sinks on the command-line using the
-outputfilter
flag, much like how the-filter
flag works for inputs. - Support for filtering on config-file creation -- Telegraf now supports
filtering to -sample-config command. You can now run
telegraf -sample-config -filter cpu -outputfilter influxdb
to get a config file with only the cpu plugin defined, and the influxdb output defined. - Breaking Change: The CPU collection plugin has been refactored to fix some bugs and outdated dependency issues. At the same time, I also decided to fix a naming consistency issue, so cpu_percentageIdle will become cpu_usage_idle. Also, all CPU time measurements now have it indicated in their name, so cpu_idle will become cpu_time_idle. Additionally, cpu_time measurements are going to be dropped in the default config.
- Breaking Change: The memory plugin has been refactored and some measurements have been renamed for consistency. Some measurements have also been removed from being outputted. They are still being collected by gopsutil, and could easily be re-added in a "verbose" mode if there is demand for it.
- #143: InfluxDB clustering support
- #181: Makefile GOBIN support. Thanks @Vye!
- #203: AMQP output. Thanks @ekini!
- #182: OpenTSDB output. Thanks @rplessl!
- #187: Retry output sink connections on startup.
- #220: Add port tag to apache plugin. Thanks @neezgee!
- #217: Add filtering for output sinks and filtering when specifying a config file.
- #170: Systemd support
- #175: Set write precision before gathering metrics
- #178: redis plugin, multiple server thread hang bug
- Fix net plugin on darwin
- #84: Fix docker plugin on CentOS. Thanks @neezgee!
- #189: Fix mem_used_perc. Thanks @mced!
- #192: Increase compatibility of postgresql plugin. Now supports versions 8.1+
- #203: EL5 rpm support. Thanks @ekini!
- #206: CPU steal/guest values wrong on linux.
- #212: Add hashbang to postinstall script. Thanks @ekini!
- #212: Fix makefile warning. Thanks @ekini!
- Telegraf will now write data in UTC at second precision by default
- Now using Go 1.5 to build telegraf
- #150: Add Host Uptime metric to system plugin
- #158: Apache Plugin. Thanks @KPACHbIuLLIAnO4
- #159: Use second precision for InfluxDB writes
- #165: Add additional metrics to mysql plugin. Thanks @nickscript0
- #162: Write UTC by default, provide option
- #166: Upload binaries to S3
- #169: Ping plugin
- #38: Kafka output producer.
- #133: Add plugin.Gather error logging. Thanks @nickscript0!
- #136: Add a -usage flag for printing usage of a single plugin.
- #137: Memcached: fix when a value contains a space
- #138: MySQL server address tag.
- #142: Add Description and SampleConfig funcs to output interface
- Indent the toml config file for readability
- #128: system_load measurement missing.
- #129: Latest pkg url fix.
- #131: Fix memory reporting on linux & darwin. Thanks @subhachandrachandra!
- #140: Memory plugin prec->perc typo fix. Thanks @brunoqc!
- #112: Datadog output. Thanks @jipperinbham!
- #116: Use godep to vendor all dependencies
- #120: Httpjson plugin. Thanks @jpalay & @alvaromorales!
- #113: Update README with Telegraf/InfluxDB compatibility
- #118: Fix for disk usage stats in Windows. Thanks @srfraser!
- #122: Fix for DiskUsage segv fault. Thanks @srfraser!
- #126: Nginx plugin not catching net.SplitHostPort error
- #54: MongoDB plugin. Thanks @jipperinbham!
- #55: Elasticsearch plugin. Thanks @brocaar!
- #71: HAProxy plugin. Thanks @kureikain!
- #72: Adding TokuDB metrics to MySQL. Thanks vadimtk!
- #73: RabbitMQ plugin. Thanks @ianunruh!
- #77: Automatically create database.
- #79: Nginx plugin. Thanks @codeb2cc!
- #86: Lustre2 plugin. Thanks srfraser!
- #91: Unit testing
- #92: Exec plugin. Thanks @alvaromorales!
- #98: LeoFS plugin. Thanks @mocchira!
- #103: Filter by metric tags. Thanks @srfraser!
- #106: Options to filter plugins on startup. Thanks @zepouet!
- #107: Multiple outputs beyong influxdb. Thanks @jipperinbham!
- #108: Support setting per-CPU and total-CPU gathering.
- #111: Report CPU Usage in cpu plugin. Thanks @jpalay!
- #85: Fix GetLocalHost testutil function for mac users
- #89: go fmt fixes
- #94: Fix for issue #93, explicitly call sarama.v1 -> sarama
- #101: switch back from master branch if building locally
- #99: update integer output to new InfluxDB line protocol format
- #56: Update README for Kafka plugin. Thanks @EmilS!
- #50: Fix init.sh script to use telegraf directory. Thanks @jseriff!
- #52: Update CHANGELOG to reference updated directory. Thanks @benfb!
- #45: Skip disk tags that don't have a value. Thanks @jhofeditz!
- #43: Fix bug in MySQL plugin. Thanks @marcosnils!
- #12: Add Linux/ARM to the list of built binaries. Thanks @voxxit!
- #14: Clarify the S3 buckets that Telegraf is pushed to.
- #16: Convert Redis to use URI, support Redis AUTH. Thanks @jipperinbham!
- #21: Add memcached plugin. Thanks @Yukki!
- #13: Fix the packaging script.
- #19: Add host name to metric tags. Thanks @sherifzain!
- #20: Fix race condition with accumulator mutex. Thanks @nkatsaros!
- #23: Change name of folder for packages. Thanks @colinrymer!
- #32: Fix spelling of memoory -> memory. Thanks @tylernisonoff!
This is the initial release of Telegraf.