Documentation

Telegraf release notes

v1.30.1

Bug fixes

  • Chrony (inputs.chrony): Remove chronyc dependency in documentation.
  • DiskIO (inputs.diskio): Add missing udev properties.
  • DNS Query (inputs.dns_query):
    • Fill out additional record fields.
    • Include the canonical CNAME target.
  • KNX (inputs.knx_listener):
    • Ignore GroupValueRead requests.
    • Reconnect after connection loss.
  • MySQL (inputs.mysql):
    • Parse boolean values in metric v1 correctly.
    • Use correct column-types for Percona 8 user stats.
  • NVIDIA SMI (inputs.nvidia_smi): Add process info metrics.
  • OpenStack(inputs.openstack): Resolve regression in block storage and server info.
  • PHP-FPM (inputs.phpfpm): Add timeout for fcgi.
  • Ping (inputs.ping): Add option to force ipv4.
  • Prometheus (inputs.prometheus): Initialize logger of parser.
  • S.M.A.R.T. (inputs.smart): Improve regexp to support flags with a plus.
  • Systemd Units (inputs.systemd_units): Handle disabled multi-instance units correctly.
  • BigQuery (outputs.bigquery): Add scope to bigquery and remove timeout context.
  • Avoid count underflow by only counting initialized secrets.
  • Ensure watch-config is passed to the Windows service.

Dependency updates

  • Update github.com/IBM/sarama from v1.42.2 to v1.43.1.
  • Update github.com/aws/aws-sdk-go-v2 from 1.25.3 to 1.26.0.
  • Update github.com/aws/aws-sdk-go-v2/config from 1.27.5 to 1.27.9.
  • Update github.com/aws/aws-sdk-go-v2/feature/ec2/imds from 1.15.2 to 1.16.0.
  • Update github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs from 1.34.2 to 1.34.3.
  • Update github.com/aws/aws-sdk-go-v2/service/ec2 from 1.149.3 to 1.151.1.
  • Update github.com/aws/aws-sdk-go-v2/service/sts from 1.28.2 to 1.28.4.
  • Update github.com/docker/docker from 25.0.0+incompatible to 25.0.5+incompatible.
  • Update github.com/jackc/pgtype from 1.14.0 to 1.14.2.
  • Update github.com/jackc/pgx/v4 from 4.18.1 to 4.18.2.
  • Update github.com/klauspost/compress from 1.17.6 to 1.17.7.
  • Update github.com/pion/dtls/v2 from 2.2.8 to 2.2.10.
  • Update github.com/prometheus-community/pro-bing from 0.3.0 to 0.4.0.
  • Update github.com/prometheus/procfs from 0.12.0 to 0.13.0.
  • Update github.com/stretchr/testify v1.8.4 to v1.9.0.
  • Update go.step.sm/crypto from 0.43.0 to 0.44.1.
  • Update golang.org/x/crypto from 0.20.0 to 0.21.0.
  • Update gonum.org/v1/gonum from 0.14.0 to 0.15.0.
  • Update google.golang.org/api from 0.165.0 to 0.171.0.
  • Update google.golang.org/protobuf from 1.32.0 to 1.33.0.
  • Update tj-actions/changed-files from 42 to 43.

v1.30.0

Deprecation removals

This release removes the following deprecated plugins:

  • inputs.cassandra
  • inputs.httpjson
  • inputs.io
  • inputs.jolokia
  • inputs.kafka_consumer_legacy
  • inputs.snmp_legacy
  • inputs.tcp_listener
  • inputs.udp_listener
  • outputs.riemann_legacy

Furthermore, the following deprecated plugin options are removed:

  • mountpoints of inputs.disk
  • metric_buffer of inputs.mqtt_consumer
  • metric_buffer of inputs.nats_consumer
  • url of outputs.influxdb

Replacements do exist, so please migrate your configuration in case you are still using one of these plugins. The telegraf config migrate command can help with migrating to newer plugins.

Important Changes

  • The default read-timeout of inputs.syslog of five seconds is not a sensible default as the plugin will close the connection if the time between consecutive messages exceeds the timeout. Telegraf 1.30.0+ sets the timeout to infinite (i.e zero) as this is the expected behavior.
  • Telegraf 1.30.0+ correctly sanitize PostgreSQL addresses, which may change the server tag value for a URI-formatted address that contains spaces, backslashes or single-quotes in non-redacted parameters.

New Plugins

Outputs

Serializers

Processors

Features

  • Add loongarch64 nightly and release builds.
  • Add skip_processors_after_aggregators configuration option to skip re-running processors after aggregators.
  • Allow secrets in headers
  • OPCUA (common.opcua): Add debug info for nodes not in server namespace.
  • Aerospike (inputs.aerospike): Deprecate plugin.
  • AMD ROCm System Management Interface (inputs.amd_rocm_smi): Add startup_error_behavior configuration option.
  • Chrony (inputs.chrony):
    • Allow the collection of additional metrics.
    • Remove chronyc dependency.
  • Kafka Consumer (inputs.kafka_consumer): Mark messages that failed parsing.
  • Kernel (inputs.kernel): Add pressure stall information.
  • Modbus (inputs.modbus): Add a workaround for unusual string-byte locations.
  • Net (inputs.net): Add speed metric.
  • NVIDIA SMI (inputs.nvidia_smi): Add startup_error_behavior configuration option.
  • Prometheus (inputs.prometheus):
    • Add internal metrics.
    • Add option to limit body length.
  • Redfish (inputs.redfish): Allow secrets for username/password configuration.
  • S.M.A.R.T. (inputs.smart): Add a device_type tag to differentiate disks behind a RAID controller.
  • SQL Server (inputs.sqlserver): Add stolen target memory ratio.
  • Systemd Units (inputs.systemd_units)
    • Support querying unloaded/disabled units.
    • Introduce show subcommand for additional data.
  • Windows Services (inputs.win_services): Make service selection case-insensitive.
  • Graphite (outputs.graphite): Set the local address to bind to.
  • NATS (outputs.nats): Introduce NATS Jetstream option.
  • Nebius Cloud Monitoring (outputs.nebius_cloud_monitoring): Add service configuration setting.
  • Webscoket (outputs.websocket): Support secrets in headers.
  • CSV (serializers.csv): Specify a fixed column order.

Bug fixes

  • Catch panics in input plugin goroutines.
  • Reword error message about missing configuration options.
  • Docker Log (inputs.docker_log): Use the correct name when matching container.
  • GNMI (inputs.gnmi):
    • Add option to infer the path tag from the subscription.
    • Handle canonical field-name correctly
  • Netflow (inputs.netflow): Fallback to IPFIX mappings for Netflow v9.
  • PHP-FPM (inputs.phpfpm): Continue despite erroneous sockets.
  • Prometheus (inputs.prometheus): List namespaces only when filtering by namespace.
  • Prometheus (parsers.prometheus): Do not touch input data for protocol-buffers.
  • Override (processors.override): Correct TOML tag name.
  • Ensure valid statefile in package.

Dependency updates

  • Update all github.com/aws/aws-sdk-go-v2 dependencies.
  • Update cloud.google.com/go/bigquery from 1.58.0 to 1.59.1.
  • Update github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.27.0 to 1.30.2.
  • Update github.com/cloudevents/sdk-go/v2 from 2.15.0 to 2.15.2.
  • Update github.com/eclipse/paho.golang from 0.20.0 to 0.21.0.
  • Update github.com/microsoft/go-mssqldb from 1.6.0 to 1.7.0.
  • Update github.com/netsampler/goflow2 from v1.3.6 to v2.1.2.
  • Update github.com/peterbourgon/unixtransport from 0.0.3 to 0.0.4.
  • Update github.com/prometheus/client_model from 0.5.0 to 0.6.0.
  • Update github.com/srebhan/cborquery from v0.0.0-20230626165538-38be85b82316 to v1.0.1.
  • Update github.com/vapourismo/knx-go from v0.0.0-20240107135439-816b70397a00 to v0.0.0-20240217175130-922a0d50c241.
  • Update go.mongodb.org/mongo-driver from 1.13.1 to 1.14.0.
  • Update golang.org/x/crypto from 0.19.0 to 0.20.0.
  • Update modernc.org/sqlite from 1.28.0 to 1.29.2.
  • Update super-linter/super-linter from 6.1.1 to 6.3.0.

v1.29.0

New Plugins

Inputs

  • LDAP (inputs.inputs.ldap)

Outputs

Processors

Secret Stores

Features

  • Agent (agent): Allow separators for namepass and namedrop filters
  • Final (aggregators.final): Specify output strategy
  • HTTP (common.http): Add support for connecting over unix-socket
  • OPCUA (common.opcua): Add option to include OPC-UA DataType as a field
  • Config (config): Deprecate fieldpass and fielddrop modifiers
  • Intel PMT (input.intel_pmt): Add pci_bdf tag to uniquely identify GPUs and other peripherals
  • AMQP Consumer (inputs.amqp_consumer): Add secretstore support for username and password
  • Docker (inputs.docker): Add disk usage
  • DPDK (inputs.dpdk): Add options to customize error-behavior and metric layout
  • Elasticsearch (inputs.elasticsearch): Use HTTPClientConfig struct
  • Elasticsearch Query (inputs.elasticsearch_query): Use HTTPClientConfig struct
  • GNMI (inputs.gnmi): Rework plugin
  • HTTP Response (inputs.http_response): Add body form configuration option
  • Intel PowerStat (inputs.intel_powerstat): Extract business logic to external library
  • Kafka Consumer (inputs.kafka_consumer):
    • Add message headers as metric tags
    • Add option to set metric name from message header
  • Kibana (inputs.kibana): Use HTTPClientConfig struct
  • Kube Inventory (inputs.kube_inventory)
    • Support filtering pods and nodes by node name
    • Support using kubelet to get pods data
  • LDAP (inputs.ldap): Collect additional fields
  • Logstash (inputs.logstash): Use HTTPClientConfig struct
  • Modbus (inputs.modbus): Add support for string fields
  • NATS Consumer (inputs.nats_consumer): Add nkey-seed-file authentication
  • OPCUA Listener (inputs.opcua_listener): Add monitoring params
  • Open Weather Map(inputs.openweathermap): Add per-city query scheme for current weather
  • procstat (inputs.procstat): Obtain process information through supervisor
  • RabbitMQ (inputs.rabbitmq): Add secretstore support for username and password
  • Redfish (inputs.redfish): Allow specifying which metrics to collect
  • SNMP (inputs.snmp): Hint to use source tag
  • Socket Listener (inputs.socket_listener): Add vsock support to socket listener and writer
  • SQL (inputs.sql):
    • Add Oracle driver
    • Add IBM Netezza driver
  • Windows Service (inputs.win_service): Reduce required rights to GENERIC_READ
  • Migrations (migrations):
    • Add migration for fieldpass and fielddrop
    • Add migration for inputs.jolokia
    • Add migration for inputs.kafka_consumer_legacy
    • Add migration for inputs.snmp_legacy
    • Add migration for inputs.tcp_listener
    • Add migration for inputs.udp_listener
    • Add migration for outputs.riemann_legacy
    • Add option migration for inputs.disk
    • Add option migration for inputs.mqtt_consumer
    • Add option migration for inputs.nats_consumer
    • Add option migration for outputs.influxdb
  • Azure Data Explorer (outputs.azure_data_explorer): Set user agent string
  • BigQuery (outputs.bigquery):
    • Add metrics in one compact table
    • Make project no longer a required field
  • Exec (outputs.exec): Execute command once per metric
  • Prometheus Client (outputs.prometheus_client): Support listening on vsock
  • Socket Writer (outputs.socket_writer): Add vsock support to socket listener and writer
  • Stackdriver (outputs.stackdriver):
    • Add metric type config options
    • Enable histogram support
  • Wavefront (outputs.wavefront): Use common/http to configure http client
  • Avro (parsers.avro):
    • Allow connection to https schema registry
    • Get metric name from the message field
    • Support multiple modes for union handling
  • Dedup (processors.dedup): Add state persistence between runs
  • Regex (processors.regex): Allow batch transforms using named groups
  • Secrets (secrets): Add unprotected secret implementation

Bug Fixes

  • OAuth (common.oauth): Initialize EndpointParams to avoid panic with audience settings
  • HTTP (inputs.http): Use correct token variable
  • Intel PowerStat (inputs.intel_powerstat): Fix unit tests to work on every CPU/platform
  • Modbus (inputs.modbus): Split large request correctly at field borders
  • Netflow (inputs.netflow): Handle malformed inputs gracefully
  • s7comm (inputs.s7comm): Reconnect if query fails
  • tail (inputs.tail): Retry opening file after permission denied
  • BigQuery (outputs.bigquery): Correct use of auto-detected project ID
  • OpenSearch (outputs.opensearch):
    • Expose TLS setting correctly
    • Migrate to new secrets API
  • Prometheus Client (outputs.prometheus_client): Ensure v1 collector data expires promptly
  • Avro (parsers.avro):
    • Clean up Warnf error wrapping error
    • Attempt to read CA cert file only if filename is not empty string
  • JSON v2 (parsers.json v2):
    • Correct wrong name of config option
    • Reset state before parsing
  • Starlark (processors.starlark):
    • Avoid negative refcounts for tracking metrics
    • Maintain tracking information post-apply

Dependency Updates

  • Update cloud.google.com/go/bigquery from 1.56.0 to 1.57.1
  • Update github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs from 1.26.0 to 1.27.2
  • Update github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/monitor/armmonitor from 0.10.1 to 0.10.2
  • Update github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/monitor/armmonitor from 0.10.2 to 0.11.0
  • Update github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources from 1.1.1 to 1.2.0
  • Update github.com/golang-jwt/jwt/v5 from 5.0.0 to 5.2.0
  • Update github.com/IBM/sarama from 1.41.3 to 1.42.1
  • Update github.com/influxdata/tail from 1.0.1-0.20210707231403-b283181d1fa7 to 1.0.1-0.20221130111531-19b97bffd978
  • Update github.com/jackc/pgconn from 1.14.0 to 1.14.1
  • Update github.com/nats-io/nats-server/v2 from 2.9.23 to 2.10.6
  • Update github.com/prometheus/prometheus from 0.46.0 to 0.48.0
  • Update github.com/vmware/govmomi from 0.32.0 to 0.33.1
  • Update golang.org/x/text from 0.13.0 to 0.14.0
  • Update k8s.io/api from 0.28.3 to 0.28.4
  • Point kafka dependency to IBM organization

v1.28.1

Bugfixes

  • Packaging: Revert permission change on package configs
  • Redis (inputs.redis): Fix password typo
  • Vsphere (inputs.vsphere): Fix config name typo in example

v1.28.0

Important Changes

  • metricpass: Removed the Python compatibility support for “not”, “and”, and “or” keywords. This support was incorrectly removing these keywords from actual data. Users should instead use the standard “!”, “&&”, and “||” operators.
  • Avro Processor: The avro processor will no longer create a timestamp field by default unless explicitly provided in the parser config.

New Plugins

Inputs

Processors

Secret Stores

Serializers

Features

  • Agent:
    • Add option to avoid filtering of global tags
    • Watch default config files if none specified
  • CLI: Add plugins subcommand to list available and deprecated
  • AMQP Consumer (inputs.amqp_consumer): Add support to rabbitmq stream queue
  • Cisco Telemetry MDT (inputs.cisco_telemetry_mdt): Add microbust support
  • Couchbase (inputs.couchbase): Add failover metrics
  • Fail2Ban (inputs.fail2ban): Allow specification of socket
  • Fibaro (inputs.fibaro): Support HC3 device types
  • HTTP (inputs.http): Rework token options
  • InfluxDB Listener (inputs.influxdb_listener): Add token based authentication
  • Internal (inputs.internal): Add Go metric collection option
  • Jenkins (inputs.jenkins): Add option for node labels as tag
  • JTI OpenConfig Telemetry (inputs.jti_openconfig_telemetry): Add keep-alive setting
  • Kernel (inputs.kernel): Collect KSM metrics
  • Modbus (inputs.modbus): Add per-metric configuration style
  • Nvidia SMI (inputs.nvidia_smi):
    • Add Nvidia DCGM MIG usage values
    • Add additional fields
    • Support newer data schema versions
  • OpenStack (inputs.openstack): Gather cinder services
  • OpenTelemetry (inputs.opentelemetry): Add configurable log record dimensions
  • PGBouncer (inputs.pgbouncer): Add show_commands to select the collected pgbouncer metrics
  • PostgreSQL Extensible (inputs.postgresql_extensible): Introduce max_version for query
  • Procstat (inputs.procstat): Add status field
  • Prometheus (inputs.prometheus): Always apply kubernetes label and field selectors
  • RavenDB (inputs.ravendb): Add new disk metrics fields
  • Redfish (inputs.redfish): Add additional chassis tags
  • Redis (inputs.redis):
    • Add additional commandstat fields
    • Support of redis 6.2 ERRORSTATS
  • Redis Sentinel (inputs.redis_sentinel): Allow username and password
  • Solr (inputs.solr): Support version 7.x to 9.3
  • SQL Server (inputs.sqlserver): Add IsHadrEnabled server property
  • Vsphere (inputs.vsphere):
    • Allow to set vSAN sampling interval
    • Support explicit proxy setting
  • Internal (internal):
    • Add gather_timeouts metric
    • Add zstd to internal content_coding
  • Kafka (kafka): Set and send SASL extensions
  • Migrations:
    • Add migration for inputs.httpjson
    • Add migration for inputs.io
  • execd (outputs.execd): Add option for batch format
  • File (outputs.file): Add compression
  • HTTP (outputs.http): Allow PATCH method
  • Postgresql (outputs.postgresql):
    • Add option to create time column with timezone
    • Add option to rename time column
  • Prometheus Client (outputs.prometheus_client): Add secretstore support for basic_password
  • Wavefront (outputs.wavefront): Add more auth options and update SDK
  • Avro (parsers.avro): Add support for JSON format
  • Influx (parsers.influx): Allow a user to set the timestamp precision
  • Value (parsers.value): Add support for automatic fallback for numeric types
  • XPath (parsers.xpath):
    • Add Concise Binary Object Representation parser
    • Add option to store fields as base64
  • Parser (processors.parser) Allow also non-string fields
  • Template (processors.template): Unify template metric

Bugfixes

  • Packaging: Change the systemd KillMode from control-group to mixed
  • AMQP Consumer (inputs.amqp_consumer): Print error on connection failure
  • Kafka Consumer (inputs.kafka_consumer): Use per-message parser to avoid races
  • OPCUA (inputs.opcua): Verify groups or root nodes included in config
  • PostgreSQL (inputs.postgresql): Fix default database definition
  • Procstat (inputs.procstat): Collect swap via /proc/$pid/smaps
  • SQL Server (inputs.sqlserver): Cast max_size to bigint
  • Sysstat (inputs.sysstat): Remove tmpfile to avoid file-descriptor leak
  • Avro (parsers.avro):
    • Do not force addition of timestamp as a field
    • Handle timestamp format checking correctly
  • SQL (sql):
    • Allow sqlite on Windows (amd64 and arm64)
    • Move conversion_style config option to the right place of sample config

Dependency Updates

  • Update github.com/aws/aws-sdk-go-v2/service/kinesis from 1.18.2 to 1.18.5
  • Update github.com/hashicorp/consul/api from 1.20.0 to 1.24.0
  • Update github.com/nats-io/nats.go from 1.27.0 to 1.28.0
  • Update github.com/prometheus/prometheus from 0.42.0 to 0.46.0
  • Update github.com/showwin/speedtest-go from 1.6.2 to 1.6.6
  • Update k8s.io/api from 0.27.4 to 0.28.1

v1.27.0

