Plugin directory
Telegraf is a plugin-driven agent that collects, processes, aggregates, and writes metrics. It supports four categories of plugins: input, output, aggregator, and processor. In addition to the included plugins, you can run external plugins that integrate with the Telegraf Execd processor plugin.
Plugin type
Plugin category
Operating system
Status
Jump to:
Input plugins
Telegraf input plugins are used with the InfluxData time series platform to collect metrics from the system, services, or third-party APIs.
AMQP Consumer
The AMQP Consumer input plugin provides a consumer for use with AMQP 0-9-1, a prominent implementation of this protocol being RabbitMQ.
ActiveMQ
The ActiveMQ input plugin gathers queues, topics, and subscriber metrics using the ActiveMQ Console API.
Aerospike
Deprecated in favor of the Prometheus plugin with the Aerospike Prometheus Exporter.
The Aerospike input plugin queries Aerospike servers and gets node statistics and statistics for all configured namespaces.
Alibaba CloudMonitor Service (Aliyun)
This plugin pulls metric statistics from Aliyun CMS.
Amazon CloudWatch Alarms
ExternalThe Amazon CloudWatch Alarms input plugin pulls alarm statistics from Amazon CloudWatch.
Amazon CloudWatch Statistics
The Amazon CloudWatch Statistics input plugin pulls metric statistics from Amazon CloudWatch.
Amazon ECS
Amazon ECS input plugin (AWS Fargate compatible) uses the Amazon ECS v2 metadata and stats API endpoints to gather stats on running containers in a task. The Telegraf container and the workload that Telegraf is inspecting must be run in the same task. This is similar to (and reuses pieces of) the Docker input plugin, with some ECS-specific modifications for AWS metadata and stats formats.
Amazon Kinesis Consumer
ExternalThe Amazon Kinesis Consumer input plugin reads from a Kinesis data stream and creates metrics using one of the supported input data formats.
Apache Aurora
The Aurora input plugin gathers metrics from Apache Aurora schedulers. For monitoring recommendations, see Monitoring your Aurora cluster.
Apache HTTP Server
The Apache HTTP Server input plugin collects server performance information
using the mod_status
module of the Apache HTTP Server.
Typically, the mod_status
module is configured to expose a page at the
/server-status?auto
location of the Apache server.
The ExtendedStatus
option must be enabled in order to collect all available fields.
For information about how to configure your server reference, see the
module documentation.
Apache Kafka Consumer
The Apache Kafka Consumer input plugin polls a specified Kafka topic and adds messages to InfluxDB. Messages are expected in the line protocol format. Consumer Group is used to talk to the Kafka cluster so multiple instances of Telegraf can read from the same topic in parallel.
Apache Mesos
The Apache Mesos input plugin gathers metrics from Mesos. For more information, please check the Mesos Observability Metrics page.
Apache Solr
The Apache Solr input plugin collects stats using the MBean Request Handler.
Apache Tomcat
The Apache Tomcat input plugin collects statistics available from the Apache
Tomcat manager status page (http://<host>/manager/status/all?XML=true
).
Using XML=true
returns XML data.
See the Apache Tomcat documentation
for details on these statistics.
Apache Zipkin
The Apache Zipkin input plugin implements the Zipkin HTTP server to gather trace and timing data needed to troubleshoot latency problems in microservice architectures.
This plugin is experimental. Its data schema may be subject to change based on its main usage cases and the evolution of the OpenTracing standard.
Apache Zookeeper
The Apache Zookeeper input plugin collects variables output from the mntr
command Zookeeper Admin.
Apcupsd
The Apcupsd input plugin reads data from an apcupsd daemon over its NIS network protocol.
Arista LANZ Consumer
The Arista LANZ Consumer input plugin provides a consumer for use with Arista Networks’ Latency Analyzer (LANZ). Metrics are read from a stream of data via TCP through port 50001 on the switch’s management IP. Data is in Protobuffers format. For more information, see Arista LANZ.
AWS CloudWatch Metric Streams
The CloudWatch Metric Streams plugin is a service input plugin that listens for metrics sent via HTTP and performs the required processing for metric streams from AWS.
Azure Monitor
The Azure Monitor plugin gathers metrics from Azure Monitor API.
Azure Storage Queue
The Azure Storage Queue plugin gathers sizes of Azure Storage Queues.
Bcache
The Bcache input plugin gets bcache statistics from the stats_total
directory and dirty_data
file.
Beat
The Beat input plugin collects metrics from the given Elastic Beat instances.
Beanstalkd
The Beanstalkd input plugin collects server stats as well as tube stats
(reported by stats
and stats-tube
commands respectively).
BIND 9 Nameserver Statistics
plugin decodes the JSON or XML statistics provided by BIND 9 nameservers.
Bond
The Bond input plugin collects network bond interface status, bond’s slaves
interfaces status and failures count of bond’s slaves interfaces.
The plugin collects these metrics from /proc/net/bonding/*
files.
Burrow
The Burrow input plugin collects Apache Kafka topic, consumer, and partition status using the Burrow HTTP Endpoint.
Ceph Storage
The Ceph Storage input plugin collects performance metrics from the MON and OSD nodes in a Ceph storage cluster.
CGroup
The CGroup input plugin captures specific statistics per cgroup.
Chrony
The Chrony input plugin gets standard chrony metrics, requires chronyc executable.
Cisco GNMI Telemetry
The
inputs.cisco_telemetry_gnmi
plugin was renamed toinputs.gmni
in Telegraf 1.15.0 to better reflect its general support for gNMI devices. See the gNMI plugin.
Cisco GNMI Telemetry input plugin consumes telemetry data similar to the GNMI specification. This GRPC-based protocol can utilize TLS for authentication and encryption. This plugin has been developed to support GNMI telemetry as produced by Cisco IOS XR (64-bit) version 6.5.1 and later.
Cisco Model-driven Telemetry (MDT)
Cisco model-driven telemetry (MDT) is an input plugin that consumes telemetry data from Cisco IOS XR, IOS XE and NX-OS platforms. It supports TCP & GRPC dialout transports. GRPC-based transport can utilize TLS for authentication and encryption. Telemetry data is expected to be GPB-KV (self-describing-gpb) encoded.
ClickHouse
The ClickHouse input plugin gathers statistics from a ClickHouse server, an open source column-oriented database management system that lets you generate analytical data reports in real time.
Conntrack
The Conntrack input plugin collects stats from Netfilter’s conntrack-tools.
The conntrack-tools provide a mechanism for tracking various aspects of
network connections as they are processed by netfilter.
At runtime, conntrack exposes many of those connection statistics within /proc/sys/net
.
Depending on your kernel version, these files can be found in either /proc/sys/net/ipv4/netfilter
or /proc/sys/net/netfilter
and will be prefixed with either ip_
or nf_
.
This plugin reads the files specified in its configuration and publishes each one as a field,
with the prefix normalized to ip_
.
Consul
The Consul input plugin will collect statistics about all health checks registered in the Consul. It uses Consul API to query the data. It will not report the telemetry but Consul can report those stats already using StatsD protocol, if needed.
Couchbase
The Couchbase input plugin reads per-node and per-bucket metrics from Couchbase.
CouchDB
The CouchDB input plugin gathers metrics of CouchDB using _stats
endpoint.
CPU
The CPU input plugin gathers metrics about cpu usage.
CS:GO
The CSGO input plugin gahers metrics from Counter-Strike: Global Offensive servers.
ctrlX Data Layer
Gather data from communication middleware running on ctrlX CORE devices
Disk
The Disk input plugin gathers metrics about disk usage by mount point.
DiskIO
The DiskIO input plugin gathers metrics about disk IO by device.
Directory Monitoring
The Directory Monitoring input plugin monitors a single directory and takes in each file placed in the directory. The plugin gathers all files in the directory at a configurable interval, and parses the ones that haven’t been picked up yet.
DMCache
The DMCache input plugin provides a native collection for dmsetup-based statistics for dm-cache.
Docker
The Docker input plugin uses the Docker Engine API to gather metrics on running Docker containers. The Docker plugin uses the Official Docker Client to gather stats from the Engine API library documentation.
Docker Log
The Docker Log input plugin uses the Docker Engine API to collect logs from running Docker containers. The plugin uses the Official Docker Client to gather logs from the Engine API.
This plugin works only for containers with the local or
json-file
orjournald
logging driver.
Dovecot
The Dovecot input plugin uses the dovecot Stats protocol to gather metrics on configured domains. For more information, see the Dovecot documentation.
389 Directory Server Input Plugin
ExternalThis plugin gathers metrics from 389 Directory Servers’ cn=Monitor backend.
Elasticsearch
The Elasticsearch input plugin queries endpoints to obtain node and optionally cluster-health or cluster-stats metrics.
Elasticsearch Query
This elasticsearch query plugin queries endpoints to obtain metrics from data stored in an Elasticsearch cluster.
Ethtool
The Ethtool plugin gathers ethernet device statistics. The network device and driver determine what fields are gathered.
Event Hub Consumer
The Event Hub Consumer input plugin provides a consumer for use with Azure Event Hubs and Azure IoT Hub.
Exec
The Exec input plugin parses supported Telegraf input data formats (line protocol, JSON, Graphite, Value, Nagios, Collectd, and Dropwizard) into metrics. Each Telegraf metric includes the measurement name, tags, fields, and timestamp.
Execd
The Execd input plugin runs an external program as a daemon. Programs must output metrics in an accepted
Telegraf input data format
on its standard output. Configure signal
to send a signal to the daemon running on each collection interval.
The program output on standard error is mirrored to the Telegraf log.
Fail2ban
The Fail2ban input plugin gathers the count of failed and banned IP addresses using fail2ban.
Fibaro
The Fibaro input plugin makes HTTP calls to the Fibaro controller API to gather values of hooked devices.
Those values could be true (1
) or false (0
) for switches, percentage for dimmers, temperature, etc.
File
The File input plugin updates a list of files every interval and parses the contents using the selected input data format.
Files will always be read in their entirety. If you wish to tail or follow a file, then use the Tail input plugin.
To parse metrics from multiple files that are formatted in one of the supported input data formats, use the Multifile input plugin.
Filecount
The Filecount input plugin reports the number and total size of files in directories that match certain criteria.
Filestat
The Filestat input plugin gathers metrics about file existence, size, and other stats.
Fireboard
The Fireboard input plugin gathers real time temperature data from Fireboard thermometers. To use this input plugin, sign up to use the Fireboard REST API.
Fluentd
The Fluentd input plugin gathers Fluentd server metrics from plugin endpoint provided by in_monitor plugin.
This plugin understands data provided by /api/plugin.json
resource (/api/config.json
is not covered).
GitHub
Gathers repository information from GitHub-hosted repositories.
gNMI
The gNMI plugin consumes telemetry data based on the
gNMI Subscribe
method.
The plugin supports TLS for authentication and encryption.
This input plugin is vendor-agnostic and is supported on any platform that supports the gNMI spec.
For Cisco devices: The gNMI plugin is optimized to support gNMI telemetry as produced by Cisco IOS XR (64-bit) version 6.5.1, Cisco NX-OS 9.3 and Cisco IOS XE 16.12 and later.
Google Cloud PubSub
The Google Cloud PubSub input plugin ingests metrics from Google Cloud PubSub and creates metrics using one of the supported input data formats.
Google Cloud PubSub Push
The Google Cloud PubSub Push (cloud_pubsub_push
) input plugin listens for
messages sent using HTTP POST requests from Google Cloud PubSub.
The plugin expects messages in Google’s Pub/Sub JSON Format ONLY.
The intent of the plugin is to allow Telegraf to serve as an endpoint of the
Google Pub/Sub ‘Push’ service. Google’s PubSub service will only send over
HTTPS/TLS so this plugin must be behind a valid proxy or must be configured to use TLS.
Google Cloud Storage
The Google Cloud Storage input plugin collects metrics by iterating files located on a cloud storage bucket.
Graylog
The Graylog input plugin can collect data from remote Graylog service URLs. This plugin currently supports two types of endpoints:
- multiple (e.g.,
http://[graylog-server-ip]:12900/system/metrics/multiple
) - namespace (e.g.,
http://[graylog-server-ip]:12900/system/metrics/namespace/{namespace}
)
HAproxy
The HAproxy input plugin gathers metrics directly from any running HAproxy instance. It can do so by using CSV generated by HAproxy status page or from admin sockets.
Hashicorp Consul Agent
The Hashicorp Consul agent plugin grab metrics from every Nomad agent of the cluster.
Hashicorp Nomad
The Nomad plugin grabs metrics from every Nomad agent of the cluster.
Hashicorp Vault
The Vault plugin grabs metrics from every Nomad agent of the cluster.
Hddtemp
The Hddtemp input plugin reads data from hddtemp
daemons.
HTTP
The HTTP input plugin collects metrics from one or more HTTP (or HTTPS) endpoints. The endpoint should have metrics formatted in one of the supported input data formats. Each data format has its own unique set of configuration options which can be added to the input configuration.
HTTP Listener
The http_listener
input plugin was renamed to influxdb_listener
.
The new name better describes the intended use of the plugin as a InfluxDB relay.
For general purpose transfer of metrics in any format via HTTP, use http_listener_v2
instead.
HTTP Listener v2
The HTTP Listener v2 input plugin listens for metrics sent via HTTP.
Metrics may be sent in any supported Telegraf input data format.
Note the plugin previously known as http_listener
has been renamed influxdb_listener
.
To use Telegraf as a proxy/relay for InfluxDB, we recommend using influxdb_listener
.
HTTP Response
The HTTP Response input plugin gathers metrics for HTTP responses.
The measurements and fields include response_time
, http_response_code
,
and result_type
. Tags for measurements include server
and method
.
Huge Pages
The Huge Pages input plugin gathers Huge pages measurements. Transparent Huge Pages (THP) is a Linux memory management system that reduces the overhead of Translation Lookaside Buffer (TLB) lookups on machines with large amounts of memory by using larger memory pages.
Icinga 2
The Icinga 2 input plugin gather status on running services and hosts using the Icinga 2 API.
InfiniBand
The InfiniBand input plugin gathers statistics for all InfiniBand devices and ports on the system.
Counters are stored in /sys/class/infiniband/<dev>/port/<port>/counters/
.
InfluxDB v1.x
The InfluxDB v1.x input plugin gathers metrics from the exposed InfluxDB v1.x /debug/vars
endpoint.
Using Telegraf to extract these metrics to create a “monitor of monitors” is a
best practice and allows you to reduce the overhead associated with capturing
and storing these metrics locally within the _internal
database for production deployments.
Read more about this approach here.
InfluxDB v2
InfluxDB 2.x exposes its metrics using the Prometheus Exposition Format — there is no InfluxDB v2 input plugin.
To collect data on an InfluxDB 2.x instance running on localhost, the configuration for the Prometheus input plugin would be:
[[inputs.prometheus]]
## An array of urls to scrape metrics from.
urls = ["https://127.0.0.1:8086/metrics"]
InfluxDB Listener
The InfluxDB Listener input plugin listens for requests sent
according to the InfluxDB HTTP API.
The intent of the plugin is to allow Telegraf to serve as a proxy, or router,
for the HTTP /write
endpoint of the InfluxDB HTTP API.
This plugin was previously known as
http_listener
. To send general metrics via HTTP, use the HTTP Listener v2 input plugin instead.This plugin is compatible with InfluxDB 1.x only.
The /write
endpoint supports the precision
query parameter and can be
set to ns
, u
, ms
, s
, m
, h
. Other parameters are ignored and
defer to the output plugins configuration.
When chaining Telegraf instances using this plugin, CREATE DATABASE
requests
receive a 200 OK
response with message body {"results":[]}
but they are not
relayed. The output configuration of the Telegraf instance which ultimately
submits data to InfluxDB determines the destination database.
InfluxDB v2 Listener
The InfluxDB v2 Listener input plugin listens for requests sent
according to the InfluxDB HTTP API.
The intent of the plugin is to allow Telegraf to serve as a proxy, or router,
for the HTTP /api/v2/write
endpoint of the InfluxDB HTTP API.
The /api/v2/write
endpoint supports the precision
query parameter and
can be set to ns
, u
, ms
, or s
. Other parameters are ignored and
defer to the output plugins configuration.
Intel Baseband
Collects metrics from both dedicated and integrated Intel devices that provide Wireless Baseband hardware acceleration
Intel DLB
The Intel DLB input plugin reads metrics from DPDK using the telemetry v2 interface.
Intel PMT
Intel Platform Monitoring Technology plugin exposes Intel PMT metrics available through the Intel PMT kernel space.
Intel PMU
The Intel PMU input plugin exposes Intel PMU (Performance Monitoring Unit) metrics available through Linux Perf subsystem.
Intel Powerstat
The Intel Powerstat input plugin collects information provided by the monitoring features of Intel Powerstat.
Intel Data Plane Development Kit (DPDK)
The DPDK plugin collects metrics exposed by applications built with Data Plane Development Kit, an extensive set of open source libraries designed for accelerating packet processing workloads.
Intel RDT
The Intel RDT input plugin collects information provided by the monitoring features of Intel Resource Director Technology (RDT).
Internet Speed Monitor
The Internet Speed Monitor plugin collects data about the internet speed on the system.
Interrupts
The Interrupts input plugin gathers metrics about IRQs, including interrupts
(from /proc/interrupts
) and soft_interrupts
(from /proc/softirqs
).
IPMI Sensor
The IPMI Sensor input plugin queries the local machine or remote host
sensor statistics using the ipmitool
utility.
Ipset
The Ipset input plugin gathers packets and bytes counters from Linux ipset
.
It uses the output of the command ipset save
. Ipsets created without the counters
option are ignored.
IPtables
The IPtables input plugin gathers packets and bytes counters for rules within a set of table and chain from the Linux iptables firewall.
IPVS
The IPVS input plugin uses the Linux kernel netlink socket interface to gather metrics about IPVS virtual and real servers.
Jenkins
The Jenkins input plugin gathers information about the nodes and jobs running in a jenkins instance.
This plugin does not require a plugin on Jenkins and it makes use of Jenkins API to retrieve all the information needed.
Jolokia2 Agent
The Jolokia2 Agent input plugin reads JMX metrics from one or more Jolokia agent REST endpoints using the JSON-over-HTTP protocol.
Jolokia2 Proxy
The Jolokia2 Proxy input plugin reads JMX metrics from one or more targets by interacting with a Jolokia proxy REST endpoint using the Jolokia JSON-over-HTTP protocol.
JTI OpenConfig Telemetry
The JTI OpenConfig Telemetry input plugin reads Juniper Networks implementation of OpenConfig telemetry data from listed sensors using the Junos Telemetry Interface. Refer to openconfig.net for more details about OpenConfig and Junos Telemetry Interface (JTI).
Kapacitor
The Kapacitor input plugin will collect metrics from the given Kapacitor instances.
Kernel
The Kernel input plugin gathers kernel statistics from /proc/stat
.
Kernel VMStat
The Kernel VMStat input plugin gathers kernel statistics from /proc/vmstat
.
Kibana
The Kibana input plugin queries the Kibana status API to obtain the health status of Kibana and some useful metrics.
KNX
The KNX input plugin that listens for messages on the KNX (Konnex) home-automation bus.
Kubernetes
The Kubernetes input plugin is experimental and may cause high cardinality issues with moderate to large Kubernetes deployments.
The Kubernetes input plugin talks to the kubelet API using the /stats/summary
endpoint to gather metrics about the running pods and containers for a single host.
It is assumed that this plugin is running as part of a daemonset within a
Kubernetes installation. This means that Telegraf is running on every node within the cluster.
Therefore, you should configure this plugin to talk to its locally running kubelet.
Kubernetes Inventory
The Kubernetes Inventory input plugin generates metrics derived from the state of the following Kubernetes resources:
- daemonsets
- deployments
- nodes
- persistentvolumes
- persistentvolumeclaims
- pods (containers)
- statefulsets
LDAP
This plugin gathers metrics from LDAP servers’ monitoring (cn=Monitor) backend.
LeoFS
The LeoFS input plugin gathers metrics of LeoGateway, LeoManager, and LeoStorage using SNMP. See System monitoring in the LeoFS documentation for more information.
Libvirt
The Libvirt plugin collects statistics from virtualized guests using virtualization libvirt API.
Linux CPU
The Linux CPU input plugin athers CPU metrics exposed on Linux-based systems.
Linux Sysctl FS
The Linux Sysctl FS input plugin provides Linux system level file (sysctl fs
) metrics.
The documentation on these fields can be found here.
Logical Volume Manager
The Logical Volume Manager collects information about physical volumes, volume groups, and logical volumes in Linux.
Logparser
The Logparser input plugin streams and parses the given log files. Currently, it has the capability of parsing “grok” patterns from log files, which also supports regular expression (regex) patterns.
Logstash
The Logstash input plugin reads metrics exposed by the Logstash Monitoring API. The plugin supports Logstash 5 and later.
Lustre2
Lustre Jobstats allows for RPCs to be tagged with a value, such as a job’s ID.
This allows for per job statistics.
The Lustre2 input plugin collects statistics and tags the data with the jobid
.
Mailchimp
The Mailchimp input plugin gathers metrics from the /3.0/reports
MailChimp API.
MarkLogic
The MarkLogic input plugin gathers health status metrics from one or more MarkLogic hosts.
Mcrouter
The Mcrouter input plugin gathers statistics data from a mcrouter instance. Mcrouter is a memcached protocol router, developed and maintained by Facebook, for scaling memcached (https://memcached.org.cn/) deployments. It’s a core component of cache infrastructure at Facebook and Instagram where mcrouter handles almost 5 billion requests per second at peak.
Mdstat
The mdstat plugin gathers statistics about any Linux MD RAID arrays configured on the host by reading /proc/mdstat.
Mem
The Mem input plugin collects system memory metrics. For a more complete explanation of the difference between used and actual_used RAM, see Linux ate my ram.
Memcached
The Memcached input plugin gathers statistics data from a Memcached server.
Mesosphere DC/OS
The Mesosphere DC/OS input plugin gathers metrics from a DC/OS cluster’s metrics component.
Microsoft SQL Server
The Microsoft SQL Server input plugin provides metrics for your Microsoft SQL Server instance. It currently works with SQL Server versions 2008+. Recorded metrics are lightweight and use Dynamic Management Views supplied by SQL Server.
Minecraft
The Minecraft input plugin uses the RCON protocol to collect statistics from a scoreboard on a Minecraft server.
Mock
The mock input plugin generates random data based on a selection of different algorithms.
Modbus
The Modbus input plugin collects discrete_inputs
, coils
, input_registers
and holding_registers
via Modbus TCP or Modbus RTU/ASCII.
MongoDB
The MongoDB input plugin collects MongoDB stats exposed by serverStatus
and
few more and create a single measurement containing values.
Monit
The Monit input plugin gathers metrics and status information about local processes, remote hosts, files, file systems, directories, and network interfaces managed and watched by Monit. To use this plugin, enable the HTTPD TCP port in Monit.
MQTT Consumer
The MQTT Consumer input plugin reads from specified MQTT topics and adds messages to InfluxDB. Messages are in the Telegraf input data formats.
Multifile
The Multifile input plugin allows Telegraf to combine data from multiple files
into a single metric, creating one field or tag per file.
This is often useful creating custom metrics from the /sys
or /proc
filesystems.
To parse metrics from a single file formatted in one of the supported input data formats, use the file input plugin.
MySQL
The MySQL input plugin gathers the statistics data from MySQL, MariaDB, and Percona servers.
NATS Consumer
The NATS Consumer input plugin reads from specified NATS subjects and adds messages to InfluxDB. Messages are expected in the Telegraf input data formats. A Queue Group is used when subscribing to subjects so multiple instances of Telegraf can read from a NATS cluster in parallel.
NATS Server Monitoring
The NATS Server Monitoring input plugin gathers metrics when using the NATS Server monitoring server.
Neptune Apex
The Neptune Apex input plugin collects real-time data from the Apex status.xml
page.
The Neptune Apex controller family allows an aquarium hobbyist to monitor and
control their tanks based on various probes.
The data is taken directly from the /cgi-bin/status.xml
at the interval specified
in the telegraf.conf
configuration file.
Net
The Net input plugin gathers metrics about network interface usage (Linux only).
Netflow
The Netflow input plugin gathers metrics from Netflow v5, Netflow v9 and IPFIX collectors.
Netstat
The Netstat input plugin gathers TCP metrics such as established, time-wait
and sockets counts by using lsof
.
Network Response
The Network Response input plugin tests UDP and TCP connection response time. It can also check response text.
NFS
The NFS input plugin collects data from an NFS Client per-mount statistics (/proc/self/mountstats
). By default, the plugin collects only a limited number of general system-level metrics.
NGINX
The NGINX input plugin reads NGINX basic status information (ngx_http_stub_status_module
).
NGINX VTS
The NGINX VTS input plugin gathers NGINX status using external virtual host traffic status module - https://github.com/vozlt/nginx-module-vts. This is an NGINX module that provides access to virtual host status information. It contains the current status such as servers, upstreams, caches. This is similar to the live activity monitoring of NGINX Plus. For module configuration details, see the NGINX VTS module documentation.
NGINX Plus
The NGINX Plus input plugin is for NGINX Plus, the commercial version of the open source web server NGINX. To use this plugin you will need a license. For more information, see What’s the Difference between Open Source NGINX and NGINX Plus?.
Structures for NGINX Plus have been built based on history of status module documentation.
NGINX Plus API
The NGINX Plus API input plugin gathers advanced status information for NGINX Plus servers.
NGINX Stream STS
The NGINX Plus API input plugin gathers NGINX status using external virtual host traffic status.
NGINX Upstream Check
The NGINX Upstream Check input plugin reads the status output of the
nginx_upstream_check.
This module can periodically check the NGINX upstream servers using the configured
request and interval to determine if the server is still available.
If checks are failed, then the server is marked as down
and will not receive
any requests until the check passes and the server will be marked as up
again.
The status page displays the current status of all upstreams and servers as well as number of the failed and successful checks. This information can be exported in JSON format and parsed by this input.
NSQ
The NSQ input plugin collects metrics from NSQD API endpoints.
NSQ Consumer
The NSQ Consumer input plugin polls a specified NSQD topic and adds messages to InfluxDB. This plugin allows a message to be in any of the supported data_format types.
Nstat
The Nstat input plugin collects network metrics from /proc/net/netstat
,
/proc/net/snmp
, and /proc/net/snmp6
files.
NTPq
The NTPq input plugin gets standard NTP query metrics, requires ntpq executable.
NVIDIA SMI
The NVIDIA SMI input plugin uses a query on the NVIDIA System Management Interface
(nvidia-smi
)
binary to pull GPU stats including memory and GPU usage, temp and other.
OPC UA
The OPC UA plugin gathers metrics from client devices using the OPC Foundation’s Unified Architecture (UA) machine-to-machine communication protocol for industrial automation.
OPC UA Listener
The OPC UA plugin gathers metrics from subscriptions to OPC UA devices.
OpenSearch Query
Gathers metrics from OpenSearch query endpoints.
OpenLDAP
The OpenLDAP input plugin gathers metrics from OpenLDAP’s cn=Monitor
backend.
OpenNTPD
The OpenNTPD input plugin gathers standard Network Time Protocol (NTP) query
metrics from OpenNTPD using the ntpctl
command.
OpenSMTPD
The OpenSMTPD input plugin gathers stats from OpenSMTPD, a free implementation of the server-side SMTP protocol.
OpenStack
The OpenStack input plugin collects metrics on OpenStack services.
OpenTelemetry
Receives traces, metrics and logs from OpenTelemetry clients and agents via gRPC.
OpenWeatherMap
Collect current weather and forecast data from OpenWeatherMap.
P4 Runtime
Collects metrics from P4 programmable pipelines over gRPC.
PF
The PF input plugin gathers information from the FreeBSD/OpenBSD pf firewall.
Currently it can retrieve information about the state table: the number of current
entries in the table, and counters for the number of searches, inserts, and removals
to the table. The pf plugin retrieves this information by invoking the pfstat
command.
PgBouncer
The PgBouncer input plugin provides metrics for your PgBouncer load balancer. For information about the metrics, see the PgBouncer documentation.
Phusion Passenger
The Phusion Passenger input plugin gets Phusion Passenger statistics using
their command line utility passenger-status
.
PHP-FPM
The PHP-FPM input plugin gets phpfpm statistics using either HTTP status page or fpm socket.
Ping
The Ping input plugin measures the round-trip for ping commands, response time, and other packet statistics.
Plex Webhook
ExternalThe Plex Webhook input plugin listens for events from Plex Media Server Webhooks.
Postfix
The Postfix input plugin reports metrics on the postfix queues. For each of the active, hold, incoming, maildrop, and deferred queues, it will report the queue length (number of items), size (bytes used by items), and age (age of oldest item in seconds).
PostgreSQL
The PostgreSQL input plugin provides metrics for your PostgreSQL database.
It currently works with PostgreSQL versions 8.1+.
It uses data from the built-in pg_stat_database
and pg_stat_bgwriter
views.
The metrics recorded depend on your version of PostgreSQL.
PostgreSQL Extensible
This PostgreSQL Extensible input plugin provides metrics for your Postgres database.
It has been designed to parse SQL queries in the plugin section of telegraf.conf
files.
PowerDNS
The PowerDNS input plugin gathers metrics about PowerDNS using UNIX sockets.
PowerDNS Recursor
The PowerDNS Recursor input plugin gathers metrics about PowerDNS Recursor using UNIX sockets.
Processes
The Processes input plugin gathers info about the total number of processes
and groups them by status (zombie, sleeping, running, etc.). On Linux, this
plugin requires access to procfs
(/proc
); on other operating systems,
it requires access to execute ps
.
Procstat
The Procstat input plugin monitors system resource usage of an individual
processes using their /proc
data.
Processes can be specified either by pid
file, by executable name, by command
line pattern matching, by username, by systemd unit name, or by cgroup name/path
(in this order or priority). This plugin uses pgrep
when an executable name is
provided to obtain the pid
. The Procstat plugin transmits IO, memory, cpu,
file descriptor-related measurements for every process specified. A prefix can
be set to isolate individual process specific measurements.
The Procstat input plugin will tag processes according to how they are specified in the configuration. If a pid file is used, a “pidfile” tag will be generated. On the other hand, if an executable is used an “exe” tag will be generated.
Prometheus Format
The Prometheus Format input plugin gathers metrics from HTTP servers exposing metrics in Prometheus format.
Proxmox
The Proxmox plugin gathers metrics about containers and VMs using the Proxmox API.
PSI
ExternalThe PSI input plugins push pressure stall information (PSI) from the Linux Kernel to InfluxDB.
Puppet Agent
The Puppet Agent input plugin collects variables outputted from the last_run_summary.yaml
file usually located in /var/lib/puppet/state/
Puppet Agent Runs. For more information, see
Puppet Monitoring: How to Monitor the Success or Failure of Puppet Runs
RabbitMQ
The RabbitMQ input plugin reads metrics from RabbitMQ servers via the Management Plugin.
Radius
Collects authentication response time metrics from Radius.
Raindrops Middleware
The Raindrops Middleware input plugin reads from the specified Raindrops middleware URI and adds the statistics to InfluxDB.
RAS
The RAS input plugin gathers and counts errors provided by RASDaemon, a RAS (reliability, availability, and serviceability) logging tool.
Redfish
The Redfish input plugin gathers metrics and status information of hardware servers for which DMTF’s Redfish is enabled.
Redis
The Redis input plugin gathers the results of the INFO Redis command.
There are two separate measurements: redis
and redis_keyspace
,
the latter is used for gathering database-related statistics.
Additionally the plugin also calculates the hit/miss ratio (keyspace_hitrate
)
and the elapsed time since the last RDB save (rdb_last_save_time_elapsed
).
Redis sentinel
A plugin for Redis Sentinel to monitor multiple Sentinel instances that are monitoring multiple Redis servers and replicas.
RethinkDB
The RethinkDB input plugin works with RethinkDB 2.3.5+ databases that requires username, password authorization, and Handshake protocol v1.0.
Riak
The Riak input plugin gathers metrics from one or more Riak instances.
Riemann Listener
The Riemann Listener input plugin listens for messages Riemann clients using Riemann-Protobuff format.
AMD ROCm System Management Interface (SMI)
The AMD ROCm System Management Interface plugin pulls statistics from AMD GPUs including memory, usage, and temperature.
Salesforce
The Salesforce input plugin gathers metrics about the limits in your Salesforce organization and the remaining usage. It fetches its data from the limits endpoint of the Salesforce REST API.
Sensors
The Sensors input plugin collects collects sensor metrics with the sensors
executable from the lm-sensor
package.
SFlow
The SFlow input plugin provides support for acting as an SFlow V5 collector in accordance with the sflow.org specification.
Siemens S7 Comm
This plugin gathers information from Siemens PLC (Programmatic Logic Controller).
Slab
This plugin collects details on how much memory each entry in Slab cache is consuming.
SLURM
This plugin gather diag, jobs, nodes, partitions and reservation metrics by leveraging SLURM’s REST API as provided by the slurmrestd daemon
S.M.A.R.T.
The SMART input plugin gets metrics using the command line utility smartctl
for SMART (Self-Monitoring, Analysis and Reporting Technology) storage devices.
SMART is a monitoring system included in computer hard disk drives (HDDs)
and solid-state drives (SSDs), which include most modern ATA/SATA, SCSI/SAS and NVMe disks.
The plugin detects and reports on various indicators of drive reliability,
with the intent of enabling the anticipation of hardware failures.
See smartmontools.
smartctl
The SMART input plugin gets metrics using the command line utility smartctl
for SMART (Self-Monitoring, Analysis and Reporting Technology) storage devices.
This plugin parses and uses the JSON output from smartctl
. This is only
available in newer versions of the tool.
SNMP
The SNMP input plugin gathers metrics from SNMP agents.
SNMP Trap
The SNMP Trap plugin receives SNMP notifications (traps and inform requests). Notifications are received over UDP on a configurable port. Resolve OIDs to strings using system MIB files (just like with the SNMP input plugin).
Socket Listener
The Socket Listener input plugin listens for messages from streaming (TCP, UNIX) or datagram (UDP, unixgram) protocols. Messages are expected in the Telegraf Input Data Formats.
Socketstat
The Socketstat input plugin gathers indicators from established socket connections.
SQL
The SQL plugin reads and ingests SQL data from a variety of SQL databases into InfluxDB.
Stackdriver
The Stackdriver input plugin gathers metrics from the Stackdriver Monitoring API.
This plugin accesses APIs that are chargeable. You may incur costs.
StatsD
The StatsD input plugin is a special type of plugin which runs a backgrounded
statsd
listener service while Telegraf is running.
StatsD messages are formatted as described in the original
etsy statsd implementation.
Supervisor
The supervisor input gathers information about processes that running under supervisor using XML-RPC API.
Suricata
The Suricata input plugin reports internal performance counters of the Suricata IDS/IPS engine, such as captured traffic volume, memory usage, uptime, flow counters, and more. It provides a socket for the Suricata log output to write JSON output to and processes the incoming data to fit Telegraf’s format.
Swap
Supports: Linux only.
The Swap input plugin gathers metrics about swap memory usage. For more information about Linux swap spaces, see All about Linux swap space
Synproxy
The Synproxy plugin gathers synproxy metrics. Synproxy is a Linux netfilter module used for SYN attack mitigation.
Syslog
The Syslog input plugin listens for syslog messages transmitted over UDP or TCP. Syslog messages should be formatted according to RFC 5424.
Sysstat
The Sysstat input plugin collects sysstat
system metrics with the sysstat collector utility sadc
and parses the created
binary data file with the sadf
utility.
System
The System input plugin gathers general stats on system load, uptime, and
number of users logged in. It is basically equivalent to the UNIX uptime
command.
Systemd Units
The Systemd Units plugin gathers systemd unit status metrics on Linux.
It relies on systemctl list-units --all --type=service
to collect data on service status.
Results are tagged with the unit name and provide enumerated fields for loaded, active, and running fields, indicating the unit health.
This plugin can gather other unit types as well.
See systemctl list-units --all --type help
for possible options.
This plugin is related to the Windows Services input plugin, which fulfills the same purpose on Windows.
Tacacs
Tacacs plugin collects successful tacacs authentication response times.
Tail
The Tail input plugin “tails” a log file and parses each log message.
Teamspeak 3
The Teamspeak 3 input plugin uses the Teamspeak 3 ServerQuery interface of the Teamspeak server to collect statistics of one or more virtual servers.
Telegraf v1.x
The Telegraf v1.x input plugin collects metrics about the Telegraf v1.x agent itself. Note that some metrics are aggregates across all instances of one type of plugin.
Temp
The Temp input plugin collects temperature data from sensors.
Tengine Web Server
The Tengine Web Server input plugin gathers status metrics from the Tengine Web Server using the Reqstat module.
Trig
The Trig input plugin inserts sine and cosine waves for demonstration purposes.
Twemproxy
The Twemproxy input plugin gathers data from Twemproxy instances, processes Twemproxy server statistics, processes pool data, and processes backend server (Redis/Memcached) statistics.
Unbound
The Unbound input plugin gathers statistics from Unbound, a validating, recursive, and caching DNS resolver.
UPSD
The UPSD input plugin reads data of one or more Uninterruptible Power Supplies from an upsd daemon using its NUT network protocol.
uWSGI
The uWSGI input plugin gathers metrics about uWSGI using the uWSGI Stats Server.
Varnish
The Varnish input plugin gathers stats from Varnish HTTP Cache.
VMware vSphere
The VMware vSphere input plugin uses the vSphere API to gather metrics from multiple vCenter servers (clusters, hosts, VMs, and data stores). For more information on the available performance metrics, see Common vSphere Performance Metrics
Webhooks
The Webhooks input plugin starts an HTTPS server and registers multiple webhook listeners.
Available webhooks
Add new webhooks
If you need a webhook that is not supported, consider adding a new webhook
Windows Performance Counters
The Windows Performance Counters input plugin reads Performance Counters on the Windows operating system. Windows only.
Windows Eventlog
The Windows Eventlog input plugin reports Windows event logging. Windows Vista and later only.
Windows Services
The Windows Services input plugin reports Windows services info. Windows only.
Windows Management Instrumentation
Queries Windows Management Instrumentation (WMI) classes.
Wireless
The Wireless input plugin gathers metrics about wireless link quality by
reading the /proc/net/wireless
file. This plugin currently supports Linux only.
Wireguard
The Wireguard input plugin collects statistics on the local Wireguard server using the wgctrl
library.
Reports gauge metrics for Wireguard interface device(s) and its peers.
X.509 Certificate
The X.509 Certificate input plugin provides information about X.509 certificate accessible using the local file or network connection.
x509crl
ExternalThis plugin provides information about X509 CRL (Certificate Revocation Lists) accessible via a file.
XtremIO
The Xtremio plugin gathers metrics from Dell EMC XtremIO Storage Array.
YouTube
ExternalThe YouTube input plugin gathers information from YouTube channels, including views, subscribers, and videos.
ZFS
Supports: FreeBSD, Linux
The ZFS input plugin provides metrics from your ZFS filesystems.
It supports ZFS on Linux and FreeBSD.
It gets ZFS statistics from /proc/spl/kstat/zfs
on Linux and from sysctl
and zpool
on FreeBSD.
Output plugins
Telegraf processor plugins write metrics to various destinations.
Amazon CloudWatch
The Amazon CloudWatch output plugin send metrics to Amazon CloudWatch.
Amazon CloudWatch logs
This output plugin sends logs to Amazon CloudWatch.
Amazon Kinesis
The Amazon Kinesis output plugin is an experimental plugin that is still
in the early stages of development. It will batch up all of the points into
one PUT
request to Kinesis. This should save the number of API requests
by a considerable level.
AWS Timestream
The Timestream output plugin writes metrics to the Amazon Timestream service.
Amon
The Amon output plugin writes metrics to an Amon server.
For details on the Amon Agent, see Monitoring Agent
and requires a apikey
and amoninstance
URL.
If the point value being sent cannot be converted to a float64 value, the metric is skipped.
Metrics are grouped by converting any _
characters to .
in the Point Name.
AMQP
The AMQP output plugin writes to an AMQP 0-9-1 exchange, a prominent implementation of the Advanced Message Queuing Protocol (AMQP) protocol being RabbitMQ.
Metrics are written to a topic exchange using tag
, defined in configuration
file as RoutingTag
, as a routing key.
Apache Kafka
The Apache Kafka output plugin writes to a Kafka Broker acting a Kafka Producer.
Azure Data Explorer
The Azure Data Explorer output plugin writes metrics to Azure Data Explorer.
Azure Event Hubs
The Azure Data Explorer output plugin writes metrics to a single Azure Event Hub within an Event Hubs namespace.
BigQuery
The BigQuery output plugin writes to Google Cloud’s BigQuery.
CrateDB
The CrateDB output plugin writes to CrateDB, a real-time SQL database for machine data and IoT, using its PostgreSQL protocol.
Clarify
Write data to Clarify
Datadog
The Datadog output plugin writes to the Datadog Metrics API
and requires an apikey
which can be obtained here
for the account.
Discard
The Discard output plugin simply drops all metrics that are sent to it. It is only meant to be used for testing purposes.
Elasticsearch
The Elasticsearch output plugin writes to Elasticsearch via HTTP using Elastic. It supports Elasticsearch releases from 5.x up to 7.x.
Exec
The Exec output plugin sends Telegraf metrics to an external application over stdin
.
Execd
The Execd output plugin runs an external program as a daemon.
File
The File output plugin writes Telegraf metrics to files.
Google Cloud PubSub
The Google PubSub output plugin publishes metrics to a Google Cloud PubSub topic as one of the supported output data formats.
Graylog
The Graylog output plugin writes to a Graylog instance using the gelf
format.
GroundWork
The GroundWork output plugin writes to a GroundWork Monitor instance.
HTTP
The HTTP output plugin sends metrics in a HTTP message encoded using one of the output data formats.
For data_formats
that support batching, metrics are sent in batch format.
Health
The health plugin provides a HTTP health check resource that can be configured to return a failure status code based on the value of a metric. When the plugin is healthy it will return a 200 response; when unhealthy it will return a 503 response. The default state is healthy, one or more checks must fail in order for the resource to enter the failed state.
InfluxDB v1.x
The InfluxDB v1.x output plugin writes to InfluxDB using HTTP or UDP.
InfluxDB v2
The InfluxDB v2 output plugin writes metrics to InfluxDB 2.x OSS or Cloud.
Instrumental
The Instrumental output plugin writes to the Instrumental Collector API and requires a Project-specific API token.
Instrumental accepts stats in a format very close to Graphite, with the only
difference being that the type of stat (gauge, increment) is the first token,
separated from the metric itself by whitespace. The increment type is only used
if the metric comes in as a counter through [[inputs.statsd]]
.
IoTDB
This output plugin saves Telegraf metrics to an Apache IoTDB backend, supporting session connection and data insertion.
Librato
The Librato output plugin writes to the Librato Metrics API
and requires an api_user
and api_token
which can be obtained
here for the account.
Logz.io
The Logz.io output plugin sends metrics to Logz.io over HTTPs.
Microsoft Azure Application Insights
The Microsoft Azure Application Insights output plugin writes Telegraf metrics to Application Insights (Microsoft Azure).
Microsoft Azure Monitor
The Azure Monitor custom metrics service is currently in preview and not available in a subset of Azure regions.
The Microsoft Azure Monitor output plugin sends custom metrics to Microsoft Azure Monitor. Azure Monitor has a metric resolution of one minute. To handle this in Telegraf, the Azure Monitor output plugin automatically aggregates metrics into one minute buckets, which are then sent to Azure Monitor on every flush interval.
For a Microsoft blog posting on using Telegraf with Microsoft Azure Monitor, see Collect custom metrics for a Linux VM with the InfluxData Telegraf Agent.
The metrics from each input plugin will be written to a separate Azure Monitor namespace,
prefixed with Telegraf/
by default. The field name for each metric is written
as the Azure Monitor metric name. All field values are written as a summarized set
that includes min
, max
, sum
, and count
. Tags are written as a dimension
on each Azure Monitor metric.
MongoDB
The MongoDB output plugin writes to MongoDB and automatically creates the collections as time series collections when they don’t already exist.
MQTT Producer
The MQTT Producer output plugin writes to the MQTT server using supported output data formats.
NATS Output
The NATS Output output plugin writes to a (list of) specified NATS instance(s).
Nebius Cloud Monitoring
Send aggregated metrics to Nebius.Cloud Monitoring
New Relic
The New Relic output plugin writes to New Relic insights using the Metric API.
NSQ
The NSQ output plugin writes to a specified NSQD instance, usually local to the producer. It requires a server name and a topic name.
OpenSearch
The OpenSearch plugin writes metrics via HTTP to OpenSearch instances.
OpenTelemetry
The OpenTelemetry plugin sends metrics to OpenTelemetry servers and agents via gRPC.
OpenTSDB
The OpenTSDB output plugin writes to an OpenTSDB instance using either the telnet or HTTP mode.
Using the HTTP API is the recommended way of writing metrics since OpenTSDB 2.0.
To use HTTP mode, set useHttp
to true in config. You can also control how many
metrics are sent in each HTTP request by setting batchSize
in config.
See the OpenTSDB documentation for details.
Parquet
This plugin writes metrics to parquet files. By default, it groups metrics by name, and then writes each group to a separate file. If a metric schema doesn’t match, the metrics are dropped.
Postgre SQL
The Postgre SQL output plugin writes metrics to PostgreSQL (or compatible database).
Prometheus Client
The Prometheus Client output plugin starts a Prometheus Client,
it exposes all metrics on /metrics
(default) to be polled by a Prometheus server.
Redis time series
The Redis time series output plugin writes metrics to the RedisTimeSeries server.
Remote file
This plugin writes telegraf metrics to files in remote locations using the rclone library. Multiple backends such as Amazon S3 or SFTP are supported.
Socket Writer
The Socket Writer output plugin writes to a UDP, TCP, or UNIX socket. It can output data in any of the supported output formats.
Stackdriver
The Stackdriver output plugin writes to the Google Cloud Stackdriver API and requires Google Cloud authentication with Google Cloud using either a service account or user credentials. For details on pricing, see the Stackdriver documentation.
Requires project
to specify where Stackdriver metrics will be delivered to.
Metrics are grouped by the namespace
variable and metric key, for example
custom.googleapis.com/telegraf/system/load5
.
Stomp (ActiveMQ)
The Stomp (ActiveMQ) output plugin writes to an ActiveMQ Broker for STOMP.
SQL
The SQL output plugin saves Telegraf metric data to an SQL database.
Sumo Logic
This plugin sends metrics to Sumo Logic HTTP Source in HTTP messages using one of the following supported data formats
graphite
- for Content-Type ofapplication/vnd.sumologic.graphite
carbon2
- for Content-Type ofapplication/vnd.sumologic.carbon2
prometheus
- for Content-Type ofapplication/vnd.sumologic.prometheus
Syslog
The syslog output plugin sends syslog messages transmitted over UDP or TCP or TLS, with or without the octet counting framing. Syslog messages are formatted according to RFC 5424.
Warp10
The Warp10 output plugin writes metrics to SenX Warp 10.
Wavefront
The Wavefront output plugin writes to a Wavefront proxy, in Wavefront data format over TCP.
Websocket
The Websocket output plugin can write to a WebSocket endpoint.
Yandex Cloud Monitoring
The Yandex Cloud Monitoring output plugin sends custom metrics to Yandex Cloud Monitoring.
Zabbix
This plugin send metrics to Zabbix via traps. It has been tested with versions 3.0, 4.0 and 6.0. It should work with newer versions as long as Zabbix does not change the protocol.
Aggregator plugins
Telegraf aggregator plugins create aggregate metrics (for example, mean, min, max, quantiles, etc.)
BasicStats
The BasicStats aggregator plugin gives count
, max
, min
, mean
, s2
(variance),
and stdev
for a set of values, emitting the aggregate every period seconds.
Derivative
The derivative aggregator plugin estimates the derivative for all fields of the aggregated metrics.
Final
The final aggregator emits the last metric of a contiguous series. A contiguous series is defined as a series which receives updates within the time period in series_timeout. The contiguous series may be longer than the time interval defined by period. This is useful for getting the final value for data sources that produce discrete time series, such as procstat, cgroup, kubernetes, etc.
Histogram
The Histogram aggregator plugin creates histograms containing the counts of field values within a range.
Values added to a bucket are also added to the larger buckets in the distribution. This creates a cumulative histogram.
Like other Telegraf aggregator plugins, the metric is emitted every period seconds. Bucket counts, however, are not reset between periods and will be non-strictly increasing while Telegraf is running.
Merge
The Merge aggregator plugin merges metrics together and generates line protocol with multiple fields per line. This optimizes memory and network transfer efficiency. Use this plugin when fields are split over multiple lines of line protocol with the same measurement, tag set, and timestamp on each.
MinMax
The MinMax aggregator plugin aggregates min
and max
values of each field it sees,
emitting the aggregate every period seconds.
Quantile
The quantile aggregator plugin aggregates specified quantiles for each numeric field per metric it sees and emits the quantiles every designated period
.
Starlark
The Starlark aggregator plugin allows a user to implement a custom aggregator plugin with a Starlark script.
ValueCounter
The ValueCounter aggregator plugin counts the occurrence of values in fields and emits the count at regular intervals of ‘period’ seconds. This plugin exclusively operates on fields and doesn’t affect tags.
To count specific fields, configure them using the fields configuration directive.
If no fields are specified, the plugin won’t count any fields.
The results are emitted in fields, formatted as originalfieldname_fieldvalue = count
.
ValueCounter only works on fields of the type int
, bool
, or string
.
Float fields are being dropped to prevent the creating of too many fields.
Processor plugins
Telegraf output plugins transform, decorate, and filter metrics.
AWS EC2 Metadata
The AWS EC2 Metadata processor plugin appends metadata gathered from AWS IMDS to metrics associated with EC2 instances.
Converter
The Converter processor plugin is used to change the type of tag or field values. In addition to changing field types, it can convert between fields and tags. Values that cannot be converted are dropped.
Clone
The Clone processor plugin creates a copy of each metric to preserve the original metric and allow modifications in the copied metric.
Date
The Date processor plugin adds the metric timestamp as a human readable tag.
Dedup
The Dedup processor plugin filters metrics whose field values are exact repetitions of the previous values.
Defaults
The Defaults processor plugin allows you to ensure certain fields will always exist with a specified default value on your metrics.
Enum
The Enum processor plugin allows the configuration of value mappings for metric fields.
The main use case for this is to rewrite status codes such as red
, amber
, and green
by numeric values such as 0
, 1
, 2
. The plugin supports string and bool types for the field values.
Multiple Fields can be configured with separate value mappings for each field.
Default mapping values can be configured to be used for all values, which are
not contained in the value_mappings.
The processor supports explicit configuration of a destination field.
By default the source field is overwritten.
Execd
The execd
processor plugin executes an external program as a separate process. It pipes metrics into the process’s STDIN and reads processed metrics from its STDOUT.
Filepath
The filepath
processor plugin maps certain Go functions from path/filepath onto tag and field values.
Filter
The filter
processor allows to specify a set of rules for metrics with the ability to keep or drop those metrics.
GeoIP
ExternalThe GeoIP processor plugin looks up IP addresses in the MaxMind GeoLite2 database and adds the respective ISO country code, city name, latitude and longitude.
Lookup
Reads specific files and apply a table of annotations to metrics.
Network Interface Name
The Network Interface Name processor plugin looks up network interface names using SNMP.
Noise
The noise processor plugin is used to add noise to numerical field values. This helps users to add some noise to sensitive data by anonymizing it and further prevent linkage attacks.
Override
The Override processor plugin allows overriding all modifications that are supported by input plugins and aggregator plugins:
name_override
name_prefix
name_suffix
- tags
All metrics passing through this processor will be modified accordingly. Select the metrics to modify using the standard measurement filtering options.
Values of name_override
, name_prefix
, name_suffix
, and already present
tags with conflicting keys will be overwritten. Absent tags will be created.
Use case of this plugin encompass ensuring certain tags or naming conventions
are adhered to irrespective of input plugin configurations, e.g., by taginclude
.
Parser
The Parser processor plugin parses defined fields containing the specified data format and creates new metrics based on the contents of the field.
Pivot
The Pivot processor plugin rotates single-valued metrics into a multi-field metric. This transformation often results in data that is easier to use with mathematical operators and comparisons. It also flattens data into a more compact representation for write operations with some output data formats.
To perform the reverse operation, use the Unpivot processor.
Port Name Lookup
The Port Name Lookup processor plugin converts a tag containing a well-known port number to the registered service name.
Printer
The Printer processor plugin simply prints every metric passing through it.
Regex
The Regex processor plugin transforms tag and field values using a regular expression (regex) pattern.
If result_key
parameter is present, it can produce new tags and fields from existing ones.
Rename
The Rename processor plugin renames InfluxDB measurements, fields, and tags.
Reverse DNS
The Reverse DNS processor plugin processor does a reverse-dns lookup on tags (or fields) with IPs in them.
S2 Geo
The S2 Geo processor plugin adds tags with an S2 cell ID token of a specified cell level.
Tags are used in Flux experimental/geo
functions.
Specify lat
and lon
field values with WGS-84 coordinates in decimal degrees.
Scale
Processor to scale values from a specified range into another range
SNMP lookup
Processor to look-up extra tags using SNMP
Split
Split a metric into one or more metrics with the specified field(s)/tag(s)
Starlark
The Starlark processor plugin calls a Starlark function for each matched metric, allowing for custom programmatic metric processing.
Strings
The Strings processor plugin maps certain Go string functions onto InfluxDB measurement, tag, and field values. Values can be modified in place or stored in another key.
Implemented functions are:
lowercase
uppercase
trim
trim_left
trim_right
trim_prefix
trim_suffix
Note that in this implementation these are processed in the order that they appear above.
You can specify the measurement
, tag
or field
that you want processed in each
section and optionally a dest
if you want the result stored in a new tag or field.
You can specify lots of transformations on data with a single strings processor.
Tag Limit
The Tag Limit processor plugin preserves only a certain number of tags for any given metric and chooses the tags to preserve when the number of tags appended by the data source is over the limit.
This can be useful when dealing with output systems (e.g. Stackdriver) that impose hard limits on the number of tags or labels per metric or where high levels of cardinality are computationally or financially expensive.
Template
The Template processor plugin applies a Go template to metrics to generate a new tag. Primarily used to create a tag for dynamic routing to multiple output plugins or to an output specific routing option. The template has access to each metric’s measurement name, tags, fields, and timestamp using the interface in template_metric.go.
Timestamp
Generate a metric timestamp based on values in a metric field.
TopK
The TopK processor plugin is a filter designed to get the top series over a period of time.
It can be tweaked to do its top K
computation over a period of time, so spikes
can be smoothed out.
This processor goes through the following steps when processing a batch of metrics:
- Groups metrics in buckets using their tags and name as key.
- Aggregates each of the selected fields for each bucket by the selected aggregation function (sum, mean, etc.).
- Orders the buckets by one of the generated aggregations, returns all metrics in the top
K
buckets, then reorders the buckets by the next of the generated aggregations, returns all metrics in the topK
buckets, etc, etc, etc, until it runs out of fields.
The plugin makes sure not to duplicate metrics.
Note that depending on the amount of metrics on each computed bucket, more
than K
metrics may be returned.
Unpivot
The Unpivot processor plugin rotates a multi-field series into single-valued metrics. This transformation often results in data that is easier to aggregate across fields.
To perform the reverse operation, use the Pivot processor.
Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for Telegraf and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.