Important Changes

  • Timezone Parsing: Fix parsing of timezone abbreviations such as MST. Up to now, when parsing times with abbreviated timezones (i.e. the format ) the timezone information is ignored completely and the timestamp is located in UTC. This is a golang issue (see #9617 or #56528). If you worked around that issue, please remove the workaround before using v1.27+. In case you experience issues with abbreviated timezones please file an issue!
  • Internal Parser methods: Removal of old-style parser creation. This should not directly affect users as it is an API change. All parsers in Telegraf are already ported to the new framework. If you experience any issues with not being able to create parsers let us know!

New Plugins

Inputs

Outputs

Processors

  • Scale (processors.scale)

Secret Stores

  • Docker (secretstores.docker)
  • HTTP (secretstores.http)

Serializers

Features

#13144 Add common expression language metric filtering

  • Agent (agent): Add option to avoid filtering of explicit plugin tags
  • BasicStats (aggregators.basicstats): Add percentage change
  • Cloud PubSub (cloud_pubsub): Add support for gzip compression
  • OPCUA (common.opcua): Add support for secret-store secrets
  • TLS (common.tls): Add support for passphrase-protected private key
  • Config (config):
    • Add framework for migrating deprecated plugins
    • Support shell like syntax for environment variable substitution
  • Cloudwatch (inputs.cloudwatch): Add support for cross account observability
  • Directory Monitor (inputs.directory_monitor): Improve internal stats
  • Filecount (inputs.filecount): Add oldestFileTimestamp and newestFileTimestamp
  • GNMI (inputs.gnmi):
    • Allow canonical field names
    • Support Juniper GNMI Extension Header
  • Internet Speed (inputs.internet_speed): Support multi-server test
  • Kafka Consumer (inputs.kafka_consumer): Add regular expression support for topics
  • Kubernetes (inputs.kubernetes): Extend kube_inventory plugin to include and extend resource quota, secret, node, and pod measurement
  • Nats Consumer (inputs.nats_consumer): Add receiver subject as tag
  • Netflow (inputs.netflow):
    • Add sFlow decoder
    • Allow custom PEN field mappings
  • Nvidia SMI (inputs.nvidia_smi): Add additional memory related fields
  • Open Telemetry (inputs.opentelemetry): Add configurable span dimensions
  • Prometheus (inputs.prometheus): Control which pod metadata is added as tags
  • SQL (inputs.sql):
    • Add disconnected_servers_behavior field in the configuration
    • Add FlightSQL support
  • SQL Server (inputs.sqlserver):
    • Add Azure Arc-enabled SQL MI support
    • Check SQL Server encryptionEnforce with xp_instance_regread
  • StatsD (inputs.statsd): Add optional temporality and start_time tag for statsd metrics
  • Suricata (inputs.suricata): Add ability to parse drop or rejected
  • Vsphere (inputs.vsphere): Add vSAN extension
  • Internal (internal): Add additional faster compression options
  • Loki (outputs.loki): Add option for metric name label
  • Wavefront (outputs.wavefront): Add TLS and HTTP Timeout configuration fields
  • OpenTSDB (parsers.opentsdb): Add OpenTSDB data format parser
  • AWS EC2 (processors.aws_ec2): Add caching of imds and ec2 tags
  • Parser (processors.parser): Add merge with timestamp option
  • Scale (processors.scale): Add scaling by factor and offset
  • Template (processors.template): Allow tag to be a template
  • Prometheus Remote (serializer.prometheusremote): Improve performance
  • Test (test): Allow to capture all messages during test

Bugfixes

  • Cloud PubSub (inputs.cloud_pubsub): Fix gzip decompression.
  • GNMI (inputs.gnmi):
    • Allow optional origin for update path.
    • Handle canonical field-name correctly for non-explicit subscriptions.
  • MQTT (inputs.mqtt): ACK messages when persistence is enabled.
  • MySQL (inputs.mysql): Update MariaDB Dialect regex version check.
  • Netflow (inputs.netflow):
    • Fix field mappings.
    • Handle PEN messages correctly.
  • Prometheus (inputs.prometheus): Avoid race when creating informer factory.
  • Socket Listener (inputs.socket_listener): Avoid noisy logs on closed connection.
  • Temp (inputs.temp): Ignore warnings and instead return only errors.
  • UPSD (inputs.upsd): Handle float battery.runtime value.
  • Internal (internal): Fix time parsing for abbreviated timezones.
  • SQL (outputs.sql): Use config.duration to correctly to parse toml config.
  • Wavefront (outputs.wavefront): Flush metric buffer before reaching overflow.
  • Lookup (processors.lookup): Do not strip tracking info.
  • Influx (serializers.influx): Restore disabled uint support by default.

Dependency Updates

  • Update cloud.google.com/go/monitoring from 1.13.0 to 1.14.0.
  • Update github.com/aliyun/alibaba-cloud-sdk-go from 1.62.193 to 1.62.337.
  • Update github.com/aws/aws-sdk-go-v2/feature/ec2/imds from 1.13.2 to 1.13.3.
  • Update github.com/aws/aws-sdk-go-v2/service/sts from 1.18.9 to 1.19.0.
  • Update github.com/Azure/azure-event-hubs-go/v3 from 3.4.0 to 3.5.0.
  • Update github.com/Azure/go-autorest/autorest from 0.11.28 to 0.11.29.
  • Update github.com/influxdata/influxdb-observability libraries from 0.3.3 to 0.3.15.
  • Update github.com/jackc/pgconn from 1.13.0 to 1.14.0.
  • Update github.com/jackc/pgtype from 1.12.0 to 1.14.0.
  • Update github.com/Mellanox/rdmamap to 1.1.0.
  • Update github.com/pion/dtls/v2 from 2.2.6 to 2.2.7.
  • Update github.com/prometheus/common from 0.43.0 to 0.44.0.
  • Update github.com/rabbitmq/amqp091-go from 1.8.0 to 1.8.1.
  • Update github.com/shirou/gopsutil from 3.23.4 to 3.23.5.
  • Update github.com/showwin/speedtest-go from 1.5.2 to 1.6.2.
  • Update github.com/urfave/cli/v2 from 2.23.5 to 2.25.5.
  • Update k8s.io/client-go from 0.26.2 to 0.27.2.

v1.26.0

Important Changes

  • Static builds: Linux builds are now statically built. Other operating systems were cross-built in the past and as a result, already static. Users should not notice any change in behavior. The _static specific Linux binary is no longer produced as a result.
  • telegraf.d behavior: The default behavior of reading /etc/telegraf/telegraf.conf now includes any .conf files under /etc/telegraf/telegraf.d/. This change will apply to the official Telegraf Docker image as well. This will simplify Docker usage when using multiple configuration files.
  • Default configuration: The telegraf config command and default config file provided by Telegraf now includes all plugins and produces the same output across all operating systems. Plugin comments specify what platforms are supported or not.
  • State persistence: State persistence is now available in select plugins. This will allow plugins to start collecting data, where they left off. A configuration with state persistence cannot change or it will not be able to recover.

New Plugins

Inputs

Parsers

Processors

Features

  • Always disable cgo support (static builds).
  • Plugin state-persistence.
  • Add /etc/telegraf/telegraf.d to default configuration file locations.
  • Print loaded configurations.
  • Accept durations given in days (e.g. 7d).
  • OAuth (common.oauth): Add audience parameter.
  • TLS (common.tls): Add enable flag.
  • CGroups (inputs.cgroup): Add support for cpu.stat.
  • Cisco Telemetry MDT (inputs.cisco_telemetry_mdt): Include delete field.
  • Disk (inputs.disk): Add label as tag.
  • DNS Query (inputs.dns_query): Add IP fields.
  • Docker Log (inputs.docker_log): Add state-persistence capabilities.
  • Ethtool (inputs.ethtool): Add support for link speed, duplex, etc.
  • GNMI (inputs.gnmi): Set max gRPC message size.
  • HA Proxy (inputs.haproxy): Add support for TCP endpoints in haproxy plugin.
  • HTTP Listener v2 (inputs.http_listener_v2): Add custom server HTTP headers.
  • Icinga2 (inputs.icinga2): Support collecting hosts, services, and endpoint metrics.
  • InfluxDB (inputs.influxdb): Collect uptime statistics.
  • Intel PowerStat (inputs.intel_powerstat): Add CPU base frequency metric and add support for new platforms.
  • Internet Speed (inputs.internet_speed):
    • Add the best server selection via latency and jitter field.
    • Server ID include and exclude filter.
  • JTI OpenConfig Telemtry (inputs.jti_openconfig_telemetry): Set timestamp from data.
  • Modbus (inputs.modbus):
    • Add RS485 specific config options.
    • Add workaround to enforce reads from zero for coil registers.
    • Allow to convert coil and discrete registers to boolean.
  • MySQL (inputs.mysql): Add secret-store support.
  • Open Weather Map (inputs.openweathermap): Add snow parameter.
  • Processes (inputs.processes): Add use_sudo option for BSD.
  • Prometheus (inputs.prometheus): Use namespace annotations to filter pods to be scraped.
  • Redfish (inputs.redfish): Add power control metric.
  • SQL Server (inputs.sqlserver): Get database pages performance counter.
  • Stackdriver (inputs.stackdriver): Allow filtering by resource metadata labels.
  • Statsd (inputs.statsd): Add pending messages stat and allow to configure number of threads.
  • Vsphere (inputs.vsphere): Flag for more lenient behavior when connect fails on startup.
  • Windows Event Log (inputs.win_eventlog): Add state-persistence capabilities.
  • Windows Performance Counters (inputs.win_perf_counters): Add remote system support.
  • Wireguard (inputs.wireguard): Add allowed_peer_cidr field.
  • x509 Certificates (inputs.x509_cert):
    • Add OCSP stapling information for leaf certificates.
    • Add tag for certificate type-classification.
  • MQTT (outputs.mqtt):
    • Add option to specify topic layouts.
    • Add support for MQTT 5 publish properties.
    • Enhance routing capabilities.
  • XPath Parser (parsers.xpath): Add timezone handling.
  • Converter Processor (processors.converter): Convert tag or field as metric timestamp.
  • Unpivot Processor (processors.unpivot): Add mode to create new metrics.
  • Secret Stores:
    • Add command-line option to specify password.
    • Add support for additional input plugins.
    • Convert many output plugins.

Bugfixes

  • Allow graceful shutdown on interrupt (e.g. Ctrl-C).
  • Only rotate log on SIGHUP if needed.
  • AMQP Consumer (inputs.amqp_consumer):
    • Avoid deprecations when handling defaults.
    • Fix panic on Stop() if not connected successfully.
  • ethtool (inputs.ethtool): Close namespace file to prevent crash.
  • statsd (inputs.statsd): On close, verify listener is not nil.

Dependency Updates

  • Update cloud.google.com/go/storage from 1.28.1 to 1.29.0.
  • Update github.com/Azure/go-autorest/autorest/adal from 0.9.21 to 0.9.22.
  • Update github.com/aliyun/alibaba-cloud-sdk-go from 1.62.77 to 1.62.193.
  • Update github.com/aws/aws-sdk-go-v2/credentials from 1.13.2 to 1.13.15.
  • Update github.com/aws/aws-sdk-go-v2/service/timestreamwrite from 1.14.5 to 1.16.0.
  • Update github.com/coocood/freecache from 1.2.2 to 1.2.3.
  • Update github.com/karrick/godirwalk from v1.17.0 to v1.16.2.
  • Update github.com/opencontainers/runc from 1.1.3 to 1.1.4.
  • Update github.com/opensearch-project/opensearch-go/v2 from 2.1.0 to 2.2.0.
  • Update github.com/openzipkin-contrib/zipkin-go-opentracing from 0.4.5 to 0.5.0.
  • Update github.com/rabbitmq/amqp091-go from 1.5.0 to 1.7.0.
  • Update github.com/shirou/gopsutil from v3.22.12 to v3.23.2.
  • Update github.com/stretchr/testify from 1.8.1 to 1.8.2.
  • Update OpenTelemetry from 0.3.1 to 0.3.3.

v1.25.3

Bugfixes

  • Fix reload config on config update/SIGHUP.
  • Bond (inputs.bond): Reset slave stats for each interface.
  • Cloudwatch (inputs.cloudwatch): Verify endpoint is not nil.
  • LVM (inputs.lvm): Add options to specify path to binaries.
  • XPath (parsers.xpath): Fix panic for JSON name expansion.
  • JSON (serializers.json): Fix stateful transformations.

Dependency Updates

  • Update cloud.google.com/go/pubsub from 1.27.1 to 1.28.0.
  • Update github.com/containerd/containerd from 1.6.8 to 1.6.18.
  • Update github.com/go-logfmt/logfmt from 0.5.1 to 0.6.0.
  • Update github.com/gofrs/uuid from 4.3.1 to 5.0.0.
  • Update github.com/gophercloud/gophercloud from 1.0.0 to 1.2.0.
  • Update github.com/pion/dtls/v2 from 2.1.5 to 2.2.4.
  • Update golang.org/x/net from 0.5.0 to 0.7.0.
  • Update golang.org/x/sys from 0.4.0 to 0.5.0.
  • Update google.golang.org/grpc from 1.52.3 to 1.53.0.
  • Update k8s.io/apimachinery from 0.25.3 to 0.25.6.
  • Update testcontainers from 0.14.0 to 0.18.0.

v1.25.2

Bug fixes

  • Only read the config once.
  • fix link to license for Google flatbuffers.
  • Cisco Telemetry MDT (inputs.cisco_telemetry_mdt): Check subfield sizes to avoid panics.
  • Cloudwatch (inputs.cloudwatch): Enable custom endpoint support.
  • Conntrack (inputs.conntrack): Resolve segfault when setting collect field.
  • GNMI (inputs.gnmi): Handle both new-style tag_subscription and old-style tag_only.
  • MongoDB (inputs.mongodb):
    • Improve error logging.
    • SIGSEGV when restarting MongoDB node.
  • MySQL (inputs.mysql): Avoid side-effects for TLS between plugin instances.
  • Prometheus (inputs.prometheus): Deprecate and rename the timeout variable.
  • Tail (inputs.tail): Fix typo in the README.
  • UPSD (inputs.upsd): Add additional fields.
  • x509 Cert (inputs.x509_cert): Fix Windows path handling.
  • Prometheus Client (outputs.prometheus_client): Expire with ticker, not add/collect.
  • Secret Stores: Check store id format and presence.

Dependency Updates

  • Update cloud.google.com/go/bigquery from 1.44.0 to 1.45.0.
  • Update github.com/99designs/keyring from 1.2.1 to 1.2.2.
  • Update github.com/antchfx/xmlquery from 1.3.12 to 1.3.15.
  • Update github.com/antchfx/xpath from 1.2.2 to 1.2.3.
  • Update github.com/coreos/go-semver from 0.3.0 to 0.3.1.
  • Update github.com/moby/ipvs from 1.0.2 to 1.1.0.
  • Update github.com/multiplay/go-ts3 from 1.0.1 to 1.1.0.
  • Update github.com/prometheus/client_golang from 1.13.1 to 1.14.0.
  • Update github.com/shirou/gopsutil from 3.22.9 to 3.22.12.
  • Update go.mongodb.org/mongo-driver from 1.11.0 to 1.11.1.
  • Update golang/x dependencies.
  • Update google.golang.org/grpc from 1.51.0 to 1.52.0.
  • Update google.golang.org/grpc from 1.52.0 to 1.52.3.

v1.25.1

Bug fixes

  • Catch non-existing commands and error out.
  • Correctly reload configuration files.
  • Handle float time with fractions of seconds correctly.
  • Only set default snmp after reading all configs.
  • Allow any 2xx status code.
  • Kafka: Add keep-alive period setting for input and output.
  • Cisco Telemetry MDT (inputs.cisco_telemetry_mdt): Add operation-metric and class-policy prefix.
  • Exec (inputs.exec): Restore pre-v1.21 behavior for CSV data_format.
  • GNMI (inputs.gnmi): Update configuration documentation.
  • Logstash (inputs.logstash): Collect opensearch specific stats.
  • MySQL (inputs.mysql): Revert slice declarations with non-zero initial length.
  • OPC UA (inputs.opcua): Fix opcua and opcua-listener for servers using password-based auth.
  • Prometheus (inputs.prometheus):
    • Correctly track deleted pods.
    • Set the timeout for slow running API endpoints correctly.
  • SQL Server (inputs.sqlserver):
    • Add more precise version check.
    • Added own SPID filter.
    • SqlRequests include sleeping sessions with open transactions.
    • Suppress error on secondary replicas.
  • UPSD (inputs.upsd):
    • Always convert to float.
    • Ensure firmware is always a string.
  • Windows Event Log (inputs.win_eventlog): Handle remote events more robustly.
  • x509 Cert (inputs.x509_cert): Fix off-by-one when adding intermediate certificates.
  • Loki (outputs.loki): Return response body on error.
  • JSON v2 parser (parsers.json_v2): In case of invalid json, log message to debug log.
  • Secret Stores:
    • Cleanup duplicate printing.
    • Fix handling of “id” and print failing secret-store.
    • Fix handling of TOML strings.

Dependency Updates

  • Update cloud.google.com/go/storage from 1.23.0 to 1.28.1.
  • Update github.com/antchfx/jsonquery from 1.3.0 to 1.3.1.
  • Update github.com/aws/aws-sdk-go-v2 from 1.17.1 to 1.17.3.
  • Update github.com/aws/aws-sdk-go-v2/service/ec2 from 1.54.4 to 1.80.1.
  • Update github.com/denisenkom/go-mssqldb from 0.12.0 to 0.12.3.
  • Update github.com/eclipse/paho.mqtt.golang from 1.4.1 to 1.4.2.
  • Update github.com/hashicorp/consul/api from 1.15.2 to 1.18.0.
  • Update github.com/karrick/godirwalk from 1.16.1 to 1.17.0.
  • Update github.com/kardianos/service from 1.2.1 to 1.2.2.
  • Update github.com/nats-io/nats-server/v2 from 2.9.4 to 2.9.9.

v1.25.0

New Plugins

Inputs

Parsers

Features

  • Add arm64 Windows builds to nightly and CI.
  • Add method to inform of deprecated plugin option values.
  • Add Secret-store implementation.
  • Deprecate active usage of netsnmp translator.

Plugin updates

  • Kafka (common.kafka): Add exponential backoff when connecting or reconnecting and allow plugin to start without making initial connection.
  • AMQP Consumer (inputs.amqp_consumer): Determine content encoding automatically.
  • APCUPSD (inputs.apcupsd): Add new fields:
    • status
    • cumulative_time_on_battery_ns
    • last_transfer
    • number_transfers
  • CGroup (inputs.cgroups):
    • Do not abort on first error.
    • Print message once.
  • Conntrack (inputs.conntrack): Parse conntrack stats.
  • DiskIO (inputs.diskio): Allow selecting devices by ID.
  • Ethtool (inputs.ethtool):
    • Gather statistics from namespaces.
    • Possibility to skip gathering metrics for downed interfaces
  • HTTP Response (inputs.http_response):
    • Add setting for TLS renegotiation method.
    • Add User-Agent header.
  • Kafka Consumer (inputs.kafka_consumer): Add Sarama debug logs.
  • KNX (inputs.knx_listener): Add support for TCP as a transport protocol.
  • Kubernetes (inputs.kubernetes): Allow fetching kublet metrics remotely.
  • Modbus (inputs.modbus):
    • Add 8-bit integer types.
    • Add configuration option to pause after connect.
    • Add support for half-precision floats (float16).
    • Optimize grouped requests.
    • Optimize requests.
  • OPC UA (inputs.opcua): Use regular reads instead of registered reads.
  • PowerDNS Recursor (inputs.powerdns_recursor): Support for new PowerDNS recursor control protocol.
  • Prometheus (inputs.prometheus): Add support for custom headers.
    • Allow explicit scrape configuration without annotations.
    • Use system wide proxy settings.
  • S.M.A.R.T. (inputs.smart): Add additional SMART metrics that indicate/predict device failure.
  • SNMP (inputs.snmp): Convert enum values.
  • Socket Listener (inputs.socket_listener): Specify message separator for streams.
  • SQL Server (inputs.sqlserver ):
    • Add @@SERVICENAME and SERVERPROPERTY(IsClustered) in measurement sqlserver_server_properties.
    • Add data and log used space metrics for Azure SQL DB.
    • Add metric available_physical_memory_kb in sqlserver_server_properties.
    • Introduce timeout for query execution.
  • System (inputs.system): Collect unique user count logged in.
  • Tail (inputs.tail):
    • Add option to preserve newlines for multiline data
    • Allow handling of quoted strings spanning multiple lines
  • Tomcat (inputs.tomcat): Add source tag.
  • Azure Data Explorer (outputs.azure_data_explorer): Add support for streaming ingestion for ADX output plugin.
  • Event Hubs (outputs.event_hubs): Expose max message size batch option.
  • Graylog (outputs.graylog): Implement optional connection retries.
  • Timestream (outputs.timestream): Support ingesting multi-measures.
  • Binary parser (parsers.binary) Handle hex-encoded inputs.
  • CSV parser (parsers.csv):
    • Add option for overwrite tags
    • Support null delimiters
  • Grok parser (parsers.grok): Add option to allow multiline messages.
  • XPath parser (parsers.xpath):
    • Add option to skip (header) bytes.
    • Allow to specify byte-array fields to encode in HEX.
  • JSON serializer (serializers.json) Support serializing JSON nested in string fields.

Bug fixes

  • Run processors in configuration order.
  • Watch for changes in configuration files in config directories.
  • Conntrack (inputs.conntrack): Skip gather tests if conntrack kernel module is not loaded.
  • Filecount (inputs.filecount): Revert library version.
  • Kubernetes Inventory (inputs.kube_inventory): Change default token path, use in-cluster config by default.
  • Modbus (inputs.modbus):
    • Add workaround to read field in separate requests.
    • Fix Windows COM-port path.
    • Fix default value of transmission mode.
  • MongoDB (inputs.mongodb): Fix connection leak triggered by configuration reload.
  • OPC UA (inputs.opcua):
    • Add support for OPC UA datetime values.
    • Parse full range of status codes with uint32.
  • Prometheus (inputs.prometheus): Respect selectors when scraping pods.
  • SQL (inputs.sql): Cast measurement_column to string.
  • VSphere (inputs.vsphere): Eliminate duplicate samples.
  • ZFS (inputs.zfs): Unbreak dataset stat gathering in case listsnaps is enabled on a zfs pool.
  • Azure Data Explorer (outputs.azure_data_explorer): Update test call to NewSerializer.
  • Parser processor (processors.parser): Handle empty metric names correctly.

Dependency Updates

  • Update github.com/aliyun/alibaba-cloud-sdk-go from 1.61.1836 to 1.62.77
  • Update github.com/gosnmp/gosnmp from 1.34.0 to 1.35.0
  • Update OpenTelemetry from 0.2.30 to 0.2.33

v1.24.4

Bug fixes

  • Amazon CloudWatch (inputs.cloudwatch): Correctly handle multiple namespaces.
  • Directory Monitor (inputs.directory_monitor): Close input file before removal.
  • GMNI (inputs.gnmi):
    • Handle decimal_val as per gnmi v0.8.0.
    • Do not provide empty prefix for subscription request.
    • Fix empty name for Sonic devices.
  • Ping (inputs.ping): Avoid -x/-X on FreeBSD 13 and newer with ping6.
  • Prometheus input (inputs.prometheus): Correctly default to port 9102.
  • Redis Sentinel (input.redis_sentinel): Fix sentinel and replica stats gathering.
  • Socket Listener (inputs.socket_listener): Ensure connections are closed.
  • Datadog (output.datadog): Log response in case of non 2XX response from API
  • Prometheus output (outputs.prometheus): Expire metrics correctly during adds.
  • Yandex Cloud Monitoring (outputs.yandex_cloud_monitoring): Catch int64 values.

Dependency Updates

  • Update github.com/aliyun/alibaba-cloud-sdk-go from 1.61.1818 to 1.61.1836
  • Update github.com/prometheus/client_golang from 1.13.0 to 1.13.1
  • Update github.com/aws/aws-sdk-go-v2/service/timestreamwrite from 1.13.12 to 1.14.5
  • Update github.com/aws/aws-sdk-go-v2/feature/ec2/imds from 1.12.17 to 1.12.19
  • Update github.com/gofrs/uuid from v4.3.0 to v4.3.1
  • Update github.com/aws/aws-sdk-go-v2/service/sts from 1.16.19 to 1.17.2
  • Update github.com/urfave/cli/v2 from 2.16.3 to 2.23.5
  • Update github.com/Azure/azure-event-hubs-go/v3 from 3.3.18 to 3.3.20
  • Update github.com/showwin/speedtest-go from 1.1.5 to 1.2.1
  • Update github.com/aws/aws-sdk-go-v2/credentials from 1.12.21 to 1.13.2
  • Update github.com/yuin/goldmark from 1.5.2 to 1.5.3
  • Update cloud.google.com/go/pubsub from 1.25.1 to 1.26.0
  • Update go.mongodb.org/mongo-driver from 1.10.2 to 1.11.0

v1.24.3

Bug fixes

  • Restore warning on unused configuration options.
  • Correct default value of enable_tls.
  • Update systemd unit description.
  • Fix panic due to tickers slice being off-by-one in size.
  • Set default parser.
  • Correctly setup processors
  • Fix problem with metrics not exposed by plugins.
  • Directory Monitor (inputs.directory_monitor): Allow cross filesystem directories.
  • Kafka (inputs.kafka): Switch to Sarama’s new consumer group rebalance strategy setting.
  • Modbus (inputs.modbus):
    • Add slave ID to failing connection.
    • Handle field-measurement definitions correctly on duplicate field check
    • Improve duplicate field checks
  • OPC UA (inputs.opcua): Add metric tags to node.
  • Syslog (inputs.syslog): Print error when no error or message given.
  • Zookeeper (inputs.zookeeper): Add the ability to parse floats as floats.
  • JSON v2 parser (parsers.json_v2): Remove BOM before parsing.
  • Parser processor (processors.parser): Keep name of original metric if parser doesn’t return one.
  • Splunk Metric serializer (serializers.splunkmetric): Provide option to remove event metric tag.

Features

  • Support sections in markdown.

Dependency Updates

  • Update github.com/snowflakedb/gosnowflake from 1.6.2 to 1.6.13
  • Update github.com/sensu/sensu-go/api/core/v2 from 2.14.0 to 2.15.0
  • Update github.com/gofrs/uuid from 4.2.0& to 4.3.0
  • Update github.com/hashicorp/consul/api from 1.14.0 to 1.15.2
  • Update github.com/aws/aws-sdk-go-v2/credentials from 1.12.5 to 1.12.21
  • Update github.com/aws/aws-sdk-go-v2/service/cloudwatch
  • Update github.com/aws/aws-sdk-go-v2/config
  • Update k8s.io/apimachinery from 0.25.1 to 0.25.2
  • Update k8s.io/api from 0.25.0 to 0.25.2
  • Update k8s.io/api from 0.25.2 to 0.25.3
  • Update modernc.org/sqlite from 1.17.3 to 1.19.2
  • Update github.com/signalfx/golib/v3 from 3.3.45 to 3.3.46
  • Update github.com/yuin/goldmark from 1.4.13 to 1.5.2
  • Update cloud.google.com/go/bigquery from 1.40.0 to 1.42.0
  • Update github.com/aws/aws-sdk-go-v2/service/kinesis
  • Update github.com/aliyun/alibaba-cloud-sdk-go
  • Update github.com/Shopify/sarama from 1.36.0 to 1.37.2
  • Update testcontainers-go from 0.13.0 to 0.14.0 and address breaking change
  • Update modernc.org/libc from v1.20.3 to v1.21.2
  • Update github.com/aws/aws-sdk-go-v2/service/dynamodb
  • Update google.golang.org/api from 0.95.0 to 0.100.0
  • Update github.com/gopcua/opcua from 0.3.3 to 0.3.7
  • Update github.com/prometheus/client_model from 0.2.0 to 0.3.0
  • Update cloud.google.com/go/monitoring from 1.5.0 to 1.7.0
  • Update github.com/nats-io/nats-server/v2 from 2.8.4 to 2.9.4

v1.24.2

Bug fixes

  • Support old style of filtering sample configurations in CLI.
  • Enable TLS in Kafka plugins without custom configuration.
  • Avoid Ethtool internal name conflict with AWS.

Input plugin updates

  • InfluxDB Listener (influxdb_listener): Error on invalid precision.
  • Internet speed (internet_speed): Rename enable_file_download to match upstream intent.
  • MongoDB (mongodb): Start plugin correctly.
  • MQTT Consumer (mqtt_consumer): Rework connection and message tracking.

Parser updates

  • XPath (xpath): Handle floating-point times correctly.
  • Allow specifying the Influx parser type.

Dependency updates

  • Update dependencies for OpenBSD support.
  • Update k8s.io/apimachinery from 0.25.0 to 0.25.1.
  • Update github.com/aerospike/aerospike-client-go/v5 from 5.9.0 to 5.10.0.
  • Update github.com/nats-io/nats.go from 1.16.0 to 1.17.0.
  • Replace go-ping with pro-bing.
  • Update go.mongodb.org/mongo-driver from 1.10.1 to 1.10.2.
  • Update github.com/aws/smithy-go from 1.13.2 to 1.13.3.
  • Update github.com/rabbitmq/amqp091-go from 1.4.0 to 1.5.0.
  • Update github.com/docker/distribution from v2.7.1 to v2.8.1.

v1.24.1

Bug fixes

  • Clear error message when provided configuration is not a text file.
  • Enable global confirmation for installing mingw.

Input plugin updates

  • Ceph (ceph): Modernize metrics.
  • Modbus (modbus): Do not fail if a single server reports errors.
  • NTPQ (ntpq): Handle pools with -.

Parser updates

  • CSV (csv): Remove direct check.
  • XPath (xpath): Add array index when expanding names.
  • Fix memory leak for plugins using ParserFunc.
  • Unwrap parsers and remove some special handling.
  • processors.parser: Add option to parse tags

Dependency updates

  • Update cloud.google.com/go/pubsub from 1.24.0 to 1.25.1.
  • Update github.com/urfave/cli/v2 from 2.14.1 to 2.16.3.
  • Update github.com/aws/aws-sdk-go-v2/service/ec2.
  • Update github.com/wavefronthq/wavefront-sdk-go.
  • Update cloud.google.com/go/bigquery from 1.33.0 to 1.40.0.

v1.24.0

Breaking change

  • Set default minimum TLS version to v1.2 for security reasons on both server and client connections. This is a change from the previous defaults (TLS v1.0) on the server configuration and might break clients relying on older TLS versions. Older versions can be manually reverted on a per-plugin basis using the tls_min_version option in the plugins required.

Features

  • Create custom builder to scan a Telegraf configuration file for the plugin files being defined and builds a new binary only including these plugins.
  • Add license checking tool.
  • Add metrics for member and replica-set average health of MongoDB.
  • Allow collecting node-level metrics for Couchbase buckets.
  • Make config subcommand.

Bug fixes

  • Add version number to MacOS packages.
  • Backport sync sample.conf and README.md files.
  • Fix to parsing errors in Datadog mode.
  • Clean up after Redis merge.
  • Refactor Telegraf version.
  • Remove shell execution for license-checker.

New plugins

Inputs

Outputs

Serializers

Input plugin updates

  • Nats Consumer (nats_consumer): Add simple support for jetstream subjects.
  • Cisco Telemetry MDT (cisco_telemetry_mdt): Add GRPC Keepalive/timeout configuration options.
  • Directory Monitor (directory_monitor):
    • Support paths for files_to_ignore and files_to_monitor.
    • Traverse subdirectories.
  • Kafka Consumer (kafka_consumer): Option to set default fetch message bytes.
  • Linux CPU (linux_cpu): Add plugin to collect CPU metrics on Linux.
  • Logstash (logstash): Record number of failures.
  • Modbus (modbus): Error out on requests with no fields defined.
  • MQTT Consumer (mqtt_consumer): Add incoming MQTT message size calculation.
  • Nginx Plus API (nginx_plus_api) Gather limit_reqs metrics.
  • NTPQ (ntpq):
    • Add option to specify command flags.
    • Add possibility to query remote servers.
    • Allow to specify reach output format.
  • Openstack (openstack): Add allow_reauth configuration option.
  • Smart (smart): Collect SSD endurance information where available in smartctl.
  • SQL Server (sqlserver):
    • Add database name to IO stats for MI.
    • Improved filtering for active requests.
    • Fix filtering for sqlAzureMIRequests and sqlAzureDBRequests.
  • StatsD (statsd): Add median timing calculation.
  • Syslog (syslog): Log remote host as source tag.
  • x509 Cert (x509_cert):
    • Add SMTP protocol.
    • Add proxy support.
    • Multiple sources with non-overlapping DNS entries.
  • RabbitMQ (rabbitmq): Add support for head_message_timestamp metric.
  • Redis (redis): Add Redis 6 ACL authorization support.
  • Jolokia 2 (jolokia2): Add optional origin header.
  • MongoDB (mongodb): Add an option to bypass connection errors on start.
  • OPC UA (opcua): Assign node ID correctly.
  • Prometheus (prometheus): Run outside Kubernetes cluster error.
  • UPSD (upsd): Move to new sample.conf style.

Output plugin updates

  • Cloudwatch (cloudwatch): Add proxy support.
  • MQTT (mqtt): Add support for MQTT protocol version 5.
  • AMQP (amqp): Add proxy support.
  • Graphite (graphite): Retry connecting to servers with failed send attempts.
  • Groundwork (groundwork):
    • Improve metric parsing to extend output.
    • Add default appType as configuration option.
  • Redis Time Series (redistimeseries): Add integration test
  • SQL (sql): Add settings for Go sql.DB settings.
  • ExecD (execd): Fix error when partially unserializable metrics are written.
  • Wavefront (wavefront): Update Wavefront SDK and use non-deprecated APIs.

Serializer updates

  • JSON (json): Add new json_transformation option transform outputted JSON. This new option can be used to transform the JSON output using the JSONata language to accommodate for requirements on the receiver side. The setting can also filter and process JSON data points.
  • Prometheus (prometheus):
    • Provide option to reduce payload size by removing HELP from payload
    • Sort labels in prometheusremotewrite serializer

Parser updates

  • Migrate parsers to new style.
  • XPath (xpath): Add support for returning underlying data types.
  • CSV (csv): Add reset-mode flag.

Processor updates

  • Starlark (starlark): Add benchmark for tag concatenation.

Dependency updates

  • Update github.com/jackc/pgx/v4 from 4.16.1 to 4.17.0.
  • Update github.com/Azure/go-autorest/autorest from 0.11.24 to 0.11.28.
  • Update github.com/aws/aws-sdk-go-v2/service/ec2 from 1.51.2 to 1.52.1
  • Update github.com/urfave/cli/v2 from 2.3.0 to 2.11.2.
  • Update github.com/aws/aws-sdk-go-v2/service/timestreamwrite from 1.13.6 to 1.13.12.
  • Update github.com/aliyun/alibaba-cloud-sdk-go from 1.61.1695 to 1.61.1727.
  • Update go.mongodb.org/mongo-driver from 1.9.1 to 1.10.1.
  • Update github.com/wavefronthq/wavefront-sdk-go from 0.10.1 to 0.10.2.
  • Update github.com/aws/aws-sdk-go-v2/service/sts from 1.16.7 to 1.16.13.
  • Update github.com/aerospike/aerospike-client-go/v5 from 5.7.0 to 5.9.0.
  • Update github.com/hashicorp/consul/api from 1.13.1 to 1.14.0.
  • Update github.com/tidwall/gjson from 1.14.1 to 1.14.3.
  • Update github.com/rabbitmq/amqp091-go from 1.3.4 to 1.4.0.
  • Update github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.15.10 to 1.16.1.
  • Update github.com/gophercloud/gophercloud from 0.25.0 to 1.0.0.
  • Update k8s.io/client-go from 0.24.3 to 0.25.0.
  • Update github.com/aws/aws-sdk-go-v2/feature/ec2/imds from 1.12.11 to 1.12.13.
  • Update github.com/urfave/cli/v2 from 2.11.2 to 2.14.1.
  • Update gonum.org/v1/gonum from 0.11.0 to 0.12.0.
  • Update github.com/Azure/azure-kusto-go from 0.7.0 to 0.8.0.
  • Update google.golang.org/grpc from 1.48.0 to 1.49.0.

v1.23.4

Bug fixes

  • Update github.com/lxc/lxd to be able to run tests.
  • Sync sql output and input build constraints to handle loong64 in go1.19.
  • Updating credentials file to not use endpoint_url parameter.
  • Cloudwatch (inputs.cloudwatch): Customize batch size when querying
  • Kubernetes Inventor (inputs.kube_inventory): Send file location to enable token auto-refresh.
  • Kubernetes (inputs.kubernetes): Refresh token from file at each read.
  • MongoDB (inputs.mongodb): Update version check for newer versions.
  • OPC UA (inputs.opcua): Return an error with mismatched types.
  • SQL Server (inputs.sqlserver): Set lower deadlock priority.
  • Stackdriver Google Cloud Monitoring (inputs.stackdriver): Handle when no buckets are available.
  • Fix Linter issues

Features

  • Add coralogix dialect to opentelemetry

Dependency Updates

  • Update github.com/testcontainers/testcontainers-go from 0.12.0 to 0.13.0.
  • Update github.com/apache/thrift from 0.15.0 to 0.16.0.
  • Update github.com/aws/aws-sdk-go-v2/service/ec2 from 1.46.0 to 1.51.0.
  • Update all go.opentelemetry.io dependencies.
  • Update github.com/go-ldap/ldap/v3 from 3.4.1 to 3.4.4.
  • Update github.com/karrick/godirwalk from 1.16.1 to 1.17.0.
  • Update github.com/vmware/govmomi from 0.28.0 to 0.29.0.
  • Update github.com/eclipse/paho.mqtt.golang from 1.3.5 to 1.4.1.
  • Update github.com/shirou/gopsutil/v3 from 3.22.4 to 3.22.7.
  • Update github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs.
  • Update github.com/Azure/go-autorest/autorest/adal.
  • Update github.com/pion/dtls/v2 from 2.0.13 to 2.1.5.
  • Update github.com/Azure/azure-event-hubs-go/v3.
  • Update github.com/aws/aws-sdk-go-v2/service/cloudwatch.
  • Update github.com/aws/aws-sdk-go-v2/service/kinesis.
  • Update github.com/aws/aws-sdk-go-v2/service/dynamodb.
  • Update github.com/signalfx/golib/v3 from 3.3.43 to 3.3.45.
  • Update github.com/BurntSushi/toml from 0.4.1 to 1.2.0.
  • Update cloud.google.com/go/pubsub from 1.24.0 to 1.24.0.
  • Update k8s.io/apimachinery from 0.24.2 to 0.24.3.
  • Update github.com/Shopify/sarama from 1.34.1 to 1.35.0.
  • Update github.com/sirupsen/logrus from 1.8.1 to 1.9.0.
  • Update github.com/emicklei/go-restful from v2.9.5+incompatible to v3.8.0.
  • Update github.com/hashicorp/consul/api from 1.12.0 to 1.13.1.
  • Update github.com/prometheus/client_golang from 1.12.2 to 1.13.0.
  • Update google.golang.org/api from 0.85.0 to 0.91.0.
  • Update github.com/antchfx/xmlquery from 1.3.9 to 1.3.12.
  • Update github.com/aws/aws-sdk-go-v2/service/ec2.
  • Update github.com/aws/aws-sdk-go-v2/feature/ec2/imds.
  • Update github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs.

v1.23.4

  • Update github.com/lxc/lxd to be able to run tests.
  • Sync sql output and input build constraints to handle loong64 in go1.19.
  • Update credentials file to not use endpoint_url parameter
  • Fixes to linter issues
  • Add Coralogix dialect to open telemetry.

Input plugin updates

  • Cloudwatch (cloudwatch): Customizable batch size when querying.
  • Kube Inventory (kube_inventory): Send file location to enable token auto-refresh.
  • Kubernetes (kubernetes): Refresh token from file at each read.
  • MongoDB (mongodb): Update to most recent version.
  • OPC UA (opcua): Return an error with mismatched types.
  • SQL server (sqlserver): Set lower deadlock priority.
  • Stackdriver (stackdriver) Handle when no buckets available.

Dependency Updates

  • Bump github.com/testcontainers/testcontainers-go from 0.12.0 to 0.13.0.
  • Bump github.com/apache/thrift from 0.15.0 to 0.16.0.
  • Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.46.0 to 1.51.0.
  • Update all go.opentelemetry.io dependencies.
  • Bump github.com/go-ldap/ldap/v3 from 3.4.1 to 3.4.4.
  • Bump github.com/karrick/godirwalk from 1.16.1 to 1.17.0.
  • Bump github.com/vmware/govmomi from 0.28.0 to 0.29.0.
  • Bump github.com/eclipse/paho.mqtt.golang from 1.3.5 to 1.4.1.
  • Bump github.com/shirou/gopsutil/v3 from 3.22.4 to 3.22.7.
  • Bump github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs.
  • Bump github.com/Azure/go-autorest/autorest/adal.
  • Bump github.com/pion/dtls/v2 from 2.0.13 to 2.1.5.
  • Bump github.com/Azure/azure-event-hubs-go/v3.
  • Bump github.com/aws/aws-sdk-go-v2/service/cloudwatch.
  • Bump github.com/aws/aws-sdk-go-v2/service/kinesis.
  • Bump github.com/aws/aws-sdk-go-v2/service/dynamodb.
  • Bump github.com/signalfx/golib/v3 from 3.3.43 to 3.3.45.
  • Update github.com/BurntSushi/toml from 0.4.1 to 1.2.0.
  • Update cloud.google.com/go/pubsub from 1.24.0 to 1.24.0.
  • Update k8s.io/apimachinery from 0.24.2 to 0.24.3.
  • Update github.com/Shopify/sarama from 1.34.1 to 1.35.0.
  • Bump github.com/sirupsen/logrus from 1.8.1 to 1.9.0.
  • Bump github.com/emicklei/go-restful from v2.9.5+incompatible to v3.8.0.
  • Bump github.com/hashicorp/consul/api from 1.12.0 to 1.13.1.
  • Bump github.com/prometheus/client_golang from 1.12.2 to 1.13.0.
  • Bump google.golang.org/api from 0.85.0 to 0.91.0.
  • Bump github.com/antchfx/xmlquery from 1.3.9 to 1.3.12.
  • Bump github.com/aws/aws-sdk-go-v2/service/ec2.
  • Bump github.com/aws/aws-sdk-go-v2/feature/ec2/imds.
  • Bump github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs.

v1.23.3

Bug fixes

  • Openstack input plugin (inputs.openstack): Use v3 volume library.
  • MQTT Consumer input plugin (inputs.mqtt_consumer): Topic parsing error when topic having prefix ‘/’.
  • SNMP Trap input plugin (inputs.snmp_trap): Prevent map panic when using with netsnmp translator.
  • SQL Server input plugin (inputs.sqlserver): Set lower deadlock priority on queries.
  • common.cookie: Use reader over readcloser, regenerate cookie-jar at reauthorization.
  • Prometheus parser (parsers.prometheus): Histogram infinity bucket is now always present.

Dependency updates

  • Bump github.com/antchfx/jsonquery from 1.1.5 to 1.2.0.

v1.23.2

Bug fixes

  • Remove unexpected deprecation warnings for non-deprecated packages that occurred in 1.24.1.
  • HTTP input plugin (inputs.http): Allow both 200 and 201 response codes when generating cookie authentication. Also update the cookie header docs to show a TOML map rather than a string.
  • Microsoft SQL Server input plugin (inputs.sqlserver): Use bigint for backupsize in sqlserver queries.
  • gNMI input plugin (inputs.gnmi): Refactor tag_only subscriptions for complex keys (such as network-instances) and to improve concurrrency. The subscription key is no longer hardcoded to the device name and the name tag. Adds ability to specify a subscription key on a per-tag basis.
  • SNMP input plugin (inputs.snmp): Now sets gosnmp’s UseUnconnectedUDPSocket to true when using UDP. Adds support to accept SNMP responses from any address (not just the requested address). Useful when gathering responses from redundant/failover systems.

Dependency updates

  • Bump github.com/docker/docker from 20.10.14 to 20.10.17.

v1.23.1

Bug fixes

  • Jolokia2 input plugin (jolikia2): Resolve panic on null response.
  • RabbitMQ input plugin (rabbitmq) Don’t require listeners to be present in overview.
  • Sync back sample.confs for Couchbuse input plugin (couchbase) and Groundwork output plugin (groundwork).
  • Filter out views in MongoDB lookup.
  • Fix race condition in configuration and prevent concurrent map writes to c.UnusedFields.
  • Restore sample configurations broken during initial migration
  • Sync back sample.confs for inputs.couchbase and outputs.groundwork.

Dependency updates

  • Bump cloud.google.com/go/monitoring from 1.2.0 to 1.5.0.
  • Bump github.com/aws/aws-sdk-go-v2/credentials from 1.12.2 to 1.12.5.
  • Bump google.golang.org/grpc from 1.46.2 to 1.47.0.
  • Bump k8s.io/client-go from 0.23.3 to 0.24.1.
  • Bump github.com/go-logfmt/logfmt from 0.5.0 to 0.5.1.
  • Bump github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.15.3 to 1.15.7.
  • Bump go.mongodb.org/mongo-driver from 1.9.0 to 1.9.1.
  • Bump github.com/gophercloud/gophercloud from 0.24.0 to 0.25.0.
  • Bump google.golang.org/api from 0.74.0 to 0.84.0.
  • Bump github.com/fatih/color from 1.10.0 to 1.13.0.
  • Bump github.com/aws/aws-sdk-go-v2/service/timestreamwrite from 1.3.2 to 1.13.6.
  • Bump github.com/shopify/sarama from 1.32.0 to 1.34.1.
  • Bump github.com/dynatrace-oss/dynatrace-metric-utils-go from 0.3.0 to 0.5.0.
  • Bump github.com/nats-io/nats.go from 1.15.0 to 1.16.0.
  • Bump cloud.google.com/go/pubsub from 1.18.0 to 1.22.2.
  • Bump go.opentelemetry.io/collector/pdata from 0.52.0 to 0.54.0.
  • Bump github.com/jackc/pgx/v4 from 4.15.0 to 4.16.1.
  • Bump cloud.google.com/go/bigquery from 1.8.0 to 1.33.0.
  • Bump github.com/Azure/azure-kusto-go from 0.6.0 to 0.7.0.
  • Bump cloud.google.com/go/pubsub from 1.22.2 to 1.24.0.
  • Bump github.com/aws/aws-sdk-go-v2/service/kinesis from 1.13.0 to 1.15.7.
  • Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.1.0 to 1.46.0.
  • Bump github.com/golang-jwt/jwt/v4 from 4.4.1 to 4.4.2.
  • Bump github.com/vmware/govmomi from 0.27.3 to 0.28.0.
  • Bump github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs from 1.15.4 to 1.15.8.
  • Bump github.com/influxdata/influxdb-observability/otel2influx from 0.2.21 to 0.2.22.
  • Bump k8s.io/api from 0.24.1 to 0.24.2.
  • Bump github.com/prometheus/client_golang from 1.12.1 to 1.12.2.

v1.23.0

  • Sample configuration (sample.conf) files for the different plugins are now embedded into the Golang code by the Go compiler. You can now download the sample configuration from Telegraf without having to paste in sample configurations from each plugin’s README.md.
  • Add missing build constraints for sqlite.
  • Always build README-embedder for host-architecture.
  • Avoid calling sadc with invalid 0 interval.
  • Check net.Listen() error in tests.
  • Add DataDog count metrics.
  • Deprecate unused database configuration option.
  • Document interval setting for internet speed plugin.
  • Add Elasticsearch output float handling test.
  • Log instance name in skip warnings.
  • Output erroneous namespace and fix error.
  • Remove any content type from Prometheus accept header.
  • Remove full access permissions.
  • Search services file in /etc/services and fall back to /usr/etc/services.
  • Migrate XPath parser to new style.
  • Add field key option to set event partition key
  • Add semantic commits checker.
  • Allow other fluentd metrics.
  • Add Artifactory Webhook Receiver.
  • Create and push nightly Docker images to quay.io.
  • Fix error if no nodes found for current configuration with XPath parser.

New plugins

Input plugin updates

  • Burrow (burrow): Move Dialer to variable and run make fmt.
  • CPU (cpu): Add core and physical ID tags that contain information about physical CPU or cores in cases of hyper-threading.
  • HTTP (http): Use readers over closers.
  • Lustre (lustre): Support collecting per-client stats.
  • Mock (mock) Add constant algorithm.
  • Tail (tail): Add ANSI color filter.
  • Redis (redis): Fix to goroutine leak triggered by auto-reload configuration mechanism.

Output plugin updates

  • HTTP (http): Enable authentication against a Google API protected by the OAuth 2.0 protocol.
  • HTTP (elasticsearch): Add healthcheck timeout.
  • SQL (sql): Add table existence cache.

Dependency updates

  • Update github.com/wavefronthq/wavefront-sdk-go from 0.9.10 to 0.9.11.
  • Update github.com/aws/aws-sdk-go-v2/config from 1.15.3 to 1.15.7.
  • Update github.com/sensu/sensu-go/api/core/v2 from 2.13.0 to 2.14.0.
  • Update go.opentelemetry.io/otel/metric from 0.28.0 to 0.30.0.
  • Update github.com/nats-io/nats-server/v2 from 2.7.4 to 2.8.4.
  • Update golangci-lint from v1.45.2 to v1.46.2.
  • Update gopsutil from v3.22.3 to v3.22.4 to allow for HOST_PROC_MOUNTINFO.
  • Update moby/ipvs dependency from v1.0.1 to v1.0.2.
  • Update modernc.org/sqlite from v1.10.8 to v1.17.3.
  • Update github.com/containerd/containerd from v1.5.11 to v1.5.13.
  • Update github.com/tidwall/gjson from 1.10.2 to 1.14.1.

v1.22.4

  • Wait for network up in systemd packaging.

Input plugin updates

  • Couchbase (couchbase): Do not assume metrics will all be of the same length.
  • StatsD (statsd): Fix error when closing network connection.
  • Add mount option filtering to disk plugin.

Output plugin updates

  • Azure Monitor (azure_monitor): Reinitialize http client on context deadline error.
  • Wavefront (wavefront): Do not add telegraf.host tag if no host tag is provided.

Dependency updates

  • Update github.com/showwin/speedtest-go from 1.1.4 to 1.1.5.
  • Update OpenTelemetry plugins to v0.51.0.

v1.22.3

  • Update Go to 1.18.1.

Input plugin updates

  • InfluxDB Listener (influxdb_listener): Remove duplicate writes with upstream parser.
  • GNMI (gnmi): Use external xpath parser.
  • System (system): Reduce log level back to original level.

v1.22.2

  • Allow Makefile to work on Windows.
  • Allow zero outputs when using test-wait parameter.

Input plugin updates

  • Aerospike (aerospike): Fix statistics query bug.
  • Aliyun CMS (aliyuncms): Ensure metrics accept array.
  • Cisco Telemetry MDT (cisco_telemetry_mdt):
    • Align the default value for message size.
    • Remove overly verbose info message.
  • GNMI (gnmi):
    • Add mutex to lookup map.
    • Use sprint to cast to strings.
  • Consul agent (consul_agent): Use correct auth token.
  • MySQL (mysql): Add mariadb_dialect to address the MariaDB differences in INNODB_METRICS.
  • SMART (smart): Correctly parse various numeric forms
  • Prometheus (prometheus): Moved from watcher to informer.

Output plugin updates

  • InfluxDB v2 (influxdb_v2): Improve error message.

Dependency updates

  • Update github.com/Azure/azure-kusto-go from 0.5.0 to 0.60.
  • Update opentelemetry from v0.2.10 to v0.2.17.
  • Update go.opentelemetry.io/collector/pdata from v0.48.0 to v0.49.0.
  • Update github.com/aws/aws-sdk-go-v2/config from 1.13.1 to 1.15.3
  • Update github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs.
  • Update github.com/aws/aws-sdk-go-v2/credentials from 1.8.0 to 1.11.2.
  • Update github.com/containerd/containerd from v1.5.9 to v1.5.11.
  • Update github.com/miekg/dns from 1.1.46 to 1.1.48.
  • Update github.com/gopcua/opcua from v0.3.1 to v0.3.3
  • Update github.com/aws/aws-sdk-go-v2/service/dynamodb.
  • Update github.com/xdg/scram from 1.0.3 to 1.0.5.
  • Update go.mongodb.org/mongo-driver from 1.8.3 to 1.9.0.
  • Update starlark 7a1108eaa012->d1966c6b9fcd.

v1.22.1

  • Update gonum.org/v1/gonum from 0.9.3 to 0.11.0.
  • Update github.com/golang-jwt/jwt/v4 from 4.2.0 to 4.4.1.
  • Update gopsutil and associated dependencies for improved OpenBSD support.
  • Fix default value for logfile rotation interval.

Input plugin updates

  • Intel PMU (intel_pmu): Fix slow running intel-pmu test.
  • Cloud PubSub (cloud_pubsub): Skip longer integration tests on -short mode.
  • Cloud PubSub Push (cloud_pubsub_push): Reduce timeouts and sleeps.
  • SQL Server (sqlserver): Fix inconsistencies in sql*Requests queries.
  • ZFS (zfs): Fix redundant pool tag.
  • vSphere (vsphere): Update debug message information.

Output plugin updates

  • Azure Monitor (azure_monitor): Include body in error message.
  • HTTP (http): Switch HTTP 100 test case values.

Processor plugin updates

  • TopK (topk) Clarify the k and fields parameters.

New external plugins

v1.22.0

Features

  • Add autorestart and restartdelay flags to Windows service
  • Add builds for riscv64.
  • Add file version and icon to win.exe.
  • Add systemd notify support.
  • Check TLS configuration early to catch missing certificates.
  • Implement collection offset.
  • common.auth: HTTP basic auth.
  • common.cookie: Support headers with cookie auth.
  • common.proxy: Add socks5 proxy support.
  • Improve error logging on plugin initialization.

Bug fixes

  • Print loaded plugins and deprecations for once and test.
  • Remove signed MacOS artifacts.
  • Run go mod tidy.
  • Fix prometheusremotewrite wrong timestamp unit.
  • Fix sudden close caused by OPC UA input.
  • Update containerd to 1.5.9.
  • Update go-sensu to v2.12.0.
  • Update gosmi from v0.4.3 to v0.4.4.
  • Update parsing logic of config.duration.
  • Update precision parameter default value.
  • Use sha256 for rpm digest.
  • Warning output when running with --test.
  • Graceful shutdown of Telegraf with Windows service.
  • Add push-only updated values flag to histogram aggregator.
  • common.cookie: Address flaky tests in cookie_test.go and graylog_test.go.
  • common.shim: Linter fixes.
  • Do not save cache on i386 builds.
  • Add error msg for missing environment variables in configuration file.
  • Fix panic in parsers due to missing log for all plugins using setparserfunc.
  • Grab table columns more accurately.
  • Improve parser tests by using go-cmp/cmp.
  • Linter fixes for config/config.go.
  • Log error when loading mibs.
  • Fix Mac signing issue with arm64.

New plugins

Inputs

Processors

Input plugin updates

  • Aerospike (aerospike): Update github.com/aerospike/aerospike-client-go from 1.27.0 to 5.7.0.
  • Bond (bond): Add additional stats.
  • Directory Monitor (directory_monitor):
    • Update djherbis/times and fix dependabot.
    • Plugin restructuring.
  • Disk (disk): Fix missing storage in container.
  • Docker (docker):
    • Keep field type of tasks_desired the same.
    • Update memory usage calculation.
    • Update client API version.
  • ECS (ecs): Use current time as timestamp.
  • Execd execd: Add newline for Prometheus parsing.
  • File (file): Stateful parser handling.
  • GNMI (gnmi): Add dynamic tagging.
  • Graylog (graylog):
    • Add toml tags.
    • Add timeout-setting.
    • Update documentation to use current URLs.
  • HTTP (http): Ensure http body is empty.
  • HTTP Listener v2 (http_listener_v2): Revert deprecation.
  • Internet speed (internet_speed): Add caching.
  • IPset (ipset): Fix crash when command not found.
  • JSON V2 (json_v2):
    • Allow multiple optional objects.
    • Use raw values for timestamps.
  • Kibana (kibana): Add heap_size_limit field.
  • Logparser (logparser):
    • Add comment.
    • Fix panic due to missing log.
  • MDStat (mdstat): Fix when sync is less than 10%.
  • Memcached (memcached): Gather additional stats.
  • Modbus modbus:
    • Make Telegraf compile on Windows with golang 1.16.2.
    • Re-enable openbsd support.
    • Update documentation.
    • Add per-request tags.
    • Support multiple slaves (gateway feature).
  • MQTT Consumer (mqtt_consumer): Topic extracting no longer requires all three fields.
  • NFS Client (nfsclient): Add new field.
  • NTPQ (ntpq): Correctly read long poll output.
  • OPC UA (opcua):
    • Accept non-standard OK status by implementing a configurable workaround.
    • Add more data to error log.
    • Remove duplicate addition of fields.
  • OpenLDAP (openldap): Update go-ldap to v3.4.1.
  • OpenStack (openstack): Fix typo.
  • OpenWeatherMap (openweathermap): Add feels_like field.
  • PHPfpm (phpfpm): Ensure CI tests runs against i386.
  • PostgreSQL (postgresql): Add option to disable prepared statements.
  • SMART (smart): Add concurrency configuration option, support and lint fixes.
  • SNMP (snmp):
    • Respect number of retries configured.
    • Use the correct path when evaluating symlink.
    • Add option to select translator.
    • Check index before assignment.
    • Do not require networking during tests.
    • Ensure folders do not get loaded more than once.
    • Fix panic due to no module.
    • Fix errors if mibs folder doesn’t exist.
    • Optimize locking for mibs loading.
  • SNMP Trap (snmp_trap):
    • Collapsed fields by calling more in-depth function.
    • Deprecate unused timeout configuration option.
  • SQL (sql): Add Clickhouse driver.
  • StatsD (statsd): Sanitize names.
  • Syslog (syslog): Add rfc3164 to rfc5424 translation to docs.
  • System (system): Remove verbose logging.
  • Windows Performance Counter (win_perf_counter):
    • Allow errors to be ignored.
    • Implemented support for reading raw values, added tests, and update documentation.
  • X.509 Certificate (x509_cert):
    • Mark testgatherudpcert as an integration test.
    • Add exclude_root_certs option.
  • ZFS (zfs): Pool detection and metrics gathering for ZFS 2.1.x.

Output plugin updates

  • AMQP (amqp): Check for nil client before closing.
  • ElasticSearch (elasticsearch):
    • Implement nan and inf handling.
    • Add bearer token support.
  • Graylog (graylog): Fix to field prefixes.
  • Groundwork (groundwork):
    • Set nextchecktime to lastchecktime.
    • Update SDK and improve logging.
    • Process group tag.
  • InfluxDB V2 (influxdb_v2): Include bucket name in error messages.
  • SQL (sql): Fix unsigned settings.
  • Stackdriver (stackdriver): Cumulative interval start times.
  • Syslog (syslog): Correctly set trailer.
  • Timestream (timestream): Fix batching logic with write record and introduce concurrent requests.
  • Datadog (datadog): Add compression.
  • HTTP (http):
    • Add optional list of non-retryable status codes.
    • Support AWS managed service for Prometheus.
  • Websocket websocket: socks5 proxy support.
  • Wavefront (wavefront):
    • Flush sender on error to clean up broken connections.
    • Run gofmt.
    • Fix panic if no mibs folder is found.

Parser plugin updates

  • CSV (csv):
    • Empty import tzdata for Windows binaries.
    • Fix typo.
  • Ifname (ifname):
    • Eliminate mib dependency.
    • Parallelism fix.
  • JSON V2 (parsers.json_v2):
    • Allow optional paths and handle wrong paths correctly.
    • Check if gpath exists and support optional in fields/tags.
    • Fixes to timestamp setting.
  • Nagios (nagios): Use real error for logging.
  • XPath (xpath):
    • Handle duplicate registration of protocol-buffer files gracefully.
    • Fix typo.

Dependency updates

  • Update github.com/azure/azure-kusto-go from 0.5.0 to 0.5.2.
  • Update github.com/nats-io/nats-server/v2 from 2.7.3 to 2.7.4.
  • Update github.com/shopify/sarama from 1.29.1 to 1.32.0.
  • Update github.com/shirou/gopsutil/v3 from 3.21.12 to 3.22.2.
  • Update github.com/aws/aws-sdk-go-v2/feature/ec2/imds.
  • Update github.com/miekg/dns from 1.1.43 to 1.1.46.
  • Update github.com/aws/aws-sdk-go-v2/service/dynamodb.
  • Update github.com/nats-io/nats-server/v2 from 2.7.2 to 2.7.3.
  • Update github.com/aws/aws-sdk-go-v2/config from 1.8.3 to 1.13.1.
  • Update github.com/testcontainers/testcontainers-go.
  • Update github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs.
  • Update github.com/aws/aws-sdk-go-v2/feature/ec2/imds.
  • Update github.com/wavefronthq/wavefront-sdk-go from 0.9.9 to 0.9.10.
  • Update github.com/clickhouse/clickhouse-go from 1.5.1 to 1.5.4.
  • Update k8s.io/api from 0.23.3 to 0.23.4.
  • Update cloud.google.com/go/pubsub from 1.17.1 to 1.18.0.
  • Update github.com/newrelic/newrelic-telemetry-sdk-go.
  • Update github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.5.0 to 1.13.0.
  • Update github.com/sensu/sensu-go/api/core/v2 from 2.12.0 to 2.13.0.
  • Update github.com/gophercloud/gophercloud from 0.16.0 to 0.24.0.
  • Update github.com/jackc/pgx/v4 from 4.14.1 to 4.15.0.
  • Update github.com/aws/aws-sdk-go-v2/service/sts from 1.7.2 to 1.14.0.
  • Update all go.opentelemetry.io dependencies.
  • Update github.com/signalfx/golib/v3 from 3.3.38 to 3.3.43.
  • Update github.com/aliyun/alibaba-cloud-sdk-go.
  • Update github.com/denisenkom/go-mssqldb from 0.10.0 to 0.12.0.
  • Update github.com/gopcua/opcua from 0.2.3 to 0.3.1.
  • Update github.com/nats-io/nats-server/v2 from 2.6.5 to 2.7.2.
  • Update k8s.io/client-go from 0.22.2 to 0.23.3.
  • Update github.com/aws/aws-sdk-go-v2/service/kinesis from 1.6.0 to 1.13.0.
  • Update github.com/benbjohnson/clock from 1.1.0 to 1.3.0.
  • Update github.com/vmware/govmomi from 0.27.2 to 0.27.3.
  • Update github.com/prometheus/client_golang from 1.11.0 to 1.12.1.
  • Update go.mongodb.org/mongo-driver from 1.7.3 to 1.8.3.
  • Update github.com/google/go-cmp from 0.5.6 to 0.5.7.
  • Update go.opentelemetry.io/collector/model from 0.39.0 to 0.43.2.
  • Update github.com/multiplay/go-ts3 from 1.0.0 to 1.0.1.
  • Update cloud.google.com/go/monitoring from 0.2.0 to 1.2.0.
  • Update github.com/vmware/govmomi from 0.26.0 to 0.27.2.
  • Update google.golang.org/api from 0.54.0 to 0.65.0.
  • Update github.com/antchfx/xmlquery from 1.3.6 to 1.3.9.
  • Update github.com/nsqio/go-nsq from 1.0.8 to 1.1.0.
  • Update github.com/prometheus/common from 0.31.1 to 0.32.1.
  • Update cloud.google.com/go/pubsub from 1.17.0 to 1.17.1.
  • Update github.com/influxdata/influxdb-observability/influx2otel from 0.2.8 to 0.2.10.
  • Update github.com/shirou/gopsutil/v3 from 3.21.10 to 3.21.12.
  • Update github.com/jackc/pgx/v4 from 4.6.0 to 4.14.1.
  • Update github.com/azure/azure-event-hubs-go/v3 from 3.3.13 to 3.3.17.
  • Update github.com/gosnmp/gosnmp from 1.33.0 to 1.34.0.
  • Update github.com/hashicorp/consul/api from 1.9.1 to 1.12.0.
  • Update github.com/antchfx/xpath from 1.1.11 to 1.2.0.
  • Update github.com/antchfx/jsonquery from 1.1.4 to 1.1.5.
  • Update github.com/prometheus/procfs from 0.6.0 to 0.7.3.
  • Update github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs from 1.5.2 to 1.12.0.
  • Update github.com/kardianos/service from 1.0.0 to 1.2.1.
  • Update github.com/couchbase/go-couchbase from 0.1.0 to 0.1.1.
  • Update github.com/pion/dtls/v2 from 2.0.9 to 2.0.13.
  • Update github.com/eclipse/paho.mqtt.golang from 1.3.0 to 1.3.5.

v1.21.4

  • Update to Go 1.17.7 to address three security issues in the library.
  • Update all go.opentelemetry.io from 0.24.0 to 0.27.0.
  • Update github.com/signalfx/golib/v3 from 3.3.38 to 3.3.43.
  • Update github.com/aliyun/alibaba-cloud-sdk-go from 1.61.1004 to 1.61.1483.
  • Update github.com/denisenkom/go-mssqldb from 0.10.0 to 0.12.0.
  • Update github.com/gopcua/opcua from 0.2.3 to 0.3.1.
  • Update github.com/nats-io/nats-server/v2 from 2.6.5 to 2.7.2.
  • Update k8s.io/client-go from 0.22.2 to 0.23.3.
  • Update github.com/aws/aws-sdk-go-v2/service/kinesis from 1.6.0 to 1.13.0.
  • Update github.com/benbjohnson/clock from 1.1.0 to 1.3.0.
  • Update github.com/Azure/azure-kusto-go from 0.5.0 to 0.5.2.
  • Update github.com/vmware/govmomi from 0.27.2 to 0.27.3.
  • Update github.com/prometheus/client_golang from 1.11.0 to 1.12.1.
  • Update go.mongodb.org/mongo-driver from 1.7.3 to 1.8.3.
  • Update github.com/google/go-cmp from 0.5.6 to 0.5.7.
  • Update go.opentelemetry.io/collector/model from 0.39.0 to 0.43.2.
  • Update github.com/multiplay/go-ts3 from 1.0.0 to 1.0.1.
  • Update cloud.google.com/go/monitoring from 0.2.0 to 1.2.0.
  • Update github.com/vmware/govmomi from 0.26.0 to 0.27.2.

Input plugin updates

  • Docker (docker): Update memory usage calculation.
  • ECS (ecs): Use current time as timestamp.
  • SNMP (snmp): Ensure folders do not get loaded more than once.
  • Windows Performance Counters (win_perf_counters): Add deprecated warning and version.

Output plugin updates

  • AMQP (amqp): Check for nil client before closing.
  • Azure Data Explorer (azure_data_explorer): Lower RAM usage.
  • ElasticSearch (elasticsearch): Add scheme to fix error in sniffing option.

Parser plugin updates

  • JSON v2 (json_v2):
    • Fix timestamp change during execution.
    • Fix incorrect handling of timestamp_path.
    • Allow optional paths and handle wrong paths correctly.

Serializer updates

  • Prometheus serializer (prometheusremotewrite): Use correct timestamp unit.

New External Plugins

v1.21.3

  • Update grpc module to v1.44.0.
  • Update google.golang.org/api module from 0.54.0 to 0.65.0.
  • Update antchfx/xmlquery module from 1.3.6 to 1.3.9.
  • Update nsqio/go-nsq module from 1.0.8 to 1.1.0.
  • Update prometheus/common module from 0.31.1 to 0.32.1.
  • Update cloud.google.com/go/pubsub module from 1.17.0 to 1.17.1.
  • Update influxdata/influxdb-observability/influx2otel module from 0.2.8 to 0.2.10.
  • Update shirou/gopsutil/v3 module from 3.21.10 to 3.21.12.
  • Update jackc/pgx/v4 module from 4.6.0 to 4.14.1.
  • Update Azure/azure-event-hubs-go/v3 module from 3.3.13 to 3.3.17.
  • Update gosnmp/gosnmp module from 1.33.0 to 1.34.0.
  • Update hashicorp/consul/api module from 1.9.1 to 1.12.0.
  • Update antchfx/xpath module from 1.1.11 to 1.2.0.
  • Update antchfx/jsonquery module from 1.1.4 to 1.1.5.
  • Update prometheus/procfs module from 0.6.0 to 0.7.3.
  • Update aws/aws-sdk-go-v2/service/cloudwatchlogs module from 1.5.2 to 1.12.0.
  • Update kardianos/service module from 1.0.0 to 1.2.1.
  • Update couchbase/go-couchbase module from 0.1.0 to 0.1.1.
  • Update pion/dtls/v2 module from 2.0.9 to 2.0.13.
  • Update containerd/containerd module to 1.5.9.

Input plugin updates

  • Execd (execd): Resolve a Prometheus text format parsing error.
  • IPset (ipset): Prevent panic from occurring after startup.
  • OPC-UA (opc_ua): Fix issue where fields were being duplicated.
  • HTTP (http): Prevent server side error message.
  • SNMP (snmp): Fix error when a MIBs folder doesn’t exist.
  • SNMP Trap (snmp_trap): Fix translation of partially resolved OIDs.

Output plugin updates

  • AMQP (amqp): Update to avoid connection leaks.
  • Timestream (timestream):
    • Fix an issue with batching logic of write records.
    • Introduce concurrent requests.
  • Stackdriver (stackdriver): Send correct interval start times for all counter metrics.
  • Syslog (syslog): Correctly set the ASCII trailer per RFC 6587.

Parser plugin updates

  • Nagios (nagios): Log correct errors when executing commands to aid in debugging.
  • JSON v2 (json_v2): Fix timestamp precision when using unix_ns timestamp format.
  • Wavefront (wavefront): Add missing setting wavefront_disable_prefix_conversion.

v1.21.2

  • Add arm64 MacOS builds for M1 devices.
  • Add RISC-V64 Linux builds.
  • Complete numerous changes to CircleCI config to ensure more timely completion and more clear execution flow.
  • Update github.com/djherbis/times module from v1.2.0 to v1.5.0.
  • Update github.com/go-ldap/ldap/v3 module from v3.1.0 to v3.4.1.
  • Update github.com/gwos/tcg/sdk module to v0.0.0-20211223101342-35fbd1ae683c.

Input plugin updates

  • Disk (disk): Fix issue of missing disks when running Telegraf in a container.
  • DPDK (dpdk): Add a note to documentation about socket availability.
  • Logparser (logparser): Resolve panic in the logparser plugins due to a missing Log.
  • SNMP (snmp):
    • Resolve panic due to a missing gosmi module.
    • Resolve panic to check the index before assignment where a floating :: exists.
    • Resolve a panic when no MIBs folder was found.
    • Ensure the module load order to avoid an SNMP marshal error.
    • Now more accurately grabs MIB table columns.
    • Networking no longer required during tests.
  • SNMP Trap (snmp_trap): Documented deprecation of the timeout setting.

Parser plugin updates

  • CSV (csv): Use an empty import of tzdata to correctly set the time zone.

v1.21.1

Bug fixes

  • Fix panic in parsers due to missing log.
  • Update go-sensu module to v2.12.0
  • Fix typo in OpenStack input plugin.

Features

  • Add SMART input plugin concurrency configuration option, nvme-cli v1.14+ support, and lint fixes.

v1.21

The signing for RPM digest has changed to use sha256 to improve security. Due to this change, RPM builds might not be compatible with RHEL6 and older releases. (Telegraf only supports releases in RHEL production.)

  • Restart Telegraf service if it’s already running and upgraded via RPM.
  • Print loaded plugins and deprecations for once and test flags.
  • Update eclipse/paho.mqtt.golang module from 1.3.0 to 1.3.5.
  • Shutdown Telegraf gracefully on Windows Service.
  • Skip knxlistener when writing the sample configuration file.
  • Update nats-sever to support openbsd.
  • Revert unintended corruption of the Makefile.
  • Filter client certificates by DNS names.
  • Update etc/telegraf.conf and etc/telegraf_windows.conf.
  • Add full metadata to configuration for common.kafka.
  • Update google.golang.org/grpc module from 1.39.1 to 1.40.0.

Input plugin updates

  • Cloudwatch (cloudwatch): Fix metrics collection.
  • CPU (cpu): Update shirou/gopsutil from v2 to v3.
  • Directory Monitor (directory_monitor):
    • Fix to when when data format is CSV and csv_skip_rows>0 and csv_header_row_count>=1.
    • Adds the ability to create and name a tag containing the filename.
  • ElasticSearch (elasticsearch_query): Add debug query output.
  • HTTP Listener v2: (http_listener_v2): Fix panic on close to check that Telegraf is closing.
  • Kubernetes Inventory (kube_inventory): Set TLS server name configuration properly.
  • Modbus (modbus): Update connection settings (serial).
  • MQTT Consumer (mqtt_consumer):
    • Extracting no longer requires all three fields
    • Enable extracting tag values from MQTT topics
  • OPC UA (opc_ua):
    • Fix sudden closing of Telegraf.
    • Allow user to select the source for the metric timestamp.
  • Prometheus (prometheus):
    • Check error before defer.
    • Add ignore_timestamp option.
  • Puppet (puppetagent): Add measurements from puppet 5.
  • SNMP (snmp):
    • Update snmp plugin to respect number of retries configured.
    • Optimize locking for SNMP MIBs loading.
    • Update to use gosmi.
    • Remove snmptranslate from READme and fix default path.
    • Merge tables with different indexes.
  • StatsD (statsd): Fix parse error.
  • Sysstat (sysstat): Use unique temporary file.
  • Windows Performance Counters (win_perf_counters): Add setting to ignore localization.
  • Windows Services (win_services): Add exclude filter.
  • ZFS (zfs): Pool detection and metrics gathering for ZFS >= 2.1.x

Output plugin updates

  • Register bigquery to all output plugins.
  • Azure Data Explorer (azure_data_explorer):
    • Add option to skip table creation.
    • Add json_timestamp_layout option.
  • ElasticSearch (elasticsearch): Implement NaN and inf handling.
  • Graylog (graylog):
    • Ensure graylog spec fields not prefixed with _.
    • Failing test due to port already in use.
    • Mute UDP/TCP tests by marking them as integration.
    • TLS support and message format.
    • Add TCP support.
  • HTTP (http): Add use_batch_format.
  • InfluxDB V2 (influxdb_v2): Add retry to 413 errors with InfluxDB output.
  • Wavefront (wavefront): Flush sender on error to clean up broken connections.

Parser plugin updates

  • XPath (xpath): Handle duplicate registration of protocol-buffer files gracefully
  • JSON v2 (json_v2):
    • Parser timestamp setting order.
    • Remove dead code.
    • Support defining field/tag tables within an object table.

Processor plugin updates

  • IfName (ifname):
    • Eliminate MIB dependency.
    • Parallelism fix.
    • Add more details to log messages.
  • Starlark (starlark): Example for processing sparkplug_b messages.
  • RegEx (regex): Extend to allow renaming of measurements, tags, and fields.

Aggregator plugin updates

  • Implement deprecation infrastructure
  • Add support of aggregator as Starlark script

New plugins

Inputs

Outputs

Aggregator

v1.20.4

  • Update BurntSushi/toml from 0.3.1 to 0.4.1.
  • Update gosnmp module from 1.32 to 1.33.
  • Update go.opentelemetry.io/otel from v0.23.0 to v0.24.0.
  • Fix plugin linters.

Input plugin updates

  • Cisco Model-Driven Telemetry (cisco_telemetry_mdt): Move to new protobuf library.
  • InfluxDB (influxdb): Update input schema docs.
  • Intel RDT (intel_rdt): Correct the timezone to use local timezone by default instead of UTC from metrics gathered from the pqos tool.
  • IPMI Sensor (ipmi): Redact passwords in log files to maintain security.
  • Modbus (modbus): Do not build on OpenBSD.
  • MySQL (mysql):
    • Fix type conversion follow-up.
    • Correctly set the default paths.
  • NVIDIA SMI (nvidia_smi): Correctly set the default paths.
  • Proxmox (proxmox): Parse the column types of the server status.
  • SQL Server (sqlserver): Add elastic pool in supported versions.

Output plugin updates

  • Loki (loki): Include the metric name as a label for improved query performance and metric filtering.

v1.20.3

  • Update Go to 1.17.2.
  • Update gjson module to v1.10.2.
  • Update Snowflake database driver module to 1.6.2.
  • Update github.com/apache/thrift module from 0.14.2 to 0.15.0.
  • Update github.com/aws/aws-sdk-go-v2/config module from 1.8.2 to 1.8.3.
  • Update github.com/Azure/azure-kusto-go module from 0.3.2 to 0.4.0.
  • Update github.com/docker/docker module from 20.10.7+incompatible to 20.10.9+incompatible.
  • Update github.com/golang-jwt/jwt/v4 module from 4.0.0 to 4.1.0.
  • Update github.com/jaegertracing/jaeger module from 1.15.1 to 1.26.0.
  • Update github.com/prometheus/common module from 0.26.0 to 0.31.1.

Input plugin updates

  • IPMI Sensor (ipmi_sensor): Redact IPMI password in logs.
  • Kube Inventory (kube_inventory):
    • Do not skip resources with zero s/ns timestamps.
    • Fix segfault in ingress, persistentvolumeclaim, statefulset.
  • Procstat (procstat): Revert and fix tag creation.
  • SQL Server (sqlserver): Add integration tests.
  • Amazon CloudWatch (cloudwatch): Use the AWS SDK v2 library.
  • ZFS (zfs): Check return code of zfs command for FreeBSD.
  • Ethtool (ethtool): Add normalization of tags.
  • Internet Speed (internet_speed): Resolve missing latency field.
  • Prometheus (prometheus):
    • Decode Prometheus scrape path from Kubernetes labels.
    • Move err check to correct place.
  • Procstat (procstat): Correct conversion of int with specific bit size.
  • Webhooks (webhooks): Provide more fields.
  • MongoDB (mongodb): Solve compatibility issue when using 5.x relicaset.
  • Intel RDT (intel_rdt): Allow sudo usage.
  • MySQL (mysql): Fix inconsistent metric types.

Processor plugin updates

  • Starlark (starlark): Pop operation for non-existing keys.

New plugins

External

v1.20.2

  • Fix makefile typo that prevented i386 tar and rpm packages from being built.

Input plugin updates

  • Cloudwatch (cloudwatch): Use new session API.
  • Stackdriver (stackdriver): Migrate to cloud.google.com/go/monitoring/apiv3/v2.

Parser plugin updates

  • JSON V2 (json_v2): Duplicate line_protocol when using object and fields.
  • Influx (influx): Fix memory leak.

v1.20.1

  • Fix output buffer never completely flushing.
  • Update k8s.io/apimachinery module to 0.22.2.
  • Update consul module to 1.11.0.
  • Update github.com/testcontainers/testcontainers-go module to 0.11.1.
  • Update github.com/Azure/go-autorest/autorest/adal module.
  • Update github.com/Azure/go-autorest/autorest/azure/auth module to 0.5.8.
  • Update cloud.google.com/go/pubsub module to 1.17.0.
  • Update github.com/aws/smithy-go module to 1.8.0.

Input plugin updates

  • ElasticSearch (elasticsearch_query): Add custom time/date format field.
  • OpenTelemetry (opentelemetry): Fix error returned to OpenTelemetry client.
  • Couchbase (couchbase): Fix insecure certificate validation.
  • MongoDB (mongodb): Fix panic due to nil dereference.
  • Intel RDT (intel_rdt): Prevent timeout when logging.
  • Procstat (procstat): Add missing tags.

Output plugin updates

  • Loki (loki): Update http_headers setting to match sample config.
  • MQTT (mqtt): Add “keep alive” config option and documentation around issue with eclipse/mosquito version.

v.1.20

  • Update Go to 1.17.0
  • Update runc module to v1.0.0-rc95.
  • Migrate dgrijalva/jwt-go to golang-jwt/jwt/v4.
  • Update thrift module to 0.14.2 and zipkin-go-opentracing 0.4.5.
  • Update cloud.google.com/go/pubsub module to 1.15.0.
  • Update github.com/tinylib/msgp module to 1.1.6.

Input plugin updates

  • MongoDB (mongodb): Change command based on server version.
  • SQL (sql): Make timeout apply to single query.
  • SystemD Units (systemd_units): Add pattern support.
  • Cloudwatch (cloudwatch):
    • Pull metrics from multiple AWS CloudWatch namespaces.
    • Support AWS Web Identity Provider.
  • Modbus (modbus): Add support for RTU over TCP.
  • Procstat (procstat): Support cgroup globs and include systemd unit children.
  • Suricata (suricata): Support alert event type.
  • Prometheus (prometheus): Add ability to query Consul Service catalog.
  • HTTP Listener V2 (http_listener_v2): Allow multiple paths and add path_tag.
  • HTTP (http): Add cookie authentication.
  • Syslog (syslog): Add RFC 3164 support for BSD-style syslog messages.
  • Jenkins (jenkins): Add option to include nodes by name.
  • SNMP Trap (snmp_trap): Improve MIB lookup performance.
  • Smart (smart): Add power mode status.
  • New Relic (newrelic): Add option to override metric_url.

Output plugin updates

  • Dynatrace (dynatrace): Remove hardcoded int value.
  • InfluxDB v2 (influxdb_v2): Increase accepted retry-after header values.
  • SQL (sql): Add bool datatype.
  • Prometheus Client (prometheus_client): Add Landing page.
  • HTTP (http): Add cookie authentication.

Serializer plugin updates

  • Prometheus (prometheus): Update timestamps and expiration time as new data arrives.

Parser plugin updates

  • XPath (xpath): Add JSON, MessagePack, and Protocol-buffers format support.

New plugins

Input

Output

v.1.19.3

  • Update sirupsen/logrus module from 1.7.0 to 1.8.1.
  • Update testcontainers/testcontainers-go module from 0.11.0 to 0.11.1.
  • Update golang/snappy module from 0.0.3 to 0.0.4.
  • Update aws/aws-sdk-go-v2 module from 1.3.2 to 1.8.0.
  • Update sensu/go module to v2.9.0.
  • Update hashicorp/consul/api module to 1.9.1.

Input plugin updates

  • Prometheus (prometheus): Fix Kubernetes pod discovery.
  • Redis (redis) Improve redis commands documentation.
  • Clickhouse (clickhouse): Fix panic, improve handling empty result set.
  • OPC UA: (opcua):
    • Avoid closing session on a closed connection.
    • Fix reconnection regression introduced in 1.19.1.
    • Don’t skip good quality nodes after encountering bad quality node.
  • Kubernetes Inventory (kube_inventory): Fix k8s nodes and pods parsing error.
  • PostgreSQL (postgresql): Normalize unix socket path.
  • vSphere (vsphere): Update vmware/govmomi module to v0.26.0 in order to support vSphere 7.0.

Output plugin updates

  • Loki (loki): Sort logs by timestamp before writing to Loki.
  • CrateDB (cratedb): Replace dots in tag keys with underscores.

Processor plugin updates

  • AWS (aws): Refactor EC2 init.

v.1.19.2

  • Update Go to 1.16.6.
  • Linter fixes.
  • Update dynatrace-metric-utils-go module to v0.2.0.
  • Detect changes to configuration and reload Telegraf.

Input plugin updates

  • CGroup (couchbase): Allow for multiple keys when parsing cgroups.
  • Kubernetes (kubernetes): Update plugin to attach pod labels to the kubernetes_pod_volume and kubernetes_pod_network metrics.
  • Kubernetes Inventory (kube_inventory): Fix a segmentation fault when selector labels were not present on a persistent volume claim.
  • MongoDB (mongodb): Switch to official mongo-go-driver module to fix an SSL authentication failure.
  • NSQ Consumer (couchbase): Fix a connection error when attempting to connect to an empty list of servers.
  • Prometheus (prometheus): Fix Prometheus cAdvisor authentication.
  • SQL (sql): Fix issue when handling a boolean column.
  • SQL Server (sqlserver):
    • Add TempDB troubleshooting stats and missing v2 query metrics.
    • Update to provide more detailed error messaging.
  • StatsD (statsd): Fix a regression that didn’t allow integer percentiles.
  • x509 Certificate (x509_cert): Fix an issue where plugin would hang indefinitely to a UDP connection.

Output plugin updates

  • Dynatrace Output (dynatrace):
    • Update plugin to allow optional default dimensions.
    • Fix a panic caused by uninitialized loggedMetrics map.
  • InfluxDB (influxdb): Fix issue where metrics were reporting as written but not actually written.

Processor plugin updates

  • IfName (ifname): Fix issue with SNMP empty metric name.

Parser plugin updates

  • JSON v2 (json_v2):
    • Simplify how nesting is handled in parser.
    • Add support for large uint64 and int64 numbers.
    • Fix an issue to handle nested objects in arrays properly.

v.1.19.1

  • Update nat-server module to v2.2.6.
  • Update apimachinary module to v0.21.1.
  • Update jwt module to v1.2.2 and jwt-go module to v3.2.3.
  • Update couchbase module to v0.1.0.
  • Update signalfx module to v3.3.34.
  • Update gjson module to v1.8.0.
  • Linter fixes.

Input plugin updates

  • SQL Server (sqlserver): Require authentication method to be specified.
  • Kube Inventory (kube_inventory): Fix segfault.
  • Couchbase (couchbase): Fix panic.
  • KNX (knx_listener): Fix nil pointer panic.
  • Procstat (procstat): Update gopsutil module to fix panic.
  • RabbitMQ (rabbitmq) Fix JSON unmarshall regression.
  • Dovecot (dovecot): Exclude read-timeout from being an error.
  • StatsD(statsd) Don’t stop parsing after parsing error.
  • SNMP (snmp): Add a check for oid and name to prevent empty metrics.
  • (x509_cert):
    • Fix ‘source’ tag for https.
    • Fix SNI support.

Output plugin updates

  • (http): Fix toml error when parsing insecure_skip_verify.

Parser plugin updates

  • (json_v2): Don’t require tags to be added to included_keys.

v1.19.0

  • Update Go to 1.16.5.

Bug fixes

  • Update pgx to v4.
  • Fix reading configuration files starting with HTTP:
  • serializers.prometheusremotewrite: Update dependency and remove tags with empty values.
  • outputs.kafka: Don’t prevent telegraf from starting when there’s a connection error.
  • parsers.prometheusremotewrite: Update prometheus dependency to v2.21.0.
  • outputs.dynatrace: Use dynatrace-metric-utils.
  • Many linter fixes. (Thanks @zak-pawel and all!)

Features

  • Configuration file environment variable can now be a URL.
  • Add named timestamp formats.
  • Allow multiple --config and --config-directory flags.

Plugin updates

Input plugin updates

  • (aliyuncms): Add configuration option list of regions to query.
  • (cisco_telemetry_mdt): Add support for events and class based query.
  • (cloudwatch): Add wildcard support in dimensions configuration.
  • (couchbase): Add ~200 more Couchbase metrics via buckets endpoint.
  • (dovecot): Add support for Unix domain sockets.
  • (http_listener_v2): Add support for snappy compression
  • (http): Add OAuth2 to HTTP input.
  • (kinesis_consumer): Add content_encoding option with gzip and zlib support.
  • (logstash): Add support for version 7 queue statistics.
  • (mongodb): Optionally collect top statistics.
  • (mysql): Gather all MySQL channels.
  • (ping): Add an option to specify packet size.
  • (sqlserver): Add an optional health metric.
  • (sqlserver): Added login_name.
  • (sqlserver): Enable Azure Active Directory (AAD) authentication.
  • (sqlserver): input/sqlserver: Add service and save connection pools.
  • (vsphere): Add configuration option for the historical interval duration.
  • (x509_)cert: Wildcard support for certificate filenames.

Output plugin updates

  • (datadog): Add HTTP proxy to DataDog output.
  • (graphite): Allow more characters in graphite tags.

Parser plugin updates

  • (prometheusremotewrite): Add Starlark script for renaming metrics.
  • (value): Add custom field name configuration option.

Processor plugin updates

  • (enum): Support float64.
  • (starlark): Add an example showing how to obtain IOPS from diskio input.
  • (starlark): Add math module.
  • (starlark): Add time module.
  • (starlark): Support nanosecond resolution timestamp.
  • (strings): Add UTF-8 sanitizer.

New plugins

Input

Output

Parser

External

v1.18.3

  • Add FreeBSD ARMv7 build.
  • Dependencies:
    • Migrate from soniah/gosnmp to gosnmp/gosnmp v1.32.0.
    • Migrate from docker/libnetwork/ipvs to moby/ipvs.
    • Migrate from ericchiang/k8s to kubernetes/client-go.
    • Update hashicorp/consul/api module to v1.8.1.
    • Update shirou/gopsutil to v3.21.3.
    • Update microsoft/ApplicationInsights-Go to v0.4.4
    • Update gogo/protobuf to v1.3.2.
    • Update Azure/go-autorest/autorest/azure/auth to v0.5.6 and Azure/go-autorest/autorest to v0.11.17.
    • Update collectd.org to v0.5.0.
    • Update nats-io/nats.go to v1.10.0.
    • Update golang/protobuf to v1.5.1.

Input plugin updates

Output plugin updates

v1.18.2

  • Make JSON format compatible with nulls to ensure Telegraf successfully detects null values and returns an empty metric without error.
  • Update common.shim by changing NewStreamParser to accept larger inputs from scanner.

Input plugin updates

  • APCUPSD Input (apcupsd): Resolve an ‘ALARMDEL’ bug in a forked repository. This fix ensures the plugin works when no alarm delay duration is set.
  • NFS Client Input (nfsclient): Update to successfully collect metrics other than read and write.
  • SNMP Input (snmp): Update to log snmpv3 auth failures.
  • VMware vSphere Input (vsphere): Add MetricLookback setting to handle reporting delays in vCenter 6.7 and later.
  • OPC UA Client Input (opcua): Fix error handling.

Output plugin updates

Processor plugin updates

  • Converter Processor (converter): Add support for float64 to support converting longer hexadecimal string values to a numeric type without losing in precision. Note, if a string number exceeds the size limit for float64, precision may be lost.

v1.18.1

  • Agent: Closes running outputs when agent reloads on SIGHUP.

Input plugin updates

  • Docker Input (docker): Fix panic when parsing container statistics.
  • Exec Input (exec): Fix truncated messages in debug mode; debug mode now shows full messages.
  • IPMI Sensor Input (ipmi_sensor): Fix panic by implementing a length check to plugin.
  • MySQL Input (mysql): Fix the ability to handle ‘binary logs’ query for MySQL version 8.0+.
  • NFS Client Input (nfsclient): Fix integer overflow in fields received by mountstat.
  • Ping Input (ping): Resolve error that prevented the agent from running when an unprivileged UDP ping was sent. Now, SetPrivileged(true) is always true in native mode to ensure a privileged ICMP ping is sent.
  • SNMP Input (snmp): Fix init() when no MIBs are installed.
  • SQL Server Input (sqlserver): Fix sqlserver_process_cpu calculation.
  • Tail Input (tail): Added configurable option to override path tag.

Output plugin updates

Processor plugin updates

  • ifName (ifname): Retrieve interface name more efficiently.

v1.18

Features

  • Update to Go 1.16.2.
  • Add code signing for Windows and macOS.
  • More SNMP v3 authentication protocols, including SHA-512.
  • Add support for DataDog distributions metric type.

New plugins

Inputs

Outputs

External

Aggregators

Processors

Parsers

Serializers

v.1.17.3

  • Update to Go 1.15.8.

Input plugin updates

  • Filestat (filestat): Skip missing files.
  • MQTT Consumer (mqtt_consumer): Fix reconnection issues.
  • Ping (ping):
    • Fix a timeout for deadline configuration.
    • Update README with correct cmd for native ping on Linux.
    • Fix percentile calculations.
  • SNMP (snmp): Add support to expose IPv4/IPv6 as connection-schemes.
  • x509 Certificate (x509_cert): Fix a timeout issue.

Output plugin updates

  • InfluxDB v1.x (influxdb): Validate InfluxDB response after creating a database to avoid JSON parsing errors.
  • Warp10 (warp10): Add support for commas in tags to be URL encoded.

Miscellaneous fixes and updates

  • Telegraf configuration file (telegraf.conf): Resolve issue reading flush_jitter output.
  • Library updates:
    • Update github.com/gopcua/opcua to 0.1.13.
    • Update go-ping to latest version.

v.1.17.2

Input plugin updates

  • ping:
    • Added support to the interface in native mode using either the name or IP address.
    • Resolved regression from 1.17.1 by adding back missing function.

v.1.17.1

Features

  • Add Event Log support for Windows platforms.
  • Allow specifying SNI hostnames in common.tls.

Input plugin updates

  • csv:
    • Add ability to define an array of string skip values.
    • Address issue of ignoring missing values.
  • gnmi: Metric path no longer has leading character truncated.
  • http_listener_v2: Fixed an issue with stop() when plugin fails to start.
  • ipmi_sensor:
    • Add setting to enable caching.
    • Add hex_key parameter.
  • jenkins: Add support for inclusive job list.
  • lustre2: No longer crashes if the field name and value are not separated.
  • ping: Use go-ping library when method = "native" in the configuration
  • prometheus: Use mime-type to handle protocol-buffer responses.
  • procstat:
    • Provide an option to include core count when reporting cpu_usage
    • Use the same timestamp for all metrics in the same Gather() cycle.
  • postgresql_extensible: Add timestamp column option to postgres_extensible to handle log-like queries.
  • snmp: Extended the internal SNMP wrapper to support AES-192, AES-192C, AES-256, and AES-256C.
  • webhooks: Use the measurement json field from the Particle.io webhook as the measurement name.
  • x509_cert: Fixed a timeout issue
  • zookeeper: Improve mntr regex expression to match user-specific keys.

Output plugin updates

  • http: Add option to control idle connection timeout.
  • influxdb_v2:
    • Log no longer flooded with errors when Elasticsearch receiver is in read-only state.
    • Add exponential backoff and respecting client error responses.

Aggregator plugin updates

  • merge: Performance optimization improvements.

v1.17.0

Features

  • Update Go to 1.15.5.
  • Added support for Linux/ppc64le.

New plugins

Inputs

Outputs

Output data formats (serializers)

Parsers

Input plugin updates

  • aerospike: Fix edge case where unexpected hex string was converted to integer if all digits.
  • bcache: Fix tests for Windows.
  • bind: Add configurable timeout.
  • carbon2: Fix tests.
  • ecs: Remove duplicated field from ecs_task.
  • execd: Add support for new lines in line protocol fields.
  • github: Add query of pull request statistics.
  • graphite: Parse tags.
  • http: Add proxy support.
  • http_response: Fix network test.
  • jenkins: Add build number field to jenkins_job measurement.
  • kafka_consumer: Enable ztsd compression and idempotent writes.
  • kube_inventory:
    • Fix issue with missing metrics when pod has only pending containers.
    • Update string parsing of allocatable cpu cores.
  • modbus: Add FLOAT64-IEEE support.
  • monit: Add response_time.
  • mysql: Add per user metrics.
  • mqtt_consumer: Fix issue with concurrent map write.
  • opcuaAdd node groups.
  • ping:
    • Add percentiles.
    • Fix potential issue with race condition.
  • snmp:
    • Add support for converting hex strings to integers.
    • Translate field values.
  • socket_listener: Fix crash when receiving invalid data.
  • sqlserver:
    • Add tags for monitoring readable secondaries for Azure SQL MI.
    • Add SQL Server HA/DR Availability Group queries.
    • Remove duplicate column (session_db_name).
    • Add column measurement_db_type to output of all queries if not empty.
  • statsd: Add configurable Max TTL duration.
  • vsphere: Fix spelling of datacenter check.
  • win_services: Add Glob pattern matching.
  • zfs: Add dataset metrics.

Output plugin updates

  • kafka: Enable ztsd compression and idempotent writes.
  • nats: Add name parameter.

Processor plugin updates

  • starlark: Can now store state between runs using a global state variable.

v1.16.3

Features

  • Update godirwalk to 1.16.1 for Dragonfly BSD support.

Input plugin updates

  • APCUPSD (apcupsd): Add driver and CUDA version.

  • CSV Parser (csv): Fix issue where CSV timestamp was being read as Unix instead of Go reference time.

  • gNMI (gnmi): Add logging of SubscribeResponse_Error response types.

  • NVIDIA SMI (nvidia_smi): Add driver and CUDA version.

  • PHP-FPM (phpfpm): Fix issue with “index out of range” error.

  • SQL Server (sqlserver): Fix typo in database_name column.

Output plugin updates

  • Wavefront (wavefront):
    • Distinguish between retryable and non-retryable errors .
    • Add debug-level logging for metric data that is not retryable.

Parser plugin updates

  • Starlark (starlark):
    • Allow the processor to manage errors that occur in the apply function.
    • Add support for logging.
    • Add capability to return multiple metrics.

v1.16.2

Input plugin updates

  • CSV Parser (csv): Fix parsing multiple CSV files with different headers.
  • DC/OS (dcos): Fix high-severity vulnerability in previous version of the jwt-go library.
  • gNMI (gnmi): Add support for bytes encoding for gNMI messages.
  • Proxmox ( proxmox):
    • Fix a few issues with error reporting.
    • Now ignores QEMU templates.
  • RAS (ras): Fix tests failing on some systems.
  • Redfish (redfish): Fix a parsing issue.
  • SMART (smart): Fix an issue to recognize all devices from the configuration.
  • SQL Server (sqlserver): Fix an issue with errors in on-premise instance queries.
  • Systemd Units (systemd_units): Add --plain to the command invocation to fix an issue for reporting errors for units not found.
  • vSphere (vsphere)
    • Fix to how metrics were counted.
    • Fix to metrics being skipped under in certain specific circumstances.

Output plugin updates

  • Dynatrace (dynatrace): Fix pushing metrics to separate Dynatrace environments.
  • Wavefront (wavefront): Add immediate_flush tag.

v1.16.1

Input plugin updates

  • Apache Kafka Consumer (kafka_consumer): Add Kafka SASL-mechanism authentication support for SCRAM-SHA-256, SCRAM-SHA-512, and GSSAPI.
  • Microsoft SQL Server (sqlserver):
    • Fix a syntax error in Azure queries.
    • Remove synthetic performance counters that no longer exist from the sqlserver_performance_counters measurement.
    • Add a new tag (sql_version_desc) to identify the readable SQL Server version.
  • RAS (ras):
    • Disable on specific Linux architectures (MIPS64, mips64le, ppc64le, riscv64).
    • Fix an issue to properly close file handlers.
  • Processes (processes): Fix an issue with receiving no such file or directory stat error.
  • Windows Performance Counters (win_perf_counters): Fix an issue with the counter where a negative denominator error would cause gathering operations to fail.

Output plugin updates

  • Apache Kafka (kafka): Add Kafka SASL-mechanism authentication support for SCRAM-SHA-256, SCRAM-SHA-512, GSSAPI.

v1.16.0

New plugins

Inputs

Outputs

External

Input plugin updates

  • aerospike: Add set and histogram reporting.
  • agent:
    • Send metrics in FIFO order.
    • Fix issue with execd restart_delay being ignored.
    • Sort plugin name lists for output.
  • clickhouse: Add additional metrics.
  • cloudwatch: Implement AWS CloudWatch Input Plugin ListMetrics API calls to use Active Metric Filter.
  • consul: Add metric_version flag.
  • docker: Fix vulnerabilities found in BDBA scan.
  • execd: Fix issue with restart_delay being ignored.
  • gnmi: Next message after send returns EOF.
  • http_listener_v2: Make header tags case-insensitive.
  • http_response: Match on status code.
  • jenkins: Multiple escaping occurs on at certain folder depth.
  • kubernetes: Add missing error check for HTTP requirement failure.
  • modbus: Extend support of fixed point values on input.
  • mongodb: Add pages written from cache metric.
  • net: Fix broken link to proc.c.
  • snmp Add agent host tag configuration option.
  • smart: Add missing NVMe attributes.
  • sqlserver:
    • Database_type config to Split up sql queries by engine type
    • Fixed query mapping
    • New refactoring and formatting queries.
    • Add more performance counters.
  • tail:
    • Close file to ensure it has been flushed.
    • Fix following on EOF.

Output plugin updates

  • elasticsearch: Added force_document_id option to ES output enable resend data and avoid duplicated ES documents.
  • opentsdb: Skips NaN and Inf JSON values.

Processor plugin updates

  • execd: Increased the maximum serialized metric size in line protocol
  • ifname: Add addTag debugging.
  • starlark: Add JSON parsing support.

Bug fixes

  • Fix darwin package build flags.
  • shim:
    • Fix bug with loading plugins with no config.
    • Logger improvements.
    • Fix issue with loading processor config from execd.
  • Initialize aggregation processors.
  • Fix arch name in deb/rpm builds.
  • Fix issue with rpm /var/log/telegraf permissions
  • Fix docker-image make target.
  • Remove Event field from serializers.splunkmetric.
  • Fix panic on streaming processors using logging
  • ParseError.Error panic in parsers.influx
  • Fix procstat performance regression
  • Fix serialization when using carbon2.
  • Fix bugs found by LGTM analysis platform.
  • Update to Go 1.15.2

v.1.15.3

Features

  • processors.starlark:
    • Improve the quality of docs by executing them as tests.
    • Add pivot example.
  • outputs.application_insights: Added ability to set endpoint url.
  • inputs.sqlserver: Added new counter - Lock Timeouts (timeout > 0)/sec.

Bug fixes

  • agent: Fix minor error message race condition.
  • build: Update dockerfiles to Go 1.14.
  • shim:
    • Fix bug in logger affecting AddError.
    • Fix issue with config.Duration.
  • inputs.eventhub_consumer: Fix string to int conversion.
  • inputs.http_listener_v2: Make http header tags case-insensitive.
  • inputs.modbus: Extend support of fixed point values.
  • inputs.ping: Fix issue for FreeBSD’s ping6.
  • inputs.vsphere: Fixed missing cluster name.
  • outputs.opentsdb Fix JSON handling of values NaN and Inf.

v1.15.2

Bug Fixes

  • Fix RPM /var/log/telegraf permissions.
  • Fix tail following on EOF.

v1.15.1

Bug fixes

  • Fix architecture in non-amd64 deb and rpm packages.

v1.15.0

Critical bug that impacted non-amd64 packages was introduced in 1.15.0. Do not install this release. Instead, install 1.15.1, which includes the features, new plugins, and bug fixes below.

Breaking changes

Breaking changes are updates that may cause Telegraf plugins to fail or function incorrectly. If you have one of the following plugins installed, make sure to update your plugin as needed:

  • Logparser (logparser) input plugin: Deprecated. Use the tail input with data_format = "grok" as a replacement.
  • Cisco GNMI Telemetry (cisco_telemetry_gnmi) input plugin: Renamed to gnmi to better reflect its general support for gNMI devices.
  • Splunkmetric (splunkmetric) serializer: Several fields used primarily for debugging have been removed. If you are making use of these fields, they can be added back with the tag option.

New plugins

Inputs

Outputs

Processors

Features

  • Telegraf’s --test mode runs processors and aggregators before printing metrics.
  • Official packages built with Go 1.14.5.
  • When updating the Debian package, you will no longer be prompted to merge the telegraf.conf file. Instead, the new version will be installed to /etc/telegraf/telegraf.conf.sample. The tar and zip packages now include the version in the top-level directory.
  • Allow per input overriding of collection_jitter and precision.
  • Deploy Telegraf configuration as telegraf.conf.sample.
  • Use Docker log timestamp as metric time.
  • Apply ping deadline to DNS lookup.
  • Support multiple templates for graphite serializers.
  • Add configurable separator graphite serializer and output.
  • Add support for SIGUSR1 to trigger flush.
  • Add support for once mode that writes to outputs and exits.
  • Run processors and aggregators during test mode.
  • Add timezone configuration to CSV parser.

Input plugin updates

  • Ceph Storage (ceph): Add support for MDS and RGW sockets.
  • ECS (ecs): Add v3 metadata support.
  • Fibaro (fibaro): Add support for battery-level monitoring.
  • File (file):
    • Support UTF-16.
    • Exclude csv_timestamp_column and csv_measurement_column from fields.
  • HTTP (http): Add reading bearer token.
  • HTTP Listener v2 (http_listener_v2): Add ability to specify HTTP headers as tags.
  • HTTP Response (http_response):
    • Add authentication support.
    • Allow collection of HTTP headers.
    • Add ability to collect response body as field.
  • Icinga 2 (icinga2):
    • Fix source field.
    • Add tag for server hostname.
  • InfluxDB Listener (influxdb_listener): Add option to save retention policy as tag.
  • IPtables (iptables): Extract target as a tag for each rule.
  • Kibana (kibana): Fix json unmarshal error.
  • Kubernetes Inventory (kube_inventory): Add ability to add selectors as tags.
  • Mem (mem): Add laundry on FreeBSD.
  • Microsoft SQL Server (sqlserver):
    • Add VolumeSpace query.
    • Add cpu query.
    • Add counter type to perfmon collector.
    • Improve compatibility with older server versions.
    • Fix typo in total_elapsed_time_ms field.
  • Modbus (modbus):
    • Add support for 64-bit integer types.
    • Add retry when replica is busy.
    • Add ability to specify measurement per register.
  • MongoDB (monogdb):
    • Add commands stats.
    • Add additional fields.
    • Add cluster state integer.
    • Add option to disable cluster status.
    • Add additional conccurrent transaction information.
  • NVIDIA SMI (nvidia_smi): Add video codec stats.
  • Procstat (procstat):
    • Improve performance.
    • Fix memory leak.
  • S.M.A.R.T. (smart): Add missing nvme attributes.
  • SNMP Trap (snmp_trap): Add SNMPv3 trap support.
  • System (system): Fix incorrect uptime when clock is adjusted.
  • Tail (tail): Support UTF-16.

Output plugin updates

  • Enum (enum): Add integer mapping support.

Processor plugin updates

  • Date (date):
    • Add field creation.
    • Add integer unix time support.
  • Wavefront (wavefront): Add truncate_tags setting.

Bug fixes

  • Fix ability to write metrics to CloudWatch with IMDSv1 disabled.
  • Fix vSphere 6.7 missing data issue.
  • Fix gzip support in socket_listener with tcp sockets.
  • Fix interval drift when round_interval is set in agent.
  • Fix incorrect uptime when clock is adjusted.
  • Remove trailing backslash from tag keys/values in influx serializer.
  • Fix incorrect Azure SQL DB server properties.
  • Send metrics in FIFO order.

v1.14.5

Bug fixes

  • Improve the performance of the procstat input.
  • Fix ping exit code handling on non-Linux operating systems.
  • Fix errors in output of the sensors command.
  • Prevent startup when tags have incorrect type in configuration file.
  • Fix panic with GJSON multiselect query in JSON parser.
  • Allow any key usage type on x509 certificate.
  • Allow histograms and summary types without buckets or quantiles in prometheus_client output.

v1.14.4

Bug fixes

  • Fix the cannot insert the value NULL error with the PerformanceCounters query in the sqlServer input plugin.
  • Fix a typo in the naming of the gc_cpu_fraction field in the influxdb input plugin.
  • Fix a numeric to bool conversion in the converter processor.
  • Fix an issue with the influx stream parser blocking when the data is in buffer.

v1.14.3

Bug fixes

  • Use same timestamp for all objects in arrays in the json parser.
  • Handle multiple metrics with the same timestamp in dedup processor.
  • Fix reconnection of timed out HTTP2 connections influxdb outputs.
  • Fix negative value parsing in impi_sensor input.

v1.14.2

Bug fixes

  • Trim white space from instance tag in sqlserver input .
  • Use increased AWS Cloudwatch GetMetricData limit of 500 metrics per call.
  • Fix limit on dimensions in azure_monitor output.
  • Fix 64-bit integer to string conversion in snmp input.
  • Fix shard indices reporting in elasticsearch input plugin.
  • Ignore fields with Not a Number or Infinity floats in the JSON serializer.
  • Fix typo in name of gc_cpu_fraction field of the kapacitor input.
  • Don’t retry create database when using database_tag if forbidden by the server in influxdb output.
  • Allow CR and FF inside of string fields in InfluxDB line protocol parser.

v1.14.1

Bug fixes

  • Fix PerformanceCounter query performance degradation in sqlserver input.
  • Fix error when using the Name field in template processor.
  • Fix export timestamp not working for Prometheus on v2.
  • Fix exclude database and retention policy tags.
  • Fix status path when using globs in phpfpm.

v1.14

Breaking changes

Breaking changes are updates that may cause Telegraf plugins to fail or function incorrectly. If you have one of the following plugins installed, make sure to update your plugin as needed:

  • Microsoft SQL Server (sqlserver) input plugin: Renamed the sqlserver_azurestats measurement to sqlserver_azure_db_resource_stats to resolve an issue where numeric metrics were previously being reported incorrectly as strings.
  • Date (date) processor plugin: Now uses the UTC timezone when creating its tag. Previously, the local time was used.

Support for SSL v3.0 is deprecated in this release. Telegraf now uses the Go TLS library.

New plugins

Inputs

Processors

Outputs

Features

Input plugin updates

  • Apache Kafka Consumer (kafka_consumer): Add SASL version control to support Microsoft Azure Event Hub.
  • Apcupsd (apcupsd): Add new tag model and new metrics: battery_date, nominal_input_voltage, nominal_battery_voltage, nominal_power, firmware.
  • Cisco Model-driven Telemetry (MDT) (cisco_telemetry_gnmi) input plugin:
    • Add support for GNMI DecimalVal type.
    • Replace dash (-) with underscore (_) when handling embedded tags.
  • DiskIO (diskio): Add counters for merged reads and writes.
  • IPMI Sensor (ipmi_sensor): Add use_sudo option.
  • Jenkins (jenkins):
    • Add source and port tags to jenkins_job metrics.
    • Add new fields total_executors and busy_executors.
  • Kubernetes (kubernetes): Add ability to collect pod labels.
  • Microsoft SQL Server (sqlserver):
    • Add RBPEX IO statistics to DatabaseIO query.
    • Add space on disk for each file to DatabaseIO query.
    • Calculate DB Name instead of GUID in physical_db_name.
    • Add DatabaseIO TempDB per Azure DB.
    • Add query_include option for explicitly including queries.
    • Add volume_mount_point to DatabaseIO query.
  • MongoDB (mongodb):
    • Add page_faults for WiredTiger storage engine.
    • Add latency statistics.
    • Add replica set tag (rs_name).
  • NATS Consumer (nats_consumer): Add support for credentials file.
  • NGINX Plus API (nginx_plus_api): Add support for new endpoints.
  • OpenLDAP (openldap): Add support for MDB database information.
  • PHP-FPM (phpfpm): Allow globs in FPM unix socket paths (unixsocket).
  • Procstat (procstat): Add process created_at time.
  • Prometheus (prometheus) input plugin: Add label and field selectors for Kubernetes service discovery.
  • RabbitMQ (rabbitmq): Add slave_nodes and synchronized_slave_nodes metrics.
  • StatsD (statsd): Add UDP internal metrics.
  • Unbound (unbound): Expose -c cfgfile option of unbound-control and set the default unbound configuration (config_file= "/etc/unbound/unbound.conf) in the Telegraf configuration file.
  • VMware vSphere (vsphere): Add option to exclude resources by inventory path, including vm_exclude, host_exclude, cluster_exclude (for both clusters and datastores), and datacenter_exclude.
  • X.509 Certificate (x509_cert): Add server_name override.

Output plugin updates

  • Apache Kafka (kafka): Add topic_tag and exclude_topic_tag options.
  • Graylog (graylog): Allow a user defined field (short_message_field) to be used as the GELF short_message.
  • InfluxDB v1.x (influxdb): Add support for setting the retention policy using a tag (retention_policy_tag).
  • NATS Output (nats): Add support for credentials file.

Aggregator plugin updates

  • Histogram (histogram): Add non-cumulative histogram.

Processor plugin updates

  • Converter (converter): Add support for converting tag or field to measurement.
  • Date (date): Add date offset and timezone options.
  • Strings (strings): Add support for titlecase transformation.

Bug fixes

  • Fix Telegraf log rotation to use actual file size instead of bytes written.
  • Fix internal Telegraf metrics to prevent output split into multiple lines.
  • Chrony (chrony) input plugin: When plugin is enabled, search for chronyc only.
  • Microsoft SQL Server (sqlserver) input plugin:
    • Fix conversion to floats in AzureDBResourceStats query.
    • Fix case sensitive collation.
    • Fix several issues with DatabaseIO query.
    • Fix schedulers query compatibility with pre SQL-2016.
  • InfluxDB Listener (influxdb_listener):
    • Fix request failing with EOF.
    • Continue parsing after error.
    • Set headers on ping URL.

v1.13.4

Release Notes

Official packages now built with Go 1.13.8.

Bug fixes

  • Parse NaN values from summary types in Prometheus (prometheus) input plugin.
  • Fix PgBouncer (pgbouncer) input plugin when used with newer PgBouncer versions.
  • Support up to 8192 stats in the Ethtool (ethtool) input plugin.
  • Fix performance counters collection on named instances in Microsoft SQL Server (sqlserver) input plugin.
  • Use add time for Prometheus expiration calculation.
  • Fix inconsistency with input error counting in Telegraf v1.x (internal) input plugin.
  • Use the same timestamp per call if no time is provided in Prometheus (prometheus) input plugin.

v1.13.3

Bug fixes

  • Update Kibana (kibana) input plugin to support Kibana 6.4 and later.
  • Prevent duplicate TrackingIDs from being returned in the following queue consumer input plugins:
    • Amazon Kineses Consumer (kinesis_consumer)
    • AMQP Consumer (amqp_consumer)
    • Apache Consumer (apache_consumer)
    • MQTT Consumer (mqtt_consumer)
    • NATS Consumer (nats_consumer)
    • NSQ Consumer (nsq_consumer)
  • Increase support for up to 4096 statistics in the Ethtool (ethtool) input plugin.
  • Remove expired metrics from the Prometheus Client (prometheus_client) output plugin. Previously, expired metrics were only removed when new metrics were added.

v1.13.2

Bug fixes

  • Warn without error when Processes (processes) input is started on Windows.
  • Only parse certificate blocks in X.509 Certificate (x509_cert) input plugin.
  • Add custom attributes for all resource types in VMware vSphere (vsphere) input plugin.
  • Support URL agent address form with UDP in SNMP (snmp) input plugin.
  • Record device fields in the SMART (smart) input plugin when attributes is false.
  • Remove invalid timestamps from Kafka messages.
  • Update json parser to fix json_strict option and set default to true.

v1.13.1

Bug fixes

  • Fix ServerProperty query stops working on Azure after failover.
  • Add leading period to OID in SNMP v1 generic traps.
  • Fix missing config fields in prometheus serializer.
  • Fix panic on connection loss with undelivered messages in MQTT Consumer (mqtt_consumer) input plugin.
  • Encode query hash fields as hex strings in SQL Server (sqlserver) input plugin.
  • Invalidate diskio cache if the metadata mtime has changed.
  • Show platform not supported warning only on plugin creation.
  • Fix rabbitmq cannot complete gather after request error.
  • Fix /sbin/init --version executed on Telegraf startup.
  • Use last path element as field key if path fully specified in Cisco GNMI Telemetry (cisco_telemetry_gnmi) input plugin.

v1.13

Release Notes

Official packages built with Go 1.13.5. The Prometheus Format (prometheus) input plugin and Prometheus Client (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 are unchanged. Refer to the Prometheus input plugin for details about the mapping.

New Inputs

New Processors

New Aggregators

Features

  • Add per node memory stats to RabbitMQ (rabbitmq) input plugin.
  • Add ability to read query from file to PostgreSQL (postgresql_extensible) input plugin.
  • Add replication metrics to the Redis (redis) input plugin.
  • Support NX-OS telemetry extensions in Cisco Model-driven Telemetry (cisco_telemetry_mdt) input plugin.
  • Allow graphite parser to create Inf and NaN values.
  • Use prefix base detection for ints in grok parser.
  • Add more performance counter metrics to Microsoft SQL Server (sqlserver) input plugin.
  • Add millisecond unix time support to grok parser.
  • Add container ID as optional source tag to Docker (docker) and Docker Log (docker_log) input plugins.
  • Add lang parameter to OpenWeatherMap (openweathermap) input plugin.
  • Log file open errors at debug level in Tail (tail) input plugin.
  • Add timeout option to Amazon CloudWatch (cloudwatch) input plugin.
  • Support custom success codes in HTTP (http) input plugin.
  • Improve IPVS (ipvs) input plugin error strings and logging.
  • Add strict mode to JSON parser that can be disabled to ignore invalid items.
  • Add support for Kubernetes 1.16 and remove deprecated API usage.
  • Add gathering of RabbitMQ federation link metrics.
  • Add bearer token defaults for Kubernetes plugins.
  • Add support for SNMP over TCP.
  • Add support for per output flush jitter.
  • Add a nameable file tag to File (file) input plugin.
  • Add Splunk MultiMetric support.
  • Add support for sending HTTP Basic Auth in InfluxDB (influxdb) input plugin.
  • Add ability to configure the url tag in the Prometheus Format (prometheus) input plugin.
  • Add Prometheus metric_version=2 mapping to internal metrics/line protocol.
  • Add Prometheus metric_version=2 support to Prometheus Client (prometheus_client) output plugin.
  • Add content_encoding compression support to Socket Listener (socket_listener) input plugin.
  • Add high resolution metrics support to Amazon CloudWatch (cloudwatch) output plugin.
  • Add SReclaimable and SUnreclaim to Memory (mem) input plugin.
  • Allow multiple certificates per file in X.509 Certificate (x509_cert) input plugin.
  • Add additional tags to the X.509 Certificate (x509_cert) input plugin.
  • Add batch data format support to File (file) output plugin.
  • Support partition assignment strategy configuration in Apache Kafka Consumer (kafka_consumer) input plugin.
  • Add node type tag to MongoDB (mongodb) input plugin.
  • Add uptime_ns field to MongoDB (mongodb) input plugin.
  • Support resolution of symlinks in Filecount (filecount) input plugin.
  • Set message timestamp to the metric time in Apache Kafka (kafka) output plugin.
  • Add base64decode operation to String (string) processor.
  • Add option to control collecting global variables to MySQL (mysql) input plugin.

Bug fixes

  • Show correct default settings in MySQL (mysql) sample configuration.
  • Use 1h or 3h rain values as appropriate in OpenWeatherMap (openweathermap) input plugin.
  • Fix not a valid field error in Windows with Nvidia SMI (nvidia_smi) input plugin.
  • Fix InfluxDB (influxdb) output serialization on connection closed.
  • Fix ping skips remaining hosts after DNS lookup error.
  • Log MongoDB oplog auth errors at debug level.
  • Remove trailing underscore trimming from json flattener.
  • Revert change causing CPU usage to be capped at 100 percent.
  • Accept any media type in the Prometheus Format (prometheus) input plugin.
  • Fix unix socket dial arguments in uWSGI (uwsgi) input plugin.
  • Replace colon characters in Prometheus (prometheus_client) output labels with metric_version=1.
  • Set TrimLeadingSpace when TrimSpace is on in CSV (csv) parser.

v1.12.6

Bug fixes

  • Fix many plugin errors logged at debug logging level.
  • Use nanosecond precision in Docker Log (docker_log) input plugin.
  • Fix interface option with method = native in Ping (ping) input plugin.
  • Fix panic in MongoDB (mongodb) input plugin if shard connection pool stats are unreadable.

v1.12.5

Bug fixes

  • Fix incorrect results in Ping (ping) input plugin.
  • Add missing character replacement to sql_instance tag.
  • Change no metric error message to debug level in CloudWatch (cloudwatch) input plugin.
  • Add missing ServerProperties query to SQLServer (sqlserver) input plugin documentation.
  • Fix MongoDB connections_total_created field loading.
  • Fix metric creation when node is offline in Jenkins (jenkins) input plugin.
  • Fix Docker uptime_ns calculation when container has been restarted.
  • Fix MySQL field type conflict in conversion of gtid_mode to an integer.
  • Fix MySQL field type conflict with ssl_verify_depth and ssl_ctx_verify_depth.

v1.12.4

  • Build official packages with Go 1.12.12.

Bug fixes

  • Fix metric generation with Ping (ping) input plugin native method.
  • Exclude alias tag if unset from plugin internal stats.
  • Fix socket_mode option in PowerDNS Recursor (powerdns_recursor) input plugin.

v1.12.3

  • Build official packages with Go 1.12.10.

Bug fixes

  • Use batch serialization format in Exec (exec) output plugin.
  • Use case-insensitive serial number match in S.M.A.R.T. (smart) input plugin.
  • Add authorization header only when environment variable is set.
  • Fix issue when running multiple MySQL and SQL Server plugin instances.
  • Fix database routing on retry with exclude_database_tag.
  • Fix logging panic in Exec (exec) input plugin with Nagios data format.

v1.12.2

Bug fixes

  • Fix timestamp format detection in csv and json parsers.
  • Apcupsd input (apcupsd)
    • Fix parsing of BATTDATE.
  • Keep boolean values listed in json_string_fields.
  • Disable Go plugin support in official builds.
  • Cisco GNMI Telemetry input (cisco_telemetry_gnmi)
    • Fix path handling issues.

v1.12.1

Bug fixes

  • Fix dependenciess on GLIBC_2.14 symbol version.
  • Filecount input (filecount)
    • Fix filecount for paths with trailing slash.
  • Icinga2 input (icinga2)
    • Convert check state to an integer.
  • Apache Kafka Consumer input (kafka_consumer)
    • Fix could not mark message delivered error.
  • MongoDB input (mongodb)
    • Skip collection stats when disabled.
  • HTTP Response input (http_response)
    • Fix error reading closed response body.
  • Apcupsd input (apcupsd)
    • Fix documentation to reflect plugin.
  • InfluxDB v2 output (influxdb_v2)
    • Display retry log message only when retry after is received.

v1.12

Release Notes

  • The cluster health related fields in the Elasticsearch input have been split out from the elasticsearch_indices measurement into the new elasticsearch_cluster_health_indices measurement as they were originally combined by error.

New Inputs

  • Apcupsd (apcupsd) - Contributed by @jonaz
  • Docker Log (docker_log) - Contributed by @prashanthjbabu
  • Fireboard (fireboard) - Contributed by @ronnocol
  • Logstash (logstash) - Contributed by @lkmcs @dmitryilyin @arkady-emelyanov
  • MarkLogic (marklogic) - Contributed by @influxdata
  • OpenNTPD (openntpd) - Contributed by @aromeyer
  • uWSGI (uwsgi) - Contributed by @blaggacao

New Parsers

New Processors

  • Date (date) - Contributed by @influxdata
  • Pivot (pivot) - Contributed by @influxdata
  • Tag Limit (tag_limit) - Contributed by @memory
  • Unpivot (unpivot) - Contributed by @influxdata

New Outputs

  • Exec (exec) - Contributed by @Jaeyo

Features

  • Improve performance of wavefront serializer.
  • Allow regex processor to append tag values.
  • Add starttime field to phpfpm input.
  • Add cluster name tag to elasticsearch indices.
  • Add support for interface field in http_response input plugin.
  • Add container uptime_ns in docker input plugin.
  • Add better user-facing errors for API timeouts in docker input.
  • Add TLS mutual auth support to jti_openconfig_telemetry input.
  • Add support for ES 7.x to elasticsearch output.
  • Add basic auth to prometheus input plugin.
  • Add node roles tag to elasticsearch input.
  • Support floats in statsd percentiles.
  • Add native Go ping method to ping input plugin.
  • Resume from last known offset in tail input when reloading Telegraf.
  • Add improved support for Azure SQL Database to sqlserver input.
  • Add extra attributes for NVMe devices to smart input.
  • Add docker_devicemapper measurement to docker input plugin.
  • Add basic auth support to elasticsearch input.
  • Support string field glob matching in json parser.
  • Update gjson to allow multipath syntax in json parser.
  • Add support for collecting SQL Requests to identify waits and blocking to sqlserver input.
  • Collect k8s endpoints, ingress, and services in kube_inventory plugin.
  • Add support for field/tag keys to strings processor.
  • Add certificate verification status to x509_cert input.
  • Support percentage value parsing in redis input.
  • Load external Go plugins from --plugin-directory.
  • Add ability to exclude db/bucket tag from influxdb outputs.
  • Gather per collections stats in mongodb input plugin.
  • Add TLS & credentials configuration for nats_consumer input plugin.
  • Add support for enterprise repos to github plugin.
  • Add Indices stats to elasticsearch input.
  • Add left function to string processor.
  • Add grace period for metrics late for aggregation.
  • Add diff and non_negative_diff to basicstats aggregator.
  • Add device tags to smart_attributes.
  • Collect framework_offers and allocator metrics in mesos input.
  • Add Telegraf and Go version to the internal input plugin.
  • Update the number of logical CPUs dynamically in system plugin.
  • Add darwin (macOS) builds to the release.
  • Add configurable timeout setting to smart input.
  • Add memory_usage field to procstat input plugin.
  • Add support for custom attributes to vsphere input.
  • Add cmdstat metrics to redis input.
  • Add content_length metric to http_response input plugin.
  • Add database_tag option to influxdb_listener to add database from query string.
  • Add capability to limit TLS versions and cipher suites.
  • Add topic_tag option to mqtt_consumer.
  • Add ability to label inputs for logging.
  • Add TLS support to nginx_plus, nginx_plus_api and nginx_vts.

Bug fixes

  • Fix sensor read error stops reporting of all sensors in temp input.
  • Fix double pct replacement in sysstat input.
  • Fix race in master node detection in elasticsearch input.
  • Fix SSPI authentication not working in sqlserver input.
  • Fix memory error panic in mqtt input.
  • Support Kafka 2.3.0 consumer groups.
  • Fix persistent session in mqtt_consumer.
  • Fix finder inconsistencies in vsphere input.
  • Fix parsing multiple metrics on the first line of tailed file.
  • Send TERM to exec processes before sending KILL signal.
  • Query oplog only when connected to a replica set.
  • Use environment variables to locate Program Files on Windows.

v1.11.5

Bug fixes

  • Update go-sql-driver/mysql driver to 1.4.1 to address auth issues.
  • Return error status from --test if input plugins produce an error.
  • Fix with multiple instances only last configuration is used in smart input.
  • Build official packages with Go 1.12.9.
  • Split out -w argument in iptables input plugin.
  • Add support for parked process state on Linux.
  • Remove leading slash from rcon command.
  • Allow jobs with dashes in the name in lustre2 input plugin.

v1.11.4

Bug fixes

Plugins

  • Kubernetes input (kubernetes)
    • Correct typo in logsfs_available_bytes field.
  • Datadog output (datadog)
    • Skip floats that are NaN or Inf.
  • Socket Listener input (socket_listener)
    • Fix reload panic.

v1.11.3

Bug fixes

Agent

  • Treat empty array as successful parse in JSON parser.
  • Fix template pattern partial wildcard matching.

Plugins

  • Bind input (bind)
    • Add missing rcode and zonestat.
  • GitHub input
      • Fix panic.
  • Lustre2 input (lustre2)
    • Fix config parse regression.
  • NVIDIA-SMI output (nvidia-smi)
    • Handle unknown error.
  • StatD input (statd)
    • Fix panic when processing Datadog events.
  • VMware vSphere input (vsphere)
    • Fix unable to reconnect after vCenter reboot.

v1.11.2

Bug fixes

Plugins

  • Bind input (bind)
    • Fix value out of range error on 32-bit systems.
  • Burrow input (burrow)
    • Apply topic filter to partition metrics.
  • Filecount input (filecount)
    • Fix path separator handling in Windows.
  • Logparser input (logparser)
    • Fix stop working after reload.
  • Ping input (ping)
    • Fix source address ping flag on BSD.
  • StatsD input (statsd)
    • Fix panic with empty Datadog tag string.
  • Tail input (tail)
    • Fix stop working after reload.

v1.11.1

Bug fixes

Agent

  • Fix panic if pool_mode column does not exist.
  • Add missing container_id field to docker_container_status metrics.
  • Add device, serial_no, and wwn tags to synthetic attributes.

Plugins

  • Cisco GNMI Telemetry input (cisco_telemetry_gnmi)
    • Omit keys when creating measurement names for GNMI telemetry.
  • Disk input (disk)
    • Cannot set mount_points option.
  • NGINX Plus API input (nginx_plus_api)
    • Skip 404 error reporting.
  • Procstat input (procstat)
    • Don’t consider pid of 0 when using systemd lookup.
  • StatsD input (statsd)
    • Fix parsing of remote TCP address.
  • System input (system)
    • Ignore error when utmp is missing.

v1.11.0

  • System (system) input plugin
    • The uptime_format field has been deprecated — use the uptime field instead.
  • Amazon Cloudwatch Statistics (cloudwatch) input plugin
    • Updated to use a more efficient API and now requires GetMetricData permissions instead of GetMetricStatistics. The units tag is not available from this API and is no longer collected.

New input plugins

New aggregator plugins

New output plugins

New output data formats (serializers)

Features

Agent

  • Add CLI support for outputting sections of the configuration.
  • Add service-display-name option for use with Windows service.
  • Add support for log rotation.
  • Allow env vars ${} expansion syntax in configuration file.
  • Allow devices option to match against devlinks.

Input data formats

  • Nagios
    • Add support for multiple line text and perfdata.

Input plugins

  • AMQP Consumer (amqp_consumer)
    • Support passive queue declaration.
    • Add support for gzip compression.
  • Amazon Cloudwatch Statistics (cloudwatch)
    • Use more efficient GetMetricData API to collect Cloudwatch metrics.
    • Allow selection of collected statistic types in cloudwatch input.
  • Apache Solr (solr)
    • Add support for HTTP basic auth.
  • Hddtemp (hddtemp)
    • Add source tag.
  • InfluxDB Listener (influxdb_listener)
    • Support verbose query parameter in ping endpoint.
  • NVIDIA SMI (nvidia-smi)
    • Extend metrics collected from Nvidia GPUs.
  • Net (net)
    • Speed up interface stat collection.
  • PHP FM (phpfm)
    • Enhance HTTP connection options.
  • Ping (ping)
    • Add TTL field.
  • Procstat (procstat)
    • Add cmdline tag.
    • Add pagefault data.
  • Prometheus (prometheus)
    • Add namespace restriction.
  • SMART (smart)
    • Support more drive types.
  • Socket Listener (socket_listener)
    • Add option to set permissions for UNIX domain sockets.
  • StatsD (statsd)
    • Add support for Datadog events.

Output plugins

  • AMQP (amqp)
    • Add support for gzip compression.
  • File (file)
    • Add file rotation support.
  • Stackdriver (stackdriver)
    • Set user agent. – VMware Wavefront (wavefront)
    • Add option to use strict sanitization rules.

Aggregator plugins

  • Histogram aggregator
    • Add option to reset buckets on flush.

Processor plugins

  • Converter (converter)
    • Add hexadecimal string to integer conversion.
  • Enum (enum)
    • Support tags.

Bug fixes

Agent

  • Create Windows service only when specified or in service manager.
  • Don’t start Telegraf when stale pid file found.
  • Fix inline table support in configuration file.
  • Fix multi-line basic strings support in configuration file.
  • Fix multiple SIGHUP causes Telegraf to shutdown.
  • Fix batch fails when single metric is unserializable.
  • Log a warning on write if the metric buffer has overflowed.

Plugins

  • AMQP (amqp) output
    • Fix direct exchange routing key.
  • Apex Neptune (apex_neptune) inpur
    • Skip invalid power times.
  • Docker (docker) input
    • Fix docker input does not parse image name correctly.
  • Fibaro (fibaro) input
    • Set default timeout of 5s.
  • InfluxDB v1.x (influxdb) output
    • Fix connection leak on reload.
  • InfluxDB v2 output
    • Fix connection leak on reload.
  • Lustre 2 (lustre2) input
    • Fix only one job per storage target reported.
  • Microsoft Azure Monitor (azure_monitor) output
    • Fix scale set resource id.
  • Microsoft SQL Server (sqlserver) input Fix connection closing on error.
  • Minecraft (minecraft) input
    • Support Minecraft server 1.13 and newer.
  • NGINX Upstream Check (nginx_upstream_check) input
    • Fix TOML option name.
  • PgBounder (pgbouncer) input
    • Fix unsupported pkt type error.
  • Procstat (procstat) input
    • Verify a process passed by pid_file exists.
  • VMware vSphere (vsphere) input
    • Fixed datastore name mapping.

v1.10.4

Bug fixes

Agent

  • Create telegraf user in pre-install RPM scriptlet.
  • Fix parse of unix timestamp with more than ns precision.
  • Fix race condition in the Wavefront parser.

Plugins

  • HTTP output plugin (http)
    • Fix http output cannot set Host header.
  • IPMI Sensor input (ipmi_sensor)
    • Add support for hex values.
  • InfluxDB v2 output (influxdb_v2)
    • Don’t discard metrics on forbidden error.
  • Interrupts input (interrupts)
    • Restore field name case.
  • NTPQ input (ntpq)
    • Skip lines with missing refid.
  • VMware vSphere input (vsphere)
    • Fix interval estimation.

v1.10.3

Bug fixes

Agent

  • Set log directory attributes in RPM specification.

Plugins

  • Prometheus Client (prometheus_client) output plugin.
    • Allow colons in metric names.

v1.10.2

Breaking changes

Grok input data format (parser): string fields no longer have leading and trailing quotation marks removed. If you are capturing quoted strings, the patterns might need to be updated.

Bug fixes

Agent

  • Fix deadlock when Telegraf is aligning aggregators.
  • Add owned directories to RPM package specification.
  • Fix drop tracking of metrics removed with aggregator drop_original.
  • Fix aggregator window alignment.
  • Fix panic during shutdown of multiple aggregators.
  • Fix tags applied to wrong metric on parse error.

Plugins

  • Ceph (ceph) input
    • Fix missing cluster stats.
  • DiskIO (diskio) input
    • Fix reading major and minor block devices identifiers.
  • File (file) output
    • Fix open file error handling.
  • Filecount (filecount) input
    • Fix basedir check and parent dir extraction.
  • Grok (grok) parser
    • Fix last character removed from string field.
  • InfluxDB v2 (influxdb_v2) output
    • Fix plugin name in output logging.
  • Prometheus (prometheus) input
    • Fix parsing of kube config certificate-authority-data.
  • Prometheus (prometheus) output
    • Remove tags that would create invalid label names.
  • StatsD (statsd) input
    • Listen before leaving start.

v1.10.1

Bug fixes

  • Show error when TLS configuration cannot be loaded.
  • Add base64-encoding/decoding for Google Cloud PubSub (pubsub) plugins.
  • Fix type compatibility in VMware vSphere (vsphere) input plugin with use_int_samples option.
  • Fix VMware vSphere (vsphere) input plugin shows failed task in vCenter.
  • Fix invalid measurement name and skip column in the CSV input data format parser.
  • Fix System (system) input plugin causing high CPU usage on Raspbian.

v1.10

New input plugins

New output plugins

New output data formats (serializers)

Features

  • General
    • Allow for force gathering ES cluster stats.
    • Add Linux mipsle packages.
  • Input plugins
    • Ceph (ceph)
      • Add read and write op per second fields.
    • CouchDB (couchdb)
      • Add support for basic auth.
    • DNS Query (dns_query)
      • Add rcode tag and field.
    • DiskIO (diskio)
      • Include DEVLINKS in available udev properties.
    • HTTP (http)
      • Add support for sending a request body to http input.
    • InfluxDB Listener (influxdb_listener)
      • Add internal metric for line too long.
    • Interrupts (interrupts)
      • Add option to store cpu as a tag.
    • Kafka Consumer (kafka_consumer)
      • Add ability to tag metrics with topic.
    • Kubernetes (k8s)
    • Support passing bearer token directly.
    • Microsoft SQL Server (sqlserver)
      • Add log send and redo queue fields.
    • MongoDB (mongodb)
      • Add flush_total_time_ns and additional wired tiger fields.
    • Procstat (procstat_lookup)
      • Add running field.
    • Prometheus (prometheus)
      • Support passing bearer token directly.
      • Add option to report input timestamp.
    • VMware vSphere (vsphere)
      • Improve scalability.
      • Add resource path-based filtering.
    • Varnish (varnish)
      • Add configurable timeout.
  • Output plugins
    • MQTT (mqtt)
      • Add option to set retain flag on messages.
    • Stackdriver (stackdriver)
      • Add resource type and resource label support
    • VMware Wavefront (wavefront)
      • Add support for the Wavefront Direct Ingestion API.
  • Aggregator plugins
    • Value Counter (valuecounter)
      • Allow counting float values.
  • Data formats
    • Input data formats
    • CSV
      • Support unix_us and unix_ns timestamp format.
      • Add support for unix and unix_ms timestamps.
    • Grok (grok)
      • Allow parser to produce metrics with no fields.
    • JSON
      • Add micro and nanosecond unix timestamp support.
    • Output data formats
      • ServiceNow Metrics

Bug fixes

  • General
    • Use systemd in Amazon Linux 2 rpm.
    • Fix initscript removes pidfile of restarted Telegraf process.
  • Input plugins
    • Consul (consul)
      • Use datacenter option spelling.
    • InfluxDB Listener (influxdb_listener)
      • Remove auth from /ping route.
    • Microsoft SQL Server (sqlserver)
      • Set deadlock priority.
    • Nstat (nstat)
      • Remove error log when snmp6 directory does not exist.
    • Ping (ping)
      • Host not added when using custom arguments.
    • X.509 Certificate
      • Fix input stops checking certificates after first error.
  • Output plugins
    • Prometheus (prometheus)
      • Sort metrics by timestamp.
    • Stackdriver (stackdriver)
      • Skip string fields when writing.
      • Send metrics in ascending time order.

v1.9.5

Bug fixes

  • General
    • Use systemd in Amazon Linux 2 rpm.
  • Ceph Storage (ceph) input plugin
    • Add backwards compatibility fields in usage and pool statistics.
  • InfluxDB (influxdb) output plugin
    • Fix UDP line splitting.
  • Microsoft SQL Server (sqlserver) input plugin
    • Set deadlock priority to low.
    • Disable results by row in AzureDB query.
  • Nstat (nstat) input plugin
    • Remove error log when snmp6 directory does not exist.
  • Ping (ping) input plugin
    • Host not added when using custom arguments.
  • Stackdriver (stackdriver) output plugin
    • Skip string fields when writing to stackdriver output.
    • Send metrics in ascending time order.

v1.9.4

Bug fixes

  • General
    • Fix skip_rows and skip_columns options in csv parser.
    • Build official packages with Go 1.11.5.
  • Jenkins input plugin
    • Always send basic auth in jenkins input.
  • Syslog (syslog) input plugin
    • Fix definition of multiple syslog plugins.

v1.9.3

Bug fixes

  • General
    • Fix latest metrics not sent first when output fails.
    • Fix internal_write buffer_size not reset on timed writes.
  • AMQP Consumer (amqp_consumer) input plugin
    • Fix amqp_consumer input stops consuming when it receives unparsable messages.
  • Couchbase (couchbase) input plugin
    • Remove userinfo from cluster tag in couchbase input.
  • Microsoft SQL Server (sqlserver) input plugin
    • Fix arithmetic overflow in sqlserver) input.
  • Prometheus (prometheus) input plugin
    • Fix prometheus input not detecting added and removed pods.

v1.9.2

Bug fixes

  • Increase varnishstat timeout.
  • Remove storage calculation for non-Azure-managed instances and add server version.
  • Fix error sending empty tag value in azure_monitor output.
  • Fix panic with Prometheus input plugin on shutdown.
  • Support non-transparent framing of syslog messages.
  • Apply global- and plugin-level metric modifications before filtering.
  • Fix num_remapped_pgs field in ceph plugin.
  • Add PDH_NO_DATA to known counter error codes in win_perf_counters.
  • Fix amqp_consumer stops consuming on empty message.
  • Fix multiple replace tables not working in strings processor.
  • Allow non-local UDP connections in net_response.
  • Fix TOML option names in parser processor.
  • Fix panic in Docker input with bad endpoint.
  • Fix original metric modified by aggregator filters.

v1.9.1

Bug fixes

  • Fix boolean handling in splunkmetric serializer.
  • Set default config values in Jenkins input.
  • Fix server connection and document stats in MongoDB input.
  • Add X-Requested-By header to Graylog input.
  • Fix metric memory not freed from the metric buffer on write.
  • Add support for client TLS certificates in PostgreSQL inputs.
  • Prevent panic when marking the offset in kafka_consumer.
  • Add early metrics to aggregator and honor drop_original setting.
  • Use -W flag on BSD variants in ping input.
  • Allow delta metrics in Wavefront parser.

v1.9.0

Release Notes

  • The HTTP Listener (http_listener) input plugin has been renamed to InfluxDB Listener (influxdb_listener) input plugin and use of the original name is deprecated. The new name better describes the intended use of the plugin as an InfluxDB relay. For general purpose transfer of metrics in any format using HTTP, InfluxData recommends using HTTP Listener v2 (http_listener_v2) input plugin.

  • 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 overconsumption when reading from queue consumers, the following input plugins use the new option max_undelivered_messages to limit the number of outstanding unwritten metrics:

    • Apache Kafka Consumer (kafka_consumer)
    • AMQP Consumer (amqp_consumer)
    • MQTT Consumer (mqtt_consumer)
    • NATS Consumer (nats_consumer)
    • NSQ Consumer (nsq_consumer)

New input plugins

New output plugins

Features

  • General
    • Add ability to define a custom service name when installing as a Windows service.
    • Add new configuration for CSV column explicit type conversion.
    • Add Telegraf version to User-Agent header.
    • Add ability to specify bytes options as strings with units.
    • Add per output flush_interval, metric_buffer_limit, and metric_batch_size.
  • Amazon Kinesis (kinesis) output plugin
    • Use DescribeStreamSummary in place of ListStreams.
  • DNS Query (dns_query) input plugin
    • Query servers in parallel.
  • Datadog (datadog) output plugin
    • Add an option to specify a custom URL.
    • Use non-allocating field and tag accessors.
  • Filecount (filecount) input plugin
    • Add per-directory file count.
  • HTTP Output (http output) plugin
    • Add entity-body compression.
  • Memcached (memcached) input plugin
    • Collect additional statistics.
  • NSQ (nsq) input plugin
    • Add TLS configuration support.
  • Ping (ping) input plugin
    • Add support for IPv6.
  • Procstat (procstat) input plugin
    • Add Windows service name lookup.
  • Prometheus (prometheus) input plugin
    • Add scraping for Prometheus annotation in Kubernetes.
    • Allow connecting to Prometheus using UNIX socket.
  • Strings (strings) processor plugin
    • Add replace function.
  • VMware vSphere (vsphere) input plugin
    • Add LUN to data source translation.

Bug fixes

  • Remove time_key from the field values in JSON parser.
  • Fix input time rounding when using a custom interval.
  • Fix potential deadlock or leaked resources on restart or reload.
  • Fix outputs block inputs when batch size is reached.
  • Fix potential missing datastore metrics in VMware vSphere (vsphere) input plugin.

v1.8.3

Bug fixes

  • Add DN attributes as tags in X.509 Certificate (x509_cert) input plugin to avoid series overwrite.
  • Prevent connection leak by closing unused connections in AMQP (amqp) output plugin.
  • Use default partition key when tag does not exist in Amazon Kinesis (kinesis) output plugin.
  • Log the correct error in JTI OpenConfig Telemetry (jti_openconfig_telemetry) input plugin.
  • Handle panic when IMPI Sensor (ipmi_sensor) input plugin gets bad input.
  • Don’t add unserializable fields to Jolokia2 (jolokia2) input plugin.
  • Fix version check in PostgreSQL Exstensible (postgresql_extensible) plugin.

v1.8.2

Bug fixes

  • Aerospike (aerospike) input plugin
    • Support uint fields.
  • Docker (docker) input plugin
    • Use container name from list if no name in container stats.
  • Filecount (filecount) input plugin
    • Prevent panic on error in file stat.
  • InfluxDB v2 (influxdb_v2) input plugin
    • Update write path to match updated v2 API.
  • Logparser (logparser) input plugin
    • Fix panic.
  • MongoDB (mongodb) input plugin
    • Lower authorization errors to debug level.
  • MQTT Consumer (mqtt_consumer) input plugin
    • Fix connect and reconnect.
  • Ping (ping) input plugin
    • Return correct response code.
  • VMware vSphere (vsphere) input plugin
    • Fix missing timeouts.
  • X.509 Certificate (x509_cert) input plugin
    • Fix segfault.

v1.8.1

Bug fixes

  • Fix hardware_type may be truncated in Microsoft SQL Server (sqlserver) input plugin.
  • Improve performance in Basicstats (basicstats) aggregator plugin.
  • Add hostname to TLS config for SNI support in X.509 Certificate (x509_cert) input plugin.
  • Don’t add tags with empty values to OpenTSDB (opentsdb) output plugin.
  • Fix panic during network error in VMware vSphere (vsphere) input plugin.
  • Unify error response in HTTP Listener (http_listener) input plugin with InfluxDB (influxdb) output plugin.
  • Add UUID to VMs in VMware vSphere (vsphere) input plugin.
  • Skip tags with empty values in Amazon Cloudwatch (cloudwatch) output plugin.
  • Fix missing non-realtime samples in VMware vSphere (vsphere) input plugin.
  • Fix case of timezone/grok_timezone options in grok parser and logparser input plugin.

v1.8

New input plugins

New processor plugins

New aggregator plugins

New output plugins

New input data formats (parsers)

  • csv - Contributed by @maxunt
  • grok - Contributed by @maxunt
  • logfmt - Contributed by @Ayrdrie & @maxunt
  • wavefront - Contributed by @puckpuck

New output data formats (serializers)

Features

  • Add SSL/TLS support to Redis (redis) input plugin.
  • Add tengine input plugin.
  • Add power draw field to the NVIDIA SMI (nvidia_smi) input plugin.
  • Add support for Solr 7 to the Solr (solr) input plugin.
  • Add owner tag on partitions in Burrow (burrow) input plugin.
  • Add container status tag to Docker (docker) input plugin.
  • Add ValueCounter (valuecounter) aggregator plugin.
  • Add new measurement with results of pgrep lookup to Procstat (procstat) input plugin.
  • Add support for comma in logparser timestamp format.
  • Add path tag to Tail (tail) input plugin.
  • Add log message when tail is added or removed from a file.
  • Add option to use of counter time in win perf counters.
  • Add energy and power field and device id tag to Fibaro (fibaro) input plugin.
  • Add HTTP path configuration for OpenTSDB output.
  • Gather IPMI metrics concurrently.
  • Add mongo document and connection metrics.
  • Add enum processor plugin.
  • Add user tag to procstat input.
  • Add support for multivalue metrics to collectd parser.
  • Add support for setting kafka client id.
  • Add file input plugin and grok parser.
  • Improve cloudwatch output performance.
  • Add x509_cert input plugin.
  • Add IPSIpAddress syntax to ipaddr conversion in snmp plugin.
  • Add Filecount filecount input plugin.
  • Add support for configuring an AWS endpoint_url.
  • Send all messages before waiting for results in Kafka output plugin.
  • Add support for lz4 compression to Kafka output plugin.
  • Split multiple sensor keys in ipmi input.
  • Support StatisticValues in cloudwatch output plugin.
  • Add ip restriction for the prometheus_client output.
  • Add PgBouncer (pgbouncer) input plugin.
  • Add ActiveMQ input plugin.
  • Add wavefront parser plugin.
  • Add rename processor plugin.
  • Add message ‘max_bytes’ configuration to kafka input.
  • Add gopsutil meminfo fields to Mem (mem) input plugin.
  • Document how to parse Telegraf logs.
  • Use dep v0.5.0.
  • Add ability to set measurement from matched text in grok parser.
  • Drop message batches in Kafka (kafka) output plugin if too large.
  • Add support for static and random routing keys in Kafka (kafka) output plugin.
  • Add logfmt parser plugin.
  • Add parser processor plugin.
  • Add Icinga2 input plugin.
  • Add name, time, path and string field options to JSON parser.
  • Add forwarded records to sqlserver input.
  • Add Kibana input plugin.
  • Add csv parser plugin.
  • Add read_buffer_size option to statsd input.
  • Add azure_monitor output plugin.
  • Add queue_durability parameter to amqp_consumer input.
  • Add strings processor.
  • Add OAuth 2.0 support to HTTP output plugin.
  • Add Unix epoch timestamp support for JSON parser.
  • Add options for basic auth to haproxy input.
  • Add temp input plugin.
  • Add Beanstalkd input plugin.
  • Add means to specify server password for redis input.
  • Add Splunk Metrics serializer.
  • Add input plugin for VMware vSphere.
  • Align metrics window to interval in cloudwatch input.
  • Improve Azure Managed Instance support + more in sqlserver input.
  • Allow alternate binaries for iptables input plugin.
  • Add influxdb_v2 output plugin.

Bug fixes

  • Fix divide by zero in logparser input.
  • Fix instance and object name in performance counters with backslashes.
  • Reset/flush saved contents from bad metric.
  • Document all supported cli arguments.
  • Log access denied opening a service at debug level in win_services.
  • Add support for Kafka 2.0.
  • Fix nagios parser does not support ranges in performance data.
  • Fix nagios parser does not strip quotes from performance data.
  • Fix null value crash in postgresql_extensible input.
  • Remove the startup authentication check from the cloudwatch output.
  • Support tailing files created after startup in tail input.
  • Fix CSV format configuration loading.

v1.7.4

Bug fixes

  • Continue sending write batch in UDP if a metric is unserializable in InfluxDB (influxdb) output plugin.
  • Fix PowerDNS (powerdns) input plugin tests.
  • Fix burrow_group offset calculation for Burrow (burrow) input plugin.
  • Add result_code value for errors running ping command.
  • Remove timeout deadline for UDP in Syslog (syslog) input plugin.
  • Ensure channel is closed if an error occurs in CGroup (cgroup) input plugin.
  • Fix sending of basic authentication credentials in HTTP (output) output plugin.
  • Use the correct GOARM value in the Linux armel package.

v1.7.3

Bug fixes

  • Reduce required Docker API version.
  • Keep leading whitespace for messages in syslog input.
  • Skip bad entries on interrupt input.
  • Preserve metric type when using filters in output plugins.
  • Fix error message if URL is unparseable in InfluxDB output.
  • Use explicit zpool properties to fix parse error on FreeBSD 11.2.
  • Lock buffer when adding metrics.

v1.7.2

Bug fixes

  • Use localhost as default server tag in Zookeeper (zookeeper) input plugin.
  • Don’t set values when pattern doesn’t match in Regex (regex) processor plugin.
  • Fix output format of Printer (printer) processor plugin.
  • Fix metric can have duplicate field.
  • Return error if NewRequest fails in HTTP (http) output plugin.
  • Reset read deadline for Syslog (syslog) input plugin.
  • Exclude cached memory on Docker (docker) input plugin.

v1.7.1

Bug fixes

  • Treat sigterm as a clean shutdown signal.
  • Fix selection of tags under nested objects in the JSON parser.
  • Fix Postfix (postfix) input plugin handling of multilevel queues.
  • Fix Syslog (syslog input plugin timestamp parsing with single digit day of month.
  • Handle MySQL (mysql) input plugin variations in the user_statistics collecting.
  • Fix Minmax (minmax) and Basicstats (basicstats) aggregator plugins to use uint64.
  • Document Swap (swap) input plugin.
  • Fix incorrect precision being applied to metric in HTTP Listener (http_listener) input plugin.

v1.7

Release notes

  • The Cassandra (cassandra) input plugin has been deprecated in favor of the Jolokia2 (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.

New input plugins

New processor plugins

  • converter - Contributed by @influxdata
  • regex - Contributed by @44px
  • topk - Contributed by @mirath

New output plugins

Features

  • Add repl_oplog_window_sec metric to MongoDB (mongodb) input plugin.
  • Add per-host shard metrics in MongoDB (mongodb) input plugin.
  • Skip files with leading .. in config directory.
  • Add TLS support to socket_writer and socket_listener plugins.
  • Add snmp input option to strip non-fixed length index suffixes.
  • Add server version tag to the Docker (docker) input plugin.
  • Add support for LeoFS 1.4 to leofs input.
  • Add parameter to force the interval of gather for Sysstat (sysstat).
  • Support BusyBox ping in the Ping (ping) input plugin.
  • Add Mcrouter (mcrouter) input plugin.
  • Add TopK (topk) processor plugin.
  • Add cursor metrics to MongoDB (mongodb) input plugin.
  • Add tag/integer pair for result to Network Response (net_response) input plugin.
  • Add Application Insights (application_insights) output plugin.
  • Added several important Elasticsearch cluster health metrics.
  • Add batch mode to mqtt output.
  • Add Aurora (aurora) input plugin.
  • Add Regex (regex) processor plugin.
  • Add support for Graphite 1.1 tags.
  • Add timeout option to Sensors (sensors) input plugin.
  • Add Burrow (burrow) input plugin.
  • Add option to Unbound (unbound) input plugin to use threads as tags.
  • Add support for TLS and username/password auth to Aerospike (aerospike) input plugin.
  • Add special syslog timestamp parser to grok parser that uses current year.
  • Add Syslog (syslog) input plugin.
  • Print the enabled aggregator and processor plugins on startup.
  • Add static routing_key option to amqp output.
  • Add passive mode exchange declaration option to AMQP Consumer (amqp_consumer) input plugin.
  • Add counter fields to PF (pf) input plugin.

Bug fixes

  • Write to working file outputs if any files are not writeable.
  • Add all win_perf_counters fields for a series in a single metric.
  • Report results of dns_query instead of 0ms on timeout.
  • Add consul service tags to metric.
  • Fix wildcards and multi instance processes in win_perf_counters.
  • Fix crash on 32-bit Windows in win_perf_counters.
  • Fix win_perf_counters not collecting at every interval.
  • Use same flags for all BSD family ping variants.

v1.6.4

Bug fixes

  • Fix SNMP overriding of auto-configured table fields.
  • Fix uint support in CloudWatch output.
  • Fix documentation of instance_name option in Varnish input.
  • Revert to previous Aerospike library version due to memory leak.

v1.6.3

Bug fixes

  • Fix intermittent panic in Aerospike input plugin.
  • Fix connection leak in the Jolokia agent (Jolokia2_agent) input plugin.
  • Fix Jolokia agent (Jolokia2_agent) input plugin timeout parsing.
  • Fix error parsing Dropwizard metrics.
  • Fix Librato (librato) output plugin support for unsigned integer (uint) and Boolean (bool).
  • Fix WaitGroup deadlock, if URL is incorrect, in Apache input plugin.

v1.6.2

Bug fixes

  • Use same timestamp for fields in system input.
  • Fix handling of uint64 in Datadog (datadog) output.
  • Ignore UTF8 BOM in JSON parser.
  • Fix case for slave metrics in MySQL (mysql) input.
  • Fix uint support in CrateDB (cratedb) output.

v1.6.1

Bug fixes

  • Report mem input fields as gauges instead of counters.
  • Fix Graphite outputs unsigned integers in wrong format.
  • Report available fields if utmp is unreadable.
  • Fix potential no fields error writing to outputs.
  • Fix uptime reporting in system input when ran inside docker.
  • Fix mem input cannot allocate memory error on FreeBSD-based systems.
  • Fix duplicate tags when overriding an existing tag.
  • Add server argument as first argument in the Unbound (unbound) input plugin.
  • Fix handling of floats with multiple leading zeroes.
  • Return errors in SSL/TLS configuration of MongoDB (mongodb) input plugin.

v1.6

Release notes

  • The MySQL (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, see Metric version in the MySQL input plugin documentation.

    You are 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 (postgresql) input plugin 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 SQL Server (sqlserver) input plugin has a new query and data model that can be enabled by setting query_version = 2. Migrate to the new model, if possible, since the old version is deprecated and will be removed in a future version.

  • The OpenLDAP (openldap) input plugin has a new option, reverse_metric_names = true, that reverses metric names to improve grouping. Enable this option, when possible, as the old ordering is deprecated.

  • The new HTTP (http) input plugin, when configured with data_format = "json", can perform the same task as the, now deprecated, HTTP JSON (httpjson) input plugin.

New input plugins

New processor plugins

New parsers

Features

  • Add health status mapping from string to int in Elasticsearch (elasticsearch) input plugin.
  • Add control over which stats to gather in BasicStats (basicstats) aggregator plugin.
  • Add messages_delivered_get to RabbitMQ (rabbitmq) input plugin.
  • Add wired field to mem input plugin.
  • Add support for gathering exchange metrics to the RabbitMQ (rabbitmq) input plugin.
  • Add support for additional metrics on Linux in Zfs (zfs) input plugin.
  • Add available_entropy field to Kernel (kernel) input plugin.
  • Add user privilege level setting to IPMI sensors.
  • Use persistent connection to PostgreSQL database.
  • Add support for dropwizard input data format.
  • Add container health metrics to Docker (docker) input plugin.
  • Add support for using globs in devices list of DiskIO (diskio) input plugin.
  • Allow running as console application on Windows.
  • Add listener counts and node running status to RabbitMQ (rabbitmq) input plugin.
  • Add NATS Server Monitoring (nats) input plugin.
  • Add ability to select which queues will be gathered in RabbitMQ (rabbitmq) input plugin.
  • Add support for setting BSD source address to the ping (ping) input plugin.
  • Add Ipset (ipset) input plugin.
  • Add TLS and HTTP basic auth to Prometheus Client (prometheus_client) output plugin.
  • Add new sqlserver output data model.
  • Add native Go method for finding pid to the Procstat (procstat) input plugin.
  • Add additional metrics and reverse metric names option to OpenLDAP (openldap) input plugin.
  • Add TLS support to the Mesos (mesos) input plugin.
  • Add HTTP (http) input plugin.
  • Add keep alive support to the TCP mode of StatsD (statsd) input plugin .
  • Support deadline in Ping (ping) input plugin.
  • Add option to disable labels in the Prometheus Client (prometheus) output plugin for string fields.
  • Add shard server stats to the MongoDB (mongodb) input plugin.
  • Add server option to Unbound (unbound) input plugin.
  • Convert boolean metric values to float in Datadog (datadog) output plugin.
  • Add Solr 3 compatibility.
  • Add sum stat to BasicStats (basicstats) aggregator plugin.
  • Add ability to override proxy from environment in HTTP Response (http_response) input plugin.
  • Add host to ping timeout log message.
  • Add override processor plugin.
  • Add status_code and result tags and result_type field to HTTP Response (http_response) input plugin.
  • Added config flag to skip collection of network protocol metrics.
  • Add TLS support to Kapacitor (kapacitor) input plugin.
  • Add HTTP basic auth support to the HTTP Listener (http_listener) input plugin.
  • Tags in output InfluxDB Line Protocol are now sorted.
  • InfluxDB Line Protocol parser now accepts DOS line endings.
  • An option has been added to skip database creation in the InfluxDB (influxdb) output plugin.
  • Add support for connecting to InfluxDB over a UNIX domain socket.
  • Add optional unsigned integer support to the influx data format.
  • Add TLS support to Zookeeper (zookeeper) input plugin.
  • Add filters for container state to Docker (docker) input plugin.

Bug fixes

  • Fix various MySQL data type conversions.
  • Fix metric buffer limit in internal plugin after reload.
  • Fix panic in HTTP Response (http_response) input plugin on invalid regex.
  • Fix socket_listener setting ReadBufferSize on TCP sockets.
  • Add tag for target URL to phpfpm input plugin.
  • Fix cannot unmarshal object error in Mesosphere DC/OS (dcos) input plugin.
  • Fix InfluxDB output not able to reconnect when server address changes.
  • Fix parsing of DOS line endings in the SMART (smart) input plugin.
  • Fix precision truncation when no timestamp included.
  • Fix SNMPv3 connection with Cisco ASA 5515 in SNMP (snmp) input plugin.

v1.5.3

Bug fixes

  • Set path to / if HOST_MOUNT_PREFIX matches full path.
  • Remove userinfo from url tag in Prometheus input plugin.
  • Fix Ping input plugin not reporting zero durations.
  • Disable keepalive in MQTT output plugin to prevent deadlock.
  • Fix collation difference in SQL Server (sqlserver) input plugin.
  • Fix uptime metric in Passenger (passenger) input plugin.
  • Add output of stderr in case of error to exec log message.

v1.5.2

Bug fixes

  • Ignore empty lines in Graphite plaintext.
  • Fix index out of bounds error in Solr input plugin.
  • Reconnect before sending Graphite metrics if disconnected.
  • Align aggregator period with internal ticker to avoid skipping metrics.
  • Fix a potential deadlock when using aggregators.
  • Limit wait time for writes in MQTT (mqtt) output plugin.
  • Revert change in Graphite (graphite) output plugin where dot(.) in field key was replaced by underscore (_).
  • Add timeout to Wavefront output write.
  • Exclude master_replid fields from Redis input.

v1.5.1

Bug fixes

  • Fix name error in jolokia2_agent sample config.
  • Fix DC/OS input - login expiration time.
  • Set Content-Type charset parameter in InfluxDB (influxdb) output plugin and allow it to be overridden.
  • Document permissions setup for Postfix (postfix) input plugin.
  • Fix deliver_get field in RabbitMQ (rabbitmq) input plugin.
  • Escape environment variables during config TOML parsing.

v1.5

New plugins

Input plugins

Aggregator plugins

Output plugins

Release notes

  • In the Kinesis (kinesis) output plugin, 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 (jolokia2) input plugin, 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.

Features

  • Add support for sharding based on metric name.
  • Add Kafka output plugin topic_suffix option.
  • Include mount mode option in disk metrics.
  • TLS and MTLS enhancements to HTTP Listener input plugin.
  • Add polling method to logparser and tail inputs.
  • Add timeout option for Kubernetes (kubernetes) input plugin.
  • Add support for timing sums in statsd input plugin.
  • Add resource limit monitoring to Procstat (procstat) input plugin.
  • Add support for k8s service DNS discovery to Prometheus Client (prometheus) input plugin.
  • Add configurable metrics endpoint to (prometheus) output plugin.
  • Add support for NSQLookupd to nsq_consumer.
  • Add configurable separator for metrics and fields in OpenTSDB (opentsdb) output plugin.
  • Add support for the rollbar occurrence webhook event.
  • Add extra wired tiger cache metrics to mongodb input.
  • Collect Docker Swarm service metrics in Docker (docker) input plugin.
  • Add cluster health level configuration to Elasticsearch (elasticsearch) input plugin.
  • Add ability to limit node stats in Elasticsearch (elasticsearch) input plugin.
  • Add UDP IPv6 support to StatsD (statsd) input plugin.
  • Use labels in Prometheus Client (prometheus) output plugin for string fields.
  • Add support for decimal timestamps to ts-epoch modifier.
  • Add histogram and summary types and use in Prometheus (prometheus) plugins.
  • Gather concurrently from snmp agents.
  • Perform DNS lookup before ping and report result.
  • Add instance name option to Varnish (varnish) plugin.
  • Add support for SSL settings to ElasticSearch (elasticsearch) output plugin.
  • Add modification_time field to Filestat (filestat) input plugin.
  • Add systemd unit pid and cgroup matching to Procstat (procstat) .
  • Use MAX() instead of SUM() for latency measurements in SQL Server (sqlserver) input plugin.
  • Add index by week number to Elasticsearch (elasticsearch) output plugin.
  • Add support for tags in the index name in Elasticsearch (elasticsearch) output plugin.
  • Add slab to mem plugin.
  • Add support for glob patterns in net input plugin.
  • Add option to AMQP (amqp) output plugin to publish persistent messages.
  • Support I (idle) process state on procfs+Linux.

Bug fixes

  • Fix webhooks input address in use during reload.
  • Unlock Statsd when stopping to prevent deadlock.
  • Fix cloudwatch output requires unneeded permissions.
  • Fix prometheus passthrough for existing value types.
  • Always ignore autofs filesystems in disk input.
  • Fail metrics parsing on unescaped quotes.
  • Whitelist allowed char classes for graphite output.
  • Use hexadecimal ids and lowercase names in zipkin input.
  • Fix snmp-tools output parsing with Windows EOLs.
  • Add shadow-utils dependency to rpm package.
  • Use deb-systemd-invoke to restart service.
  • Fix kafka_consumer outside range of offsets error.
  • Fix separation of multiple prometheus_client outputs.
  • Don’t add system input uptime_format as a counter.

v1.4.5

Bug fixes

  • Fix global variable collection when using interval_slow option in MySQL input.
  • Fix error getting net connections info in netstat input.
  • Fix HOST_MOUNT_PREFIX in Docker with disk input.

v1.4.4

Bug fixes

  • 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

Bug fixes

  • 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

Bug fixes

  • 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 SQL Server 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

Bug fixes

  • 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

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.

Bug fixes

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

Bug fixes

  • 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

Bug fixes

  • 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

Bug fixes

  • 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

Bug fixes

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

v1.3.1

Bug fixes

  • 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

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

Bug fixes

  • 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

Bug fixes

  • 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

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.

Bug fixes

  • 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

Bug fixes

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

v1.1.1

Bug fixes

  • Fix issue parsing toml durations with single quotes.

v1.1.0

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

Bug fixes

  • 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

Bug fixes

  • 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

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.

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

Bug fixes

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

Was this page helpful?

Thank you for your feedback!


The future of Flux

Flux is going into maintenance mode. You can continue using it as you currently are without any changes to your code.

Flux is going into maintenance mode and will not be supported in InfluxDB 3.0. This was a decision based on the broad demand for SQL and the continued growth and adoption of InfluxQL. We are continuing to support Flux for users in 1.x and 2.x so you can continue using it with no changes to your code. If you are interested in transitioning to InfluxDB 3.0 and want to future-proof your code, we suggest using InfluxQL.

For information about the future of Flux, see the following: