· 6 years ago · Feb 19, 2019, 03:06 PM
1# Telegraf Configuration
2#
3# Telegraf is entirely plugin driven. All metrics are gathered from the
4# declared inputs, and sent to the declared outputs.
5#
6# Plugins must be declared in here to be active.
7# To deactivate a plugin, comment out the name and any variables.
8#
9# Use 'telegraf -config telegraf.conf -test' to see what metrics a config
10# file would generate.
11#
12# Environment variables can be used anywhere in this config file, simply prepend
13# them with $. For strings the variable must be within quotes (ie, "$STR_VAR"),
14# for numbers and booleans they should be plain (ie, $INT_VAR, $BOOL_VAR)
15
16
17# Global tags can be specified here in key="value" format.
18[global_tags]
19 # dc = "us-east-1" # will tag all metrics with dc=us-east-1
20 # rack = "1a"
21 ## Environment variables can be used as tags, and throughout the config file
22 # user = "$USER"
23
24
25# Configuration for telegraf agent
26[agent]
27 ## Default data collection interval for all inputs
28 interval = "10s"
29 ## Rounds collection interval to 'interval'
30 ## ie, if interval="10s" then always collect on :00, :10, :20, etc.
31 round_interval = true
32
33 ## Telegraf will send metrics to outputs in batches of at most
34 ## metric_batch_size metrics.
35 ## This controls the size of writes that Telegraf sends to output plugins.
36 metric_batch_size = 1000
37
38 ## For failed writes, telegraf will cache metric_buffer_limit metrics for each
39 ## output, and will flush this buffer on a successful write. Oldest metrics
40 ## are dropped first when this buffer fills.
41 ## This buffer only fills when writes fail to output plugin(s).
42 metric_buffer_limit = 10000
43
44 ## Collection jitter is used to jitter the collection by a random amount.
45 ## Each plugin will sleep for a random time within jitter before collecting.
46 ## This can be used to avoid many plugins querying things like sysfs at the
47 ## same time, which can have a measurable effect on the system.
48 collection_jitter = "0s"
49
50 ## Default flushing interval for all outputs. Maximum flush_interval will be
51 ## flush_interval + flush_jitter
52 flush_interval = "10s"
53 ## Jitter the flush interval by a random amount. This is primarily to avoid
54 ## large write spikes for users running a large number of telegraf instances.
55 ## ie, a jitter of 5s and interval 10s means flushes will happen every 10-15s
56 flush_jitter = "0s"
57
58 ## By default or when set to "0s", precision will be set to the same
59 ## timestamp order as the collection interval, with the maximum being 1s.
60 ## ie, when interval = "10s", precision will be "1s"
61 ## when interval = "250ms", precision will be "1ms"
62 ## Precision will NOT be used for service inputs. It is up to each individual
63 ## service input to set the timestamp at the appropriate precision.
64 ## Valid time units are "ns", "us" (or "µs"), "ms", "s".
65 precision = ""
66
67 ## Logging configuration:
68 ## Run telegraf with debug log messages.
69 debug = false
70 ## Run telegraf in quiet mode (error log messages only).
71 quiet = false
72 ## Specify the log file name. The empty string means to log to stderr.
73 logfile = ""
74
75 ## Override default hostname, if empty use os.Hostname()
76 hostname = ""
77 ## If set to true, do no set the "host" tag in the telegraf agent.
78 omit_hostname = false
79
80
81###############################################################################
82# OUTPUT PLUGINS #
83###############################################################################
84
85# Configuration for sending metrics to InfluxDB
86[[outputs.influxdb]]
87 ## The full HTTP or UDP URL for your InfluxDB instance.
88 ##
89 ## Multiple URLs can be specified for a single cluster, only ONE of the
90 ## urls will be written to each interval.
91 # urls = ["unix:///var/run/influxdb.sock"]
92 # urls = ["udp://127.0.0.1:8089"]
93 # urls = ["http://127.0.0.1:8086"]
94 url = "http://skynet:8086
95 ## The target database for metrics; will be created as needed.
96 database = "telegraf"
97
98 ## If true, no CREATE DATABASE queries will be sent. Set to true when using
99 ## Telegraf with a user without permissions to create databases or when the
100 ## database already exists.
101 skip_database_creation = false
102
103 ## Name of existing retention policy to write to. Empty string writes to
104 ## the default retention policy. Only takes effect when using HTTP.
105 # retention_policy = ""
106
107 ## Write consistency (clusters only), can be: "any", "one", "quorum", "all".
108 ## Only takes effect when using HTTP.
109 # write_consistency = "any"
110
111 ## Timeout for HTTP messages.
112 # timeout = "5s"
113
114 ## HTTP Basic Auth
115 # username = "telegraf"
116 # password = "metricsmetricsmetricsmetrics"
117
118 ## HTTP User-Agent
119 # user_agent = "telegraf"
120
121 ## UDP payload size is the maximum packet size to send.
122 # udp_payload = "512B"
123
124 ## Optional TLS Config for use on HTTP connections.
125 # tls_ca = "/etc/telegraf/ca.pem"
126 # tls_cert = "/etc/telegraf/cert.pem"
127 # tls_key = "/etc/telegraf/key.pem"
128 ## Use TLS but skip chain & host verification
129 # insecure_skip_verify = false
130
131 ## HTTP Proxy override, if unset values the standard proxy environment
132 ## variables are consulted to determine which proxy, if any, should be used.
133 # http_proxy = "http://corporate.proxy:3128"
134
135 ## Additional HTTP headers
136 # http_headers = {"X-Special-Header" = "Special-Value"}
137
138 ## HTTP Content-Encoding for write request body, can be set to "gzip" to
139 ## compress body or "identity" to apply no encoding.
140 # content_encoding = "identity"
141
142 ## When true, Telegraf will output unsigned integers as unsigned values,
143 ## i.e.: "42u". You will need a version of InfluxDB supporting unsigned
144 ## integer values. Enabling this option will result in field type errors if
145 ## existing data has been written.
146 # influx_uint_support = false
147
148
149# # Configuration for Amon Server to send metrics to.
150# [[outputs.amon]]
151# ## Amon Server Key
152# server_key = "my-server-key" # required.
153#
154# ## Amon Instance URL
155# amon_instance = "https://youramoninstance" # required
156#
157# ## Connection timeout.
158# # timeout = "5s"
159
160
161# # Publishes metrics to an AMQP broker
162# [[outputs.amqp]]
163# ## Broker to publish to.
164# ## deprecated in 1.7; use the brokers option
165# # url = "amqp://localhost:5672/influxdb"
166#
167# ## Brokers to publish to. If multiple brokers are specified a random broker
168# ## will be selected anytime a connection is established. This can be
169# ## helpful for load balancing when not using a dedicated load balancer.
170# brokers = ["amqp://localhost:5672/influxdb"]
171#
172# ## Maximum messages to send over a connection. Once this is reached, the
173# ## connection is closed and a new connection is made. This can be helpful for
174# ## load balancing when not using a dedicated load balancer.
175# # max_messages = 0
176#
177# ## Exchange to declare and publish to.
178# exchange = "telegraf"
179#
180# ## Exchange type; common types are "direct", "fanout", "topic", "header", "x-consistent-hash".
181# # exchange_type = "topic"
182#
183# ## If true, exchange will be passively declared.
184# # exchange_declare_passive = false
185#
186# ## Exchange durability can be either "transient" or "durable".
187# # exchange_durability = "durable"
188#
189# ## Additional exchange arguments.
190# # exchange_arguments = { }
191# # exchange_arguments = {"hash_propery" = "timestamp"}
192#
193# ## Authentication credentials for the PLAIN auth_method.
194# # username = ""
195# # password = ""
196#
197# ## Auth method. PLAIN and EXTERNAL are supported
198# ## Using EXTERNAL requires enabling the rabbitmq_auth_mechanism_ssl plugin as
199# ## described here: https://www.rabbitmq.com/plugins.html
200# # auth_method = "PLAIN"
201#
202# ## Metric tag to use as a routing key.
203# ## ie, if this tag exists, its value will be used as the routing key
204# # routing_tag = "host"
205#
206# ## Static routing key. Used when no routing_tag is set or as a fallback
207# ## when the tag specified in routing tag is not found.
208# # routing_key = ""
209# # routing_key = "telegraf"
210#
211# ## Delivery Mode controls if a published message is persistent.
212# ## One of "transient" or "persistent".
213# # delivery_mode = "transient"
214#
215# ## InfluxDB database added as a message header.
216# ## deprecated in 1.7; use the headers option
217# # database = "telegraf"
218#
219# ## InfluxDB retention policy added as a message header
220# ## deprecated in 1.7; use the headers option
221# # retention_policy = "default"
222#
223# ## Static headers added to each published message.
224# # headers = { }
225# # headers = {"database" = "telegraf", "retention_policy" = "default"}
226#
227# ## Connection timeout. If not provided, will default to 5s. 0s means no
228# ## timeout (not recommended).
229# # timeout = "5s"
230#
231# ## Optional TLS Config
232# # tls_ca = "/etc/telegraf/ca.pem"
233# # tls_cert = "/etc/telegraf/cert.pem"
234# # tls_key = "/etc/telegraf/key.pem"
235# ## Use TLS but skip chain & host verification
236# # insecure_skip_verify = false
237#
238# ## If true use batch serialization format instead of line based delimiting.
239# ## Only applies to data formats which are not line based such as JSON.
240# ## Recommended to set to true.
241# # use_batch_format = false
242#
243# ## Data format to output.
244# ## Each data format has its own unique set of configuration options, read
245# ## more about them here:
246# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
247# # data_format = "influx"
248
249
250# # Send metrics to Azure Application Insights
251# [[outputs.application_insights]]
252# ## Instrumentation key of the Application Insights resource.
253# instrumentation_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx"
254#
255# ## Timeout for closing (default: 5s).
256# # timeout = "5s"
257#
258# ## Enable additional diagnostic logging.
259# # enable_diagnostic_logging = false
260#
261# ## Context Tag Sources add Application Insights context tags to a tag value.
262# ##
263# ## For list of allowed context tag keys see:
264# ## https://github.com/Microsoft/ApplicationInsights-Go/blob/master/appinsights/contracts/contexttagkeys.go
265# # [outputs.application_insights.context_tag_sources]
266# # "ai.cloud.role" = "kubernetes_container_name"
267# # "ai.cloud.roleInstance" = "kubernetes_pod_name"
268
269
270# # Send aggregate metrics to Azure Monitor
271# [[outputs.azure_monitor]]
272# ## Timeout for HTTP writes.
273# # timeout = "20s"
274#
275# ## Set the namespace prefix, defaults to "Telegraf/<input-name>".
276# # namespace_prefix = "Telegraf/"
277#
278# ## Azure Monitor doesn't have a string value type, so convert string
279# ## fields to dimensions (a.k.a. tags) if enabled. Azure Monitor allows
280# ## a maximum of 10 dimensions so Telegraf will only send the first 10
281# ## alphanumeric dimensions.
282# # strings_as_dimensions = false
283#
284# ## Both region and resource_id must be set or be available via the
285# ## Instance Metadata service on Azure Virtual Machines.
286# #
287# ## Azure Region to publish metrics against.
288# ## ex: region = "southcentralus"
289# # region = ""
290# #
291# ## The Azure Resource ID against which metric will be logged, e.g.
292# ## ex: resource_id = "/subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.Compute/virtualMachines/<vm_name>"
293# # resource_id = ""
294
295
296# # Configuration for AWS CloudWatch output.
297# [[outputs.cloudwatch]]
298# ## Amazon REGION
299# region = "us-east-1"
300#
301# ## Amazon Credentials
302# ## Credentials are loaded in the following order
303# ## 1) Assumed credentials via STS if role_arn is specified
304# ## 2) explicit credentials from 'access_key' and 'secret_key'
305# ## 3) shared profile from 'profile'
306# ## 4) environment variables
307# ## 5) shared credentials file
308# ## 6) EC2 Instance Profile
309# #access_key = ""
310# #secret_key = ""
311# #token = ""
312# #role_arn = ""
313# #profile = ""
314# #shared_credential_file = ""
315#
316# ## Endpoint to make request against, the correct endpoint is automatically
317# ## determined and this option should only be set if you wish to override the
318# ## default.
319# ## ex: endpoint_url = "http://localhost:8000"
320# # endpoint_url = ""
321#
322# ## Namespace for the CloudWatch MetricDatums
323# namespace = "InfluxData/Telegraf"
324#
325# ## If you have a large amount of metrics, you should consider to send statistic
326# ## values instead of raw metrics which could not only improve performance but
327# ## also save AWS API cost. If enable this flag, this plugin would parse the required
328# ## CloudWatch statistic fields (count, min, max, and sum) and send them to CloudWatch.
329# ## You could use basicstats aggregator to calculate those fields. If not all statistic
330# ## fields are available, all fields would still be sent as raw metrics.
331# # write_statistics = false
332
333
334# # Configuration for CrateDB to send metrics to.
335# [[outputs.cratedb]]
336# # A github.com/jackc/pgx connection string.
337# # See https://godoc.org/github.com/jackc/pgx#ParseDSN
338# url = "postgres://user:password@localhost/schema?sslmode=disable"
339# # Timeout for all CrateDB queries.
340# timeout = "5s"
341# # Name of the table to store metrics in.
342# table = "metrics"
343# # If true, and the metrics table does not exist, create it automatically.
344# table_create = true
345
346
347# # Configuration for DataDog API to send metrics to.
348# [[outputs.datadog]]
349# ## Datadog API key
350# apikey = "my-secret-key" # required.
351#
352# # The base endpoint URL can optionally be specified but it defaults to:
353# #url = "https://app.datadoghq.com/api/v1/series"
354#
355# ## Connection timeout.
356# # timeout = "5s"
357
358
359# # Send metrics to nowhere at all
360# [[outputs.discard]]
361# # no configuration
362
363
364# # Configuration for Elasticsearch to send metrics to.
365# [[outputs.elasticsearch]]
366# ## The full HTTP endpoint URL for your Elasticsearch instance
367# ## Multiple urls can be specified as part of the same cluster,
368# ## this means that only ONE of the urls will be written to each interval.
369# urls = [ "http://node1.es.example.com:9200" ] # required.
370# ## Elasticsearch client timeout, defaults to "5s" if not set.
371# timeout = "5s"
372# ## Set to true to ask Elasticsearch a list of all cluster nodes,
373# ## thus it is not necessary to list all nodes in the urls config option.
374# enable_sniffer = false
375# ## Set the interval to check if the Elasticsearch nodes are available
376# ## Setting to "0s" will disable the health check (not recommended in production)
377# health_check_interval = "10s"
378# ## HTTP basic authentication details (eg. when using Shield)
379# # username = "telegraf"
380# # password = "mypassword"
381#
382# ## Index Config
383# ## The target index for metrics (Elasticsearch will create if it not exists).
384# ## You can use the date specifiers below to create indexes per time frame.
385# ## The metric timestamp will be used to decide the destination index name
386# # %Y - year (2016)
387# # %y - last two digits of year (00..99)
388# # %m - month (01..12)
389# # %d - day of month (e.g., 01)
390# # %H - hour (00..23)
391# # %V - week of the year (ISO week) (01..53)
392# ## Additionally, you can specify a tag name using the notation {{tag_name}}
393# ## which will be used as part of the index name. If the tag does not exist,
394# ## the default tag value will be used.
395# # index_name = "telegraf-{{host}}-%Y.%m.%d"
396# # default_tag_value = "none"
397# index_name = "telegraf-%Y.%m.%d" # required.
398#
399# ## Optional TLS Config
400# # tls_ca = "/etc/telegraf/ca.pem"
401# # tls_cert = "/etc/telegraf/cert.pem"
402# # tls_key = "/etc/telegraf/key.pem"
403# ## Use TLS but skip chain & host verification
404# # insecure_skip_verify = false
405#
406# ## Template Config
407# ## Set to true if you want telegraf to manage its index template.
408# ## If enabled it will create a recommended index template for telegraf indexes
409# manage_template = true
410# ## The template name used for telegraf indexes
411# template_name = "telegraf"
412# ## Set to true if you want telegraf to overwrite an existing template
413# overwrite_template = false
414
415
416# # Send telegraf metrics to file(s)
417# [[outputs.file]]
418# ## Files to write to, "stdout" is a specially handled file.
419# files = ["stdout", "/tmp/metrics.out"]
420#
421# ## Data format to output.
422# ## Each data format has its own unique set of configuration options, read
423# ## more about them here:
424# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
425# data_format = "influx"
426
427
428# # Configuration for Graphite server to send metrics to
429# [[outputs.graphite]]
430# ## TCP endpoint for your graphite instance.
431# ## If multiple endpoints are configured, output will be load balanced.
432# ## Only one of the endpoints will be written to with each iteration.
433# servers = ["localhost:2003"]
434# ## Prefix metrics name
435# prefix = ""
436# ## Graphite output template
437# ## see https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
438# template = "host.tags.measurement.field"
439#
440# ## Enable Graphite tags support
441# # graphite_tag_support = false
442#
443# ## timeout in seconds for the write connection to graphite
444# timeout = 2
445#
446# ## Optional TLS Config
447# # tls_ca = "/etc/telegraf/ca.pem"
448# # tls_cert = "/etc/telegraf/cert.pem"
449# # tls_key = "/etc/telegraf/key.pem"
450# ## Use TLS but skip chain & host verification
451# # insecure_skip_verify = false
452
453
454# # Send telegraf metrics to graylog(s)
455# [[outputs.graylog]]
456# ## UDP endpoint for your graylog instance.
457# servers = ["127.0.0.1:12201", "192.168.1.1:12201"]
458
459
460# # A plugin that can transmit metrics over HTTP
461# [[outputs.http]]
462# ## URL is the address to send metrics to
463# url = "http://127.0.0.1:8080/metric"
464#
465# ## Timeout for HTTP message
466# # timeout = "5s"
467#
468# ## HTTP method, one of: "POST" or "PUT"
469# # method = "POST"
470#
471# ## HTTP Basic Auth credentials
472# # username = "username"
473# # password = "pa$$word"
474#
475# ## OAuth2 Client Credentials Grant
476# # client_id = "clientid"
477# # client_secret = "secret"
478# # token_url = "https://indentityprovider/oauth2/v1/token"
479# # scopes = ["urn:opc:idm:__myscopes__"]
480#
481# ## Optional TLS Config
482# # tls_ca = "/etc/telegraf/ca.pem"
483# # tls_cert = "/etc/telegraf/cert.pem"
484# # tls_key = "/etc/telegraf/key.pem"
485# ## Use TLS but skip chain & host verification
486# # insecure_skip_verify = false
487#
488# ## Data format to output.
489# ## Each data format has it's own unique set of configuration options, read
490# ## more about them here:
491# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
492# # data_format = "influx"
493#
494# ## Additional HTTP headers
495# # [outputs.http.headers]
496# # # Should be set manually to "application/json" for json data_format
497# # Content-Type = "text/plain; charset=utf-8"
498#
499# ## HTTP Content-Encoding for write request body, can be set to "gzip" to
500# ## compress body or "identity" to apply no encoding.
501# # content_encoding = "identity"
502
503
504# # Configuration for sending metrics to InfluxDB
505# [[outputs.influxdb_v2]]
506# ## The URLs of the InfluxDB cluster nodes.
507# ##
508# ## Multiple URLs can be specified for a single cluster, only ONE of the
509# ## urls will be written to each interval.
510# urls = ["http://127.0.0.1:9999"]
511#
512# ## Token for authentication.
513# token = ""
514#
515# ## Organization is the name of the organization you wish to write to; must exist.
516# organization = ""
517#
518# ## Destination bucket to write into.
519# bucket = ""
520#
521# ## Timeout for HTTP messages.
522# # timeout = "5s"
523#
524# ## Additional HTTP headers
525# # http_headers = {"X-Special-Header" = "Special-Value"}
526#
527# ## HTTP Proxy override, if unset values the standard proxy environment
528# ## variables are consulted to determine which proxy, if any, should be used.
529# # http_proxy = "http://corporate.proxy:3128"
530#
531# ## HTTP User-Agent
532# # user_agent = "telegraf"
533#
534# ## Content-Encoding for write request body, can be set to "gzip" to
535# ## compress body or "identity" to apply no encoding.
536# # content_encoding = "gzip"
537#
538# ## Enable or disable uint support for writing uints influxdb 2.0.
539# # influx_uint_support = false
540#
541# ## Optional TLS Config for use on HTTP connections.
542# # tls_ca = "/etc/telegraf/ca.pem"
543# # tls_cert = "/etc/telegraf/cert.pem"
544# # tls_key = "/etc/telegraf/key.pem"
545# ## Use TLS but skip chain & host verification
546# # insecure_skip_verify = false
547
548
549# # Configuration for sending metrics to an Instrumental project
550# [[outputs.instrumental]]
551# ## Project API Token (required)
552# api_token = "API Token" # required
553# ## Prefix the metrics with a given name
554# prefix = ""
555# ## Stats output template (Graphite formatting)
556# ## see https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md#graphite
557# template = "host.tags.measurement.field"
558# ## Timeout in seconds to connect
559# timeout = "2s"
560# ## Display Communcation to Instrumental
561# debug = false
562
563
564# # Configuration for the Kafka server to send metrics to
565# [[outputs.kafka]]
566# ## URLs of kafka brokers
567# brokers = ["localhost:9092"]
568# ## Kafka topic for producer messages
569# topic = "telegraf"
570#
571# ## Optional Client id
572# # client_id = "Telegraf"
573#
574# ## Set the minimal supported Kafka version. Setting this enables the use of new
575# ## Kafka features and APIs. Of particular interest, lz4 compression
576# ## requires at least version 0.10.0.0.
577# ## ex: version = "1.1.0"
578# # version = ""
579#
580# ## Optional topic suffix configuration.
581# ## If the section is omitted, no suffix is used.
582# ## Following topic suffix methods are supported:
583# ## measurement - suffix equals to separator + measurement's name
584# ## tags - suffix equals to separator + specified tags' values
585# ## interleaved with separator
586#
587# ## Suffix equals to "_" + measurement name
588# # [outputs.kafka.topic_suffix]
589# # method = "measurement"
590# # separator = "_"
591#
592# ## Suffix equals to "__" + measurement's "foo" tag value.
593# ## If there's no such a tag, suffix equals to an empty string
594# # [outputs.kafka.topic_suffix]
595# # method = "tags"
596# # keys = ["foo"]
597# # separator = "__"
598#
599# ## Suffix equals to "_" + measurement's "foo" and "bar"
600# ## tag values, separated by "_". If there is no such tags,
601# ## their values treated as empty strings.
602# # [outputs.kafka.topic_suffix]
603# # method = "tags"
604# # keys = ["foo", "bar"]
605# # separator = "_"
606#
607# ## Telegraf tag to use as a routing key
608# ## ie, if this tag exists, its value will be used as the routing key
609# routing_tag = "host"
610#
611# ## Static routing key. Used when no routing_tag is set or as a fallback
612# ## when the tag specified in routing tag is not found. If set to "random",
613# ## a random value will be generated for each message.
614# ## ex: routing_key = "random"
615# ## routing_key = "telegraf"
616# # routing_key = ""
617#
618# ## CompressionCodec represents the various compression codecs recognized by
619# ## Kafka in messages.
620# ## 0 : No compression
621# ## 1 : Gzip compression
622# ## 2 : Snappy compression
623# ## 3 : LZ4 compression
624# # compression_codec = 0
625#
626# ## RequiredAcks is used in Produce Requests to tell the broker how many
627# ## replica acknowledgements it must see before responding
628# ## 0 : the producer never waits for an acknowledgement from the broker.
629# ## This option provides the lowest latency but the weakest durability
630# ## guarantees (some data will be lost when a server fails).
631# ## 1 : the producer gets an acknowledgement after the leader replica has
632# ## received the data. This option provides better durability as the
633# ## client waits until the server acknowledges the request as successful
634# ## (only messages that were written to the now-dead leader but not yet
635# ## replicated will be lost).
636# ## -1: the producer gets an acknowledgement after all in-sync replicas have
637# ## received the data. This option provides the best durability, we
638# ## guarantee that no messages will be lost as long as at least one in
639# ## sync replica remains.
640# # required_acks = -1
641#
642# ## The maximum number of times to retry sending a metric before failing
643# ## until the next flush.
644# # max_retry = 3
645#
646# ## The maximum permitted size of a message. Should be set equal to or
647# ## smaller than the broker's 'message.max.bytes'.
648# # max_message_bytes = 1000000
649#
650# ## Optional TLS Config
651# # tls_ca = "/etc/telegraf/ca.pem"
652# # tls_cert = "/etc/telegraf/cert.pem"
653# # tls_key = "/etc/telegraf/key.pem"
654# ## Use TLS but skip chain & host verification
655# # insecure_skip_verify = false
656#
657# ## Optional SASL Config
658# # sasl_username = "kafka"
659# # sasl_password = "secret"
660#
661# ## Data format to output.
662# ## Each data format has its own unique set of configuration options, read
663# ## more about them here:
664# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
665# # data_format = "influx"
666
667
668# # Configuration for the AWS Kinesis output.
669# [[outputs.kinesis]]
670# ## Amazon REGION of kinesis endpoint.
671# region = "ap-southeast-2"
672#
673# ## Amazon Credentials
674# ## Credentials are loaded in the following order
675# ## 1) Assumed credentials via STS if role_arn is specified
676# ## 2) explicit credentials from 'access_key' and 'secret_key'
677# ## 3) shared profile from 'profile'
678# ## 4) environment variables
679# ## 5) shared credentials file
680# ## 6) EC2 Instance Profile
681# #access_key = ""
682# #secret_key = ""
683# #token = ""
684# #role_arn = ""
685# #profile = ""
686# #shared_credential_file = ""
687#
688# ## Endpoint to make request against, the correct endpoint is automatically
689# ## determined and this option should only be set if you wish to override the
690# ## default.
691# ## ex: endpoint_url = "http://localhost:8000"
692# # endpoint_url = ""
693#
694# ## Kinesis StreamName must exist prior to starting telegraf.
695# streamname = "StreamName"
696# ## DEPRECATED: PartitionKey as used for sharding data.
697# partitionkey = "PartitionKey"
698# ## DEPRECATED: If set the paritionKey will be a random UUID on every put.
699# ## This allows for scaling across multiple shards in a stream.
700# ## This will cause issues with ordering.
701# use_random_partitionkey = false
702# ## The partition key can be calculated using one of several methods:
703# ##
704# ## Use a static value for all writes:
705# # [outputs.kinesis.partition]
706# # method = "static"
707# # key = "howdy"
708# #
709# ## Use a random partition key on each write:
710# # [outputs.kinesis.partition]
711# # method = "random"
712# #
713# ## Use the measurement name as the partition key:
714# # [outputs.kinesis.partition]
715# # method = "measurement"
716# #
717# ## Use the value of a tag for all writes, if the tag is not set the empty
718# ## default option will be used. When no default, defaults to "telegraf"
719# # [outputs.kinesis.partition]
720# # method = "tag"
721# # key = "host"
722# # default = "mykey"
723#
724#
725# ## Data format to output.
726# ## Each data format has its own unique set of configuration options, read
727# ## more about them here:
728# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
729# data_format = "influx"
730#
731# ## debug will show upstream aws messages.
732# debug = false
733
734
735# # Configuration for Librato API to send metrics to.
736# [[outputs.librato]]
737# ## Librator API Docs
738# ## http://dev.librato.com/v1/metrics-authentication
739# ## Librato API user
740# api_user = "telegraf@influxdb.com" # required.
741# ## Librato API token
742# api_token = "my-secret-token" # required.
743# ## Debug
744# # debug = false
745# ## Connection timeout.
746# # timeout = "5s"
747# ## Output source Template (same as graphite buckets)
748# ## see https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md#graphite
749# ## This template is used in librato's source (not metric's name)
750# template = "host"
751#
752
753
754# # Configuration for MQTT server to send metrics to
755# [[outputs.mqtt]]
756# servers = ["localhost:1883"] # required.
757#
758# ## MQTT outputs send metrics to this topic format
759# ## "<topic_prefix>/<hostname>/<pluginname>/"
760# ## ex: prefix/web01.example.com/mem
761# topic_prefix = "telegraf"
762#
763# ## QoS policy for messages
764# ## 0 = at most once
765# ## 1 = at least once
766# ## 2 = exactly once
767# # qos = 2
768#
769# ## username and password to connect MQTT server.
770# # username = "telegraf"
771# # password = "metricsmetricsmetricsmetrics"
772#
773# ## client ID, if not set a random ID is generated
774# # client_id = ""
775#
776# ## Timeout for write operations. default: 5s
777# # timeout = "5s"
778#
779# ## Optional TLS Config
780# # tls_ca = "/etc/telegraf/ca.pem"
781# # tls_cert = "/etc/telegraf/cert.pem"
782# # tls_key = "/etc/telegraf/key.pem"
783# ## Use TLS but skip chain & host verification
784# # insecure_skip_verify = false
785#
786# ## When true, metrics will be sent in one MQTT message per flush. Otherwise,
787# ## metrics are written one metric per MQTT message.
788# # batch = false
789#
790# ## Data format to output.
791# ## Each data format has its own unique set of configuration options, read
792# ## more about them here:
793# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
794# data_format = "influx"
795
796
797# # Send telegraf measurements to NATS
798# [[outputs.nats]]
799# ## URLs of NATS servers
800# servers = ["nats://localhost:4222"]
801# ## Optional credentials
802# # username = ""
803# # password = ""
804# ## NATS subject for producer messages
805# subject = "telegraf"
806#
807# ## Optional TLS Config
808# # tls_ca = "/etc/telegraf/ca.pem"
809# # tls_cert = "/etc/telegraf/cert.pem"
810# # tls_key = "/etc/telegraf/key.pem"
811# ## Use TLS but skip chain & host verification
812# # insecure_skip_verify = false
813#
814# ## Data format to output.
815# ## Each data format has its own unique set of configuration options, read
816# ## more about them here:
817# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
818# data_format = "influx"
819
820
821# # Send telegraf measurements to NSQD
822# [[outputs.nsq]]
823# ## Location of nsqd instance listening on TCP
824# server = "localhost:4150"
825# ## NSQ topic for producer messages
826# topic = "telegraf"
827#
828# ## Data format to output.
829# ## Each data format has its own unique set of configuration options, read
830# ## more about them here:
831# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
832# data_format = "influx"
833
834
835# # Configuration for OpenTSDB server to send metrics to
836# [[outputs.opentsdb]]
837# ## prefix for metrics keys
838# prefix = "my.specific.prefix."
839#
840# ## DNS name of the OpenTSDB server
841# ## Using "opentsdb.example.com" or "tcp://opentsdb.example.com" will use the
842# ## telnet API. "http://opentsdb.example.com" will use the Http API.
843# host = "opentsdb.example.com"
844#
845# ## Port of the OpenTSDB server
846# port = 4242
847#
848# ## Number of data points to send to OpenTSDB in Http requests.
849# ## Not used with telnet API.
850# http_batch_size = 50
851#
852# ## URI Path for Http requests to OpenTSDB.
853# ## Used in cases where OpenTSDB is located behind a reverse proxy.
854# http_path = "/api/put"
855#
856# ## Debug true - Prints OpenTSDB communication
857# debug = false
858#
859# ## Separator separates measurement name from field
860# separator = "_"
861
862
863# # Configuration for the Prometheus client to spawn
864# [[outputs.prometheus_client]]
865# ## Address to listen on
866# listen = ":9273"
867#
868# ## Use HTTP Basic Authentication.
869# # basic_username = "Foo"
870# # basic_password = "Bar"
871#
872# ## If set, the IP Ranges which are allowed to access metrics.
873# ## ex: ip_range = ["192.168.0.0/24", "192.168.1.0/30"]
874# # ip_range = []
875#
876# ## Path to publish the metrics on.
877# # path = "/metrics"
878#
879# ## Expiration interval for each metric. 0 == no expiration
880# # expiration_interval = "60s"
881#
882# ## Collectors to enable, valid entries are "gocollector" and "process".
883# ## If unset, both are enabled.
884# # collectors_exclude = ["gocollector", "process"]
885#
886# ## Send string metrics as Prometheus labels.
887# ## Unless set to false all string metrics will be sent as labels.
888# # string_as_label = true
889#
890# ## If set, enable TLS with the given certificate.
891# # tls_cert = "/etc/ssl/telegraf.crt"
892# # tls_key = "/etc/ssl/telegraf.key"
893
894
895# # Configuration for the Riemann server to send metrics to
896# [[outputs.riemann]]
897# ## The full TCP or UDP URL of the Riemann server
898# url = "tcp://localhost:5555"
899#
900# ## Riemann event TTL, floating-point time in seconds.
901# ## Defines how long that an event is considered valid for in Riemann
902# # ttl = 30.0
903#
904# ## Separator to use between measurement and field name in Riemann service name
905# ## This does not have any effect if 'measurement_as_attribute' is set to 'true'
906# separator = "/"
907#
908# ## Set measurement name as Riemann attribute 'measurement', instead of prepending it to the Riemann service name
909# # measurement_as_attribute = false
910#
911# ## Send string metrics as Riemann event states.
912# ## Unless enabled all string metrics will be ignored
913# # string_as_state = false
914#
915# ## A list of tag keys whose values get sent as Riemann tags.
916# ## If empty, all Telegraf tag values will be sent as tags
917# # tag_keys = ["telegraf","custom_tag"]
918#
919# ## Additional Riemann tags to send.
920# # tags = ["telegraf-output"]
921#
922# ## Description for Riemann event
923# # description_text = "metrics collected from telegraf"
924#
925# ## Riemann client write timeout, defaults to "5s" if not set.
926# # timeout = "5s"
927
928
929# # Configuration for the Riemann server to send metrics to
930# [[outputs.riemann_legacy]]
931# ## URL of server
932# url = "localhost:5555"
933# ## transport protocol to use either tcp or udp
934# transport = "tcp"
935# ## separator to use between input name and field name in Riemann service name
936# separator = " "
937
938
939# # Generic socket writer capable of handling multiple socket types.
940# [[outputs.socket_writer]]
941# ## URL to connect to
942# # address = "tcp://127.0.0.1:8094"
943# # address = "tcp://example.com:http"
944# # address = "tcp4://127.0.0.1:8094"
945# # address = "tcp6://127.0.0.1:8094"
946# # address = "tcp6://[2001:db8::1]:8094"
947# # address = "udp://127.0.0.1:8094"
948# # address = "udp4://127.0.0.1:8094"
949# # address = "udp6://127.0.0.1:8094"
950# # address = "unix:///tmp/telegraf.sock"
951# # address = "unixgram:///tmp/telegraf.sock"
952#
953# ## Optional TLS Config
954# # tls_ca = "/etc/telegraf/ca.pem"
955# # tls_cert = "/etc/telegraf/cert.pem"
956# # tls_key = "/etc/telegraf/key.pem"
957# ## Use TLS but skip chain & host verification
958# # insecure_skip_verify = false
959#
960# ## Period between keep alive probes.
961# ## Only applies to TCP sockets.
962# ## 0 disables keep alive probes.
963# ## Defaults to the OS configuration.
964# # keep_alive_period = "5m"
965#
966# ## Data format to generate.
967# ## Each data format has its own unique set of configuration options, read
968# ## more about them here:
969# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
970# # data_format = "influx"
971
972
973# # Configuration for Google Cloud Stackdriver to send metrics to
974# [[outputs.stackdriver]]
975# # GCP Project
976# project = "erudite-bloom-151019"
977#
978# # The namespace for the metric descriptor
979# namespace = "telegraf"
980
981
982# # Configuration for Wavefront server to send metrics to
983# [[outputs.wavefront]]
984# ## DNS name of the wavefront proxy server
985# host = "wavefront.example.com"
986#
987# ## Port that the Wavefront proxy server listens on
988# port = 2878
989#
990# ## prefix for metrics keys
991# #prefix = "my.specific.prefix."
992#
993# ## whether to use "value" for name of simple fields
994# #simple_fields = false
995#
996# ## character to use between metric and field name. defaults to . (dot)
997# #metric_separator = "."
998#
999# ## Convert metric name paths to use metricSeperator character
1000# ## When true (default) will convert all _ (underscore) chartacters in final metric name
1001# #convert_paths = true
1002#
1003# ## Use Regex to sanitize metric and tag names from invalid characters
1004# ## Regex is more thorough, but significantly slower
1005# #use_regex = false
1006#
1007# ## point tags to use as the source name for Wavefront (if none found, host will be used)
1008# #source_override = ["hostname", "agent_host", "node_host"]
1009#
1010# ## whether to convert boolean values to numeric values, with false -> 0.0 and true -> 1.0. default true
1011# #convert_bool = true
1012#
1013# ## Define a mapping, namespaced by metric prefix, from string values to numeric values
1014# ## The example below maps "green" -> 1.0, "yellow" -> 0.5, "red" -> 0.0 for
1015# ## any metrics beginning with "elasticsearch"
1016# #[[outputs.wavefront.string_to_number.elasticsearch]]
1017# # green = 1.0
1018# # yellow = 0.5
1019# # red = 0.0
1020
1021
1022
1023###############################################################################
1024# PROCESSOR PLUGINS #
1025###############################################################################
1026
1027# # Convert values to another metric value type
1028# [[processors.converter]]
1029# ## Tags to convert
1030# ##
1031# ## The table key determines the target type, and the array of key-values
1032# ## select the keys to convert. The array may contain globs.
1033# ## <target-type> = [<tag-key>...]
1034# [processors.converter.tags]
1035# string = []
1036# integer = []
1037# unsigned = []
1038# boolean = []
1039# float = []
1040#
1041# ## Fields to convert
1042# ##
1043# ## The table key determines the target type, and the array of key-values
1044# ## select the keys to convert. The array may contain globs.
1045# ## <target-type> = [<field-key>...]
1046# [processors.converter.fields]
1047# tag = []
1048# string = []
1049# integer = []
1050# unsigned = []
1051# boolean = []
1052# float = []
1053
1054
1055# # Map enum values according to given table.
1056# [[processors.enum]]
1057# [[processors.enum.mapping]]
1058# ## Name of the field to map
1059# field = "status"
1060#
1061# ## Destination field to be used for the mapped value. By default the source
1062# ## field is used, overwriting the original value.
1063# # dest = "status_code"
1064#
1065# ## Default value to be used for all values not contained in the mapping
1066# ## table. When unset, the unmodified value for the field will be used if no
1067# ## match is found.
1068# # default = 0
1069#
1070# ## Table of mappings
1071# [processors.enum.mapping.value_mappings]
1072# green = 1
1073# yellow = 2
1074# red = 3
1075
1076
1077# # Apply metric modifications using override semantics.
1078# [[processors.override]]
1079# ## All modifications on inputs and aggregators can be overridden:
1080# # name_override = "new_name"
1081# # name_prefix = "new_name_prefix"
1082# # name_suffix = "new_name_suffix"
1083#
1084# ## Tags to be added (all values must be strings)
1085# # [processors.override.tags]
1086# # additional_tag = "tag_value"
1087
1088
1089# # Parse a value in a specified field/tag(s) and add the result in a new metric
1090# [[processors.parser]]
1091# ## The name of the fields whose value will be parsed.
1092# parse_fields = []
1093#
1094# ## If true, incoming metrics are not emitted.
1095# drop_original = false
1096#
1097# ## If set to override, emitted metrics will be merged by overriding the
1098# ## original metric using the newly parsed metrics.
1099# merge = "override"
1100#
1101# ## The dataformat to be read from files
1102# ## Each data format has its own unique set of configuration options, read
1103# ## more about them here:
1104# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
1105# data_format = "influx"
1106
1107
1108# # Print all metrics that pass through this filter.
1109# [[processors.printer]]
1110
1111
1112# # Transforms tag and field values with regex pattern
1113# [[processors.regex]]
1114# ## Tag and field conversions defined in a separate sub-tables
1115# # [[processors.regex.tags]]
1116# # ## Tag to change
1117# # key = "resp_code"
1118# # ## Regular expression to match on a tag value
1119# # pattern = "^(\\d)\\d\\d$"
1120# # ## Pattern for constructing a new value (${1} represents first subgroup)
1121# # replacement = "${1}xx"
1122#
1123# # [[processors.regex.fields]]
1124# # key = "request"
1125# # ## All the power of the Go regular expressions available here
1126# # ## For example, named subgroups
1127# # pattern = "^/api(?P<method>/[\\w/]+)\\S*"
1128# # replacement = "${method}"
1129# # ## If result_key is present, a new field will be created
1130# # ## instead of changing existing field
1131# # result_key = "method"
1132#
1133# ## Multiple conversions may be applied for one field sequentially
1134# ## Let's extract one more value
1135# # [[processors.regex.fields]]
1136# # key = "request"
1137# # pattern = ".*category=(\\w+).*"
1138# # replacement = "${1}"
1139# # result_key = "search_category"
1140
1141
1142# # Rename measurements, tags, and fields that pass through this filter.
1143# [[processors.rename]]
1144
1145
1146# # Perform string processing on tags, fields, and measurements
1147# [[processors.strings]]
1148# ## Convert a tag value to uppercase
1149# # [[processors.strings.uppercase]]
1150# # tag = "method"
1151#
1152# ## Convert a field value to lowercase and store in a new field
1153# # [[processors.strings.lowercase]]
1154# # field = "uri_stem"
1155# # dest = "uri_stem_normalised"
1156#
1157# ## Trim leading and trailing whitespace using the default cutset
1158# # [[processors.strings.trim]]
1159# # field = "message"
1160#
1161# ## Trim leading characters in cutset
1162# # [[processors.strings.trim_left]]
1163# # field = "message"
1164# # cutset = "\t"
1165#
1166# ## Trim trailing characters in cutset
1167# # [[processors.strings.trim_right]]
1168# # field = "message"
1169# # cutset = "\r\n"
1170#
1171# ## Trim the given prefix from the field
1172# # [[processors.strings.trim_prefix]]
1173# # field = "my_value"
1174# # prefix = "my_"
1175#
1176# ## Trim the given suffix from the field
1177# # [[processors.strings.trim_suffix]]
1178# # field = "read_count"
1179# # suffix = "_count"
1180#
1181# ## Replace substrings within field names
1182# # [[processors.strings.trim_suffix]]
1183# # measurement = "*"
1184# # old = ":"
1185# # new = "_"
1186
1187
1188# # Print all metrics that pass through this filter.
1189# [[processors.topk]]
1190# ## How many seconds between aggregations
1191# # period = 10
1192#
1193# ## How many top metrics to return
1194# # k = 10
1195#
1196# ## Over which tags should the aggregation be done. Globs can be specified, in
1197# ## which case any tag matching the glob will aggregated over. If set to an
1198# ## empty list is no aggregation over tags is done
1199# # group_by = ['*']
1200#
1201# ## Over which fields are the top k are calculated
1202# # fields = ["value"]
1203#
1204# ## What aggregation to use. Options: sum, mean, min, max
1205# # aggregation = "mean"
1206#
1207# ## Instead of the top k largest metrics, return the bottom k lowest metrics
1208# # bottomk = false
1209#
1210# ## The plugin assigns each metric a GroupBy tag generated from its name and
1211# ## tags. If this setting is different than "" the plugin will add a
1212# ## tag (which name will be the value of this setting) to each metric with
1213# ## the value of the calculated GroupBy tag. Useful for debugging
1214# # add_groupby_tag = ""
1215#
1216# ## These settings provide a way to know the position of each metric in
1217# ## the top k. The 'add_rank_field' setting allows to specify for which
1218# ## fields the position is required. If the list is non empty, then a field
1219# ## will be added to each and every metric for each string present in this
1220# ## setting. This field will contain the ranking of the group that
1221# ## the metric belonged to when aggregated over that field.
1222# ## The name of the field will be set to the name of the aggregation field,
1223# ## suffixed with the string '_topk_rank'
1224# # add_rank_fields = []
1225#
1226# ## These settings provide a way to know what values the plugin is generating
1227# ## when aggregating metrics. The 'add_agregate_field' setting allows to
1228# ## specify for which fields the final aggregation value is required. If the
1229# ## list is non empty, then a field will be added to each every metric for
1230# ## each field present in this setting. This field will contain
1231# ## the computed aggregation for the group that the metric belonged to when
1232# ## aggregated over that field.
1233# ## The name of the field will be set to the name of the aggregation field,
1234# ## suffixed with the string '_topk_aggregate'
1235# # add_aggregate_fields = []
1236
1237
1238
1239###############################################################################
1240# AGGREGATOR PLUGINS #
1241###############################################################################
1242
1243# # Keep the aggregate basicstats of each metric passing through.
1244# [[aggregators.basicstats]]
1245# ## General Aggregator Arguments:
1246# ## The period on which to flush & clear the aggregator.
1247# period = "30s"
1248# ## If true, the original metric will be dropped by the
1249# ## aggregator and will not get sent to the output plugins.
1250# drop_original = false
1251
1252
1253# # Create aggregate histograms.
1254# [[aggregators.histogram]]
1255# ## The period in which to flush the aggregator.
1256# period = "30s"
1257#
1258# ## If true, the original metric will be dropped by the
1259# ## aggregator and will not get sent to the output plugins.
1260# drop_original = false
1261#
1262# ## Example config that aggregates all fields of the metric.
1263# # [[aggregators.histogram.config]]
1264# # ## The set of buckets.
1265# # buckets = [0.0, 15.6, 34.5, 49.1, 71.5, 80.5, 94.5, 100.0]
1266# # ## The name of metric.
1267# # measurement_name = "cpu"
1268#
1269# ## Example config that aggregates only specific fields of the metric.
1270# # [[aggregators.histogram.config]]
1271# # ## The set of buckets.
1272# # buckets = [0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0, 100.0]
1273# # ## The name of metric.
1274# # measurement_name = "diskio"
1275# # ## The concrete fields of metric
1276# # fields = ["io_time", "read_time", "write_time"]
1277
1278
1279# # Keep the aggregate min/max of each metric passing through.
1280# [[aggregators.minmax]]
1281# ## General Aggregator Arguments:
1282# ## The period on which to flush & clear the aggregator.
1283# period = "30s"
1284# ## If true, the original metric will be dropped by the
1285# ## aggregator and will not get sent to the output plugins.
1286# drop_original = false
1287
1288
1289# # Count the occurrence of values in fields.
1290# [[aggregators.valuecounter]]
1291# ## General Aggregator Arguments:
1292# ## The period on which to flush & clear the aggregator.
1293# period = "30s"
1294# ## If true, the original metric will be dropped by the
1295# ## aggregator and will not get sent to the output plugins.
1296# drop_original = false
1297# ## The fields for which the values will be counted
1298# fields = []
1299
1300
1301
1302###############################################################################
1303# INPUT PLUGINS #
1304###############################################################################
1305
1306# Read metrics about cpu usage
1307[[inputs.cpu]]
1308 ## Whether to report per-cpu stats or not
1309 percpu = true
1310 ## Whether to report total system cpu stats or not
1311 totalcpu = true
1312 ## If true, collect raw CPU time metrics.
1313 collect_cpu_time = false
1314 ## If true, compute and report the sum of all non-idle CPU states.
1315 report_active = false
1316
1317
1318# Read metrics about disk usage by mount point
1319[[inputs.disk]]
1320 ## By default stats will be gathered for all mount points.
1321 ## Set mount_points will restrict the stats to only the specified mount points.
1322 # mount_points = ["/"]
1323
1324 ## Ignore mount points by filesystem type.
1325 ignore_fs = ["tmpfs", "devtmpfs", "devfs", "overlay", "aufs", "squashfs"]
1326
1327
1328# Read metrics about disk IO by device
1329[[inputs.diskio]]
1330 ## By default, telegraf will gather stats for all devices including
1331 ## disk partitions.
1332 ## Setting devices will restrict the stats to the specified devices.
1333 # devices = ["sda", "sdb", "vd*"]
1334 ## Uncomment the following line if you need disk serial numbers.
1335 # skip_serial_number = false
1336 #
1337 ## On systems which support it, device metadata can be added in the form of
1338 ## tags.
1339 ## Currently only Linux is supported via udev properties. You can view
1340 ## available properties for a device by running:
1341 ## 'udevadm info -q property -n /dev/sda'
1342 # device_tags = ["ID_FS_TYPE", "ID_FS_USAGE"]
1343 #
1344 ## Using the same metadata source as device_tags, you can also customize the
1345 ## name of the device via templates.
1346 ## The 'name_templates' parameter is a list of templates to try and apply to
1347 ## the device. The template may contain variables in the form of '$PROPERTY' or
1348 ## '${PROPERTY}'. The first template which does not contain any variables not
1349 ## present for the device is used as the device name tag.
1350 ## The typical use case is for LVM volumes, to get the VG/LV name instead of
1351 ## the near-meaningless DM-0 name.
1352 # name_templates = ["$ID_FS_LABEL","$DM_VG_NAME/$DM_LV_NAME"]
1353
1354
1355# Get kernel statistics from /proc/stat
1356[[inputs.kernel]]
1357 # no configuration
1358
1359
1360# Read metrics about memory usage
1361[[inputs.mem]]
1362 # no configuration
1363
1364
1365# Get the number of processes and group them by status
1366[[inputs.processes]]
1367 # no configuration
1368
1369
1370# Read metrics about swap memory usage
1371[[inputs.swap]]
1372 # no configuration
1373
1374
1375# Read metrics about system load & uptime
1376[[inputs.system]]
1377 # no configuration
1378
1379
1380# # Gather ActiveMQ metrics
1381# [[inputs.activemq]]
1382# ## Required ActiveMQ Endpoint
1383# # server = "192.168.50.10"
1384#
1385# ## Required ActiveMQ port
1386# # port = 8161
1387#
1388# ## Credentials for basic HTTP authentication
1389# # username = "admin"
1390# # password = "admin"
1391#
1392# ## Required ActiveMQ webadmin root path
1393# # webadmin = "admin"
1394#
1395# ## Maximum time to receive response.
1396# # response_timeout = "5s"
1397#
1398# ## Optional TLS Config
1399# # tls_ca = "/etc/telegraf/ca.pem"
1400# # tls_cert = "/etc/telegraf/cert.pem"
1401# # tls_key = "/etc/telegraf/key.pem"
1402# ## Use TLS but skip chain & host verification
1403
1404
1405# # Read stats from aerospike server(s)
1406# [[inputs.aerospike]]
1407# ## Aerospike servers to connect to (with port)
1408# ## This plugin will query all namespaces the aerospike
1409# ## server has configured and get stats for them.
1410# servers = ["localhost:3000"]
1411#
1412# # username = "telegraf"
1413# # password = "pa$$word"
1414#
1415# ## Optional TLS Config
1416# # enable_tls = false
1417# # tls_ca = "/etc/telegraf/ca.pem"
1418# # tls_cert = "/etc/telegraf/cert.pem"
1419# # tls_key = "/etc/telegraf/key.pem"
1420# ## If false, skip chain & host verification
1421# # insecure_skip_verify = true
1422
1423
1424# # Read Apache status information (mod_status)
1425# [[inputs.apache]]
1426# ## An array of URLs to gather from, must be directed at the machine
1427# ## readable version of the mod_status page including the auto query string.
1428# ## Default is "http://localhost/server-status?auto".
1429# urls = ["http://localhost/server-status?auto"]
1430#
1431# ## Credentials for basic HTTP authentication.
1432# # username = "myuser"
1433# # password = "mypassword"
1434#
1435# ## Maximum time to receive response.
1436# # response_timeout = "5s"
1437#
1438# ## Optional TLS Config
1439# # tls_ca = "/etc/telegraf/ca.pem"
1440# # tls_cert = "/etc/telegraf/cert.pem"
1441# # tls_key = "/etc/telegraf/key.pem"
1442# ## Use TLS but skip chain & host verification
1443# # insecure_skip_verify = false
1444
1445
1446# # Gather metrics from Apache Aurora schedulers
1447# [[inputs.aurora]]
1448# ## Schedulers are the base addresses of your Aurora Schedulers
1449# schedulers = ["http://127.0.0.1:8081"]
1450#
1451# ## Set of role types to collect metrics from.
1452# ##
1453# ## The scheduler roles are checked each interval by contacting the
1454# ## scheduler nodes; zookeeper is not contacted.
1455# # roles = ["leader", "follower"]
1456#
1457# ## Timeout is the max time for total network operations.
1458# # timeout = "5s"
1459#
1460# ## Username and password are sent using HTTP Basic Auth.
1461# # username = "username"
1462# # password = "pa$$word"
1463#
1464# ## Optional TLS Config
1465# # tls_ca = "/etc/telegraf/ca.pem"
1466# # tls_cert = "/etc/telegraf/cert.pem"
1467# # tls_key = "/etc/telegraf/key.pem"
1468# ## Use TLS but skip chain & host verification
1469# # insecure_skip_verify = false
1470
1471
1472# # Read metrics of bcache from stats_total and dirty_data
1473# [[inputs.bcache]]
1474# ## Bcache sets path
1475# ## If not specified, then default is:
1476# bcachePath = "/sys/fs/bcache"
1477#
1478# ## By default, telegraf gather stats for all bcache devices
1479# ## Setting devices will restrict the stats to the specified
1480# ## bcache devices.
1481# bcacheDevs = ["bcache0"]
1482
1483
1484# # Collects Beanstalkd server and tubes stats
1485# [[inputs.beanstalkd]]
1486# ## Server to collect data from
1487# server = "localhost:11300"
1488#
1489# ## List of tubes to gather stats about.
1490# ## If no tubes specified then data gathered for each tube on server reported by list-tubes command
1491# tubes = ["notifications"]
1492
1493
1494# # Collect bond interface status, slaves statuses and failures count
1495# [[inputs.bond]]
1496# ## Sets 'proc' directory path
1497# ## If not specified, then default is /proc
1498# # host_proc = "/proc"
1499#
1500# ## By default, telegraf gather stats for all bond interfaces
1501# ## Setting interfaces will restrict the stats to the specified
1502# ## bond interfaces.
1503# # bond_interfaces = ["bond0"]
1504
1505
1506# # Collect Kafka topics and consumers status from Burrow HTTP API.
1507# [[inputs.burrow]]
1508# ## Burrow API endpoints in format "schema://host:port".
1509# ## Default is "http://localhost:8000".
1510# servers = ["http://localhost:8000"]
1511#
1512# ## Override Burrow API prefix.
1513# ## Useful when Burrow is behind reverse-proxy.
1514# # api_prefix = "/v3/kafka"
1515#
1516# ## Maximum time to receive response.
1517# # response_timeout = "5s"
1518#
1519# ## Limit per-server concurrent connections.
1520# ## Useful in case of large number of topics or consumer groups.
1521# # concurrent_connections = 20
1522#
1523# ## Filter clusters, default is no filtering.
1524# ## Values can be specified as glob patterns.
1525# # clusters_include = []
1526# # clusters_exclude = []
1527#
1528# ## Filter consumer groups, default is no filtering.
1529# ## Values can be specified as glob patterns.
1530# # groups_include = []
1531# # groups_exclude = []
1532#
1533# ## Filter topics, default is no filtering.
1534# ## Values can be specified as glob patterns.
1535# # topics_include = []
1536# # topics_exclude = []
1537#
1538# ## Credentials for basic HTTP authentication.
1539# # username = ""
1540# # password = ""
1541#
1542# ## Optional SSL config
1543# # ssl_ca = "/etc/telegraf/ca.pem"
1544# # ssl_cert = "/etc/telegraf/cert.pem"
1545# # ssl_key = "/etc/telegraf/key.pem"
1546# # insecure_skip_verify = false
1547
1548
1549# # Collects performance metrics from the MON and OSD nodes in a Ceph storage cluster.
1550# [[inputs.ceph]]
1551# ## This is the recommended interval to poll. Too frequent and you will lose
1552# ## data points due to timeouts during rebalancing and recovery
1553# interval = '1m'
1554#
1555# ## All configuration values are optional, defaults are shown below
1556#
1557# ## location of ceph binary
1558# ceph_binary = "/usr/bin/ceph"
1559#
1560# ## directory in which to look for socket files
1561# socket_dir = "/var/run/ceph"
1562#
1563# ## prefix of MON and OSD socket files, used to determine socket type
1564# mon_prefix = "ceph-mon"
1565# osd_prefix = "ceph-osd"
1566#
1567# ## suffix used to identify socket files
1568# socket_suffix = "asok"
1569#
1570# ## Ceph user to authenticate as
1571# ceph_user = "client.admin"
1572#
1573# ## Ceph configuration to use to locate the cluster
1574# ceph_config = "/etc/ceph/ceph.conf"
1575#
1576# ## Whether to gather statistics via the admin socket
1577# gather_admin_socket_stats = true
1578#
1579# ## Whether to gather statistics via ceph commands
1580# gather_cluster_stats = false
1581
1582
1583# # Read specific statistics per cgroup
1584# [[inputs.cgroup]]
1585# ## Directories in which to look for files, globs are supported.
1586# ## Consider restricting paths to the set of cgroups you really
1587# ## want to monitor if you have a large number of cgroups, to avoid
1588# ## any cardinality issues.
1589# # paths = [
1590# # "/cgroup/memory",
1591# # "/cgroup/memory/child1",
1592# # "/cgroup/memory/child2/*",
1593# # ]
1594# ## cgroup stat fields, as file names, globs are supported.
1595# ## these file names are appended to each path from above.
1596# # files = ["memory.*usage*", "memory.limit_in_bytes"]
1597
1598
1599# # Get standard chrony metrics, requires chronyc executable.
1600# [[inputs.chrony]]
1601# ## If true, chronyc tries to perform a DNS lookup for the time server.
1602# # dns_lookup = false
1603
1604
1605# # Pull Metric Statistics from Amazon CloudWatch
1606# [[inputs.cloudwatch]]
1607# ## Amazon Region
1608# region = "us-east-1"
1609#
1610# ## Amazon Credentials
1611# ## Credentials are loaded in the following order
1612# ## 1) Assumed credentials via STS if role_arn is specified
1613# ## 2) explicit credentials from 'access_key' and 'secret_key'
1614# ## 3) shared profile from 'profile'
1615# ## 4) environment variables
1616# ## 5) shared credentials file
1617# ## 6) EC2 Instance Profile
1618# #access_key = ""
1619# #secret_key = ""
1620# #token = ""
1621# #role_arn = ""
1622# #profile = ""
1623# #shared_credential_file = ""
1624#
1625# ## Endpoint to make request against, the correct endpoint is automatically
1626# ## determined and this option should only be set if you wish to override the
1627# ## default.
1628# ## ex: endpoint_url = "http://localhost:8000"
1629# # endpoint_url = ""
1630#
1631# # The minimum period for Cloudwatch metrics is 1 minute (60s). However not all
1632# # metrics are made available to the 1 minute period. Some are collected at
1633# # 3 minute, 5 minute, or larger intervals. See https://aws.amazon.com/cloudwatch/faqs/#monitoring.
1634# # Note that if a period is configured that is smaller than the minimum for a
1635# # particular metric, that metric will not be returned by the Cloudwatch API
1636# # and will not be collected by Telegraf.
1637# #
1638# ## Requested CloudWatch aggregation Period (required - must be a multiple of 60s)
1639# period = "5m"
1640#
1641# ## Collection Delay (required - must account for metrics availability via CloudWatch API)
1642# delay = "5m"
1643#
1644# ## Recommended: use metric 'interval' that is a multiple of 'period' to avoid
1645# ## gaps or overlap in pulled data
1646# interval = "5m"
1647#
1648# ## Configure the TTL for the internal cache of metrics.
1649# ## Defaults to 1 hr if not specified
1650# #cache_ttl = "10m"
1651#
1652# ## Metric Statistic Namespace (required)
1653# namespace = "AWS/ELB"
1654#
1655# ## Maximum requests per second. Note that the global default AWS rate limit is
1656# ## 400 reqs/sec, so if you define multiple namespaces, these should add up to a
1657# ## maximum of 400. Optional - default value is 200.
1658# ## See http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_limits.html
1659# ratelimit = 200
1660#
1661# ## Metrics to Pull (optional)
1662# ## Defaults to all Metrics in Namespace if nothing is provided
1663# ## Refreshes Namespace available metrics every 1h
1664# #[[inputs.cloudwatch.metrics]]
1665# # names = ["Latency", "RequestCount"]
1666# #
1667# # ## Dimension filters for Metric. These are optional however all dimensions
1668# # ## defined for the metric names must be specified in order to retrieve
1669# # ## the metric statistics.
1670# # [[inputs.cloudwatch.metrics.dimensions]]
1671# # name = "LoadBalancerName"
1672# # value = "p-example"
1673
1674
1675# # Collects conntrack stats from the configured directories and files.
1676# [[inputs.conntrack]]
1677# ## The following defaults would work with multiple versions of conntrack.
1678# ## Note the nf_ and ip_ filename prefixes are mutually exclusive across
1679# ## kernel versions, as are the directory locations.
1680#
1681# ## Superset of filenames to look for within the conntrack dirs.
1682# ## Missing files will be ignored.
1683# files = ["ip_conntrack_count","ip_conntrack_max",
1684# "nf_conntrack_count","nf_conntrack_max"]
1685#
1686# ## Directories to search within for the conntrack files above.
1687# ## Missing directrories will be ignored.
1688# dirs = ["/proc/sys/net/ipv4/netfilter","/proc/sys/net/netfilter"]
1689
1690
1691# # Gather health check statuses from services registered in Consul
1692# [[inputs.consul]]
1693# ## Consul server address
1694# # address = "localhost"
1695#
1696# ## URI scheme for the Consul server, one of "http", "https"
1697# # scheme = "http"
1698#
1699# ## ACL token used in every request
1700# # token = ""
1701#
1702# ## HTTP Basic Authentication username and password.
1703# # username = ""
1704# # password = ""
1705#
1706# ## Data centre to query the health checks from
1707# # datacentre = ""
1708#
1709# ## Optional TLS Config
1710# # tls_ca = "/etc/telegraf/ca.pem"
1711# # tls_cert = "/etc/telegraf/cert.pem"
1712# # tls_key = "/etc/telegraf/key.pem"
1713# ## Use TLS but skip chain & host verification
1714# # insecure_skip_verify = true
1715#
1716# ## Consul checks' tag splitting
1717# # When tags are formatted like "key:value" with ":" as a delimiter then
1718# # they will be splitted and reported as proper key:value in Telegraf
1719# # tag_delimiter = ":"
1720
1721
1722# # Read metrics from one or many couchbase clusters
1723# [[inputs.couchbase]]
1724# ## specify servers via a url matching:
1725# ## [protocol://][:password]@address[:port]
1726# ## e.g.
1727# ## http://couchbase-0.example.com/
1728# ## http://admin:secret@couchbase-0.example.com:8091/
1729# ##
1730# ## If no servers are specified, then localhost is used as the host.
1731# ## If no protocol is specified, HTTP is used.
1732# ## If no port is specified, 8091 is used.
1733# servers = ["http://localhost:8091"]
1734
1735
1736# # Read CouchDB Stats from one or more servers
1737# [[inputs.couchdb]]
1738# ## Works with CouchDB stats endpoints out of the box
1739# ## Multiple Hosts from which to read CouchDB stats:
1740# hosts = ["http://localhost:8086/_stats"]
1741
1742
1743# # Input plugin for DC/OS metrics
1744# [[inputs.dcos]]
1745# ## The DC/OS cluster URL.
1746# cluster_url = "https://dcos-ee-master-1"
1747#
1748# ## The ID of the service account.
1749# service_account_id = "telegraf"
1750# ## The private key file for the service account.
1751# service_account_private_key = "/etc/telegraf/telegraf-sa-key.pem"
1752#
1753# ## Path containing login token. If set, will read on every gather.
1754# # token_file = "/home/dcos/.dcos/token"
1755#
1756# ## In all filter options if both include and exclude are empty all items
1757# ## will be collected. Arrays may contain glob patterns.
1758# ##
1759# ## Node IDs to collect metrics from. If a node is excluded, no metrics will
1760# ## be collected for its containers or apps.
1761# # node_include = []
1762# # node_exclude = []
1763# ## Container IDs to collect container metrics from.
1764# # container_include = []
1765# # container_exclude = []
1766# ## Container IDs to collect app metrics from.
1767# # app_include = []
1768# # app_exclude = []
1769#
1770# ## Maximum concurrent connections to the cluster.
1771# # max_connections = 10
1772# ## Maximum time to receive a response from cluster.
1773# # response_timeout = "20s"
1774#
1775# ## Optional TLS Config
1776# # tls_ca = "/etc/telegraf/ca.pem"
1777# # tls_cert = "/etc/telegraf/cert.pem"
1778# # tls_key = "/etc/telegraf/key.pem"
1779# ## If false, skip chain & host verification
1780# # insecure_skip_verify = true
1781#
1782# ## Recommended filtering to reduce series cardinality.
1783# # [inputs.dcos.tagdrop]
1784# # path = ["/var/lib/mesos/slave/slaves/*"]
1785
1786
1787# # Read metrics from one or many disque servers
1788# [[inputs.disque]]
1789# ## An array of URI to gather stats about. Specify an ip or hostname
1790# ## with optional port and password.
1791# ## ie disque://localhost, disque://10.10.3.33:18832, 10.0.0.1:10000, etc.
1792# ## If no servers are specified, then localhost is used as the host.
1793# servers = ["localhost"]
1794
1795
1796# # Provide a native collection for dmsetup based statistics for dm-cache
1797# [[inputs.dmcache]]
1798# ## Whether to report per-device stats or not
1799# per_device = true
1800
1801
1802# # Query given DNS server and gives statistics
1803# [[inputs.dns_query]]
1804# ## servers to query
1805# servers = ["8.8.8.8"]
1806#
1807# ## Network is the network protocol name.
1808# # network = "udp"
1809#
1810# ## Domains or subdomains to query.
1811# # domains = ["."]
1812#
1813# ## Query record type.
1814# ## Posible values: A, AAAA, CNAME, MX, NS, PTR, TXT, SOA, SPF, SRV.
1815# # record_type = "A"
1816#
1817# ## Dns server port.
1818# # port = 53
1819#
1820# ## Query timeout in seconds.
1821# # timeout = 2
1822
1823
1824# # Read metrics about docker containers
1825 [[inputs.docker]]
1826# ## Docker Endpoint
1827# ## To use TCP, set endpoint = "tcp://[ip]:[port]"
1828# ## To use environment variables (ie, docker-machine), set endpoint = "ENV"
1829 endpoint = "unix:///var/run/docker.sock"
1830#
1831# ## Set to true to collect Swarm metrics(desired_replicas, running_replicas)
1832 gather_services = false
1833#
1834# ## Only collect metrics for these containers, collect all if empty
1835 container_names = []
1836#
1837# ## Containers to include and exclude. Globs accepted.
1838# ## Note that an empty array for both will include all containers
1839 container_name_include = []
1840 container_name_exclude = []
1841#
1842# ## Container states to include and exclude. Globs accepted.
1843# ## When empty only containers in the "running" state will be captured.
1844# # container_state_include = []
1845# # container_state_exclude = []
1846#
1847# ## Timeout for docker list, info, and stats commands
1848 timeout = "5s"
1849#
1850# ## Whether to report for each container per-device blkio (8:0, 8:1...) and
1851# ## network (eth0, eth1, ...) stats or not
1852 perdevice = true
1853# ## Whether to report for each container total blkio and network stats or not
1854 total = false
1855# ## Which environment variables should we use as a tag
1856 tag_env = ["JAVA_HOME", "HEAP_SIZE"]
1857#
1858# ## docker labels to include and exclude as tags. Globs accepted.
1859# ## Note that an empty array for both will include all labels as tags
1860 docker_label_include = []
1861 docker_label_exclude = []
1862#
1863# ## Optional TLS Config
1864# # tls_ca = "/etc/telegraf/ca.pem"
1865# # tls_cert = "/etc/telegraf/cert.pem"
1866# # tls_key = "/etc/telegraf/key.pem"
1867# ## Use TLS but skip chain & host verification
1868# # insecure_skip_verify = false
1869
1870
1871# # Read statistics from one or many dovecot servers
1872# [[inputs.dovecot]]
1873# ## specify dovecot servers via an address:port list
1874# ## e.g.
1875# ## localhost:24242
1876# ##
1877# ## If no servers are specified, then localhost is used as the host.
1878# servers = ["localhost:24242"]
1879# ## Type is one of "user", "domain", "ip", or "global"
1880# type = "global"
1881# ## Wildcard matches like "*.com". An empty string "" is same as "*"
1882# ## If type = "ip" filters should be <IP/network>
1883# filters = [""]
1884
1885
1886# # Read stats from one or more Elasticsearch servers or clusters
1887# [[inputs.elasticsearch]]
1888# ## specify a list of one or more Elasticsearch servers
1889# # you can add username and password to your url to use basic authentication:
1890# # servers = ["http://user:pass@localhost:9200"]
1891# servers = ["http://localhost:9200"]
1892#
1893# ## Timeout for HTTP requests to the elastic search server(s)
1894# http_timeout = "5s"
1895#
1896# ## When local is true (the default), the node will read only its own stats.
1897# ## Set local to false when you want to read the node stats from all nodes
1898# ## of the cluster.
1899# local = true
1900#
1901# ## Set cluster_health to true when you want to also obtain cluster health stats
1902# cluster_health = false
1903#
1904# ## Adjust cluster_health_level when you want to also obtain detailed health stats
1905# ## The options are
1906# ## - indices (default)
1907# ## - cluster
1908# # cluster_health_level = "indices"
1909#
1910# ## Set cluster_stats to true when you want to also obtain cluster stats from the
1911# ## Master node.
1912# cluster_stats = false
1913#
1914# ## node_stats is a list of sub-stats that you want to have gathered. Valid options
1915# ## are "indices", "os", "process", "jvm", "thread_pool", "fs", "transport", "http",
1916# ## "breaker". Per default, all stats are gathered.
1917# # node_stats = ["jvm", "http"]
1918#
1919# ## Optional TLS Config
1920# # tls_ca = "/etc/telegraf/ca.pem"
1921# # tls_cert = "/etc/telegraf/cert.pem"
1922# # tls_key = "/etc/telegraf/key.pem"
1923# ## Use TLS but skip chain & host verification
1924# # insecure_skip_verify = false
1925
1926
1927# # Read metrics from one or more commands that can output to stdout
1928# [[inputs.exec]]
1929# ## Commands array
1930# commands = [
1931# "/tmp/test.sh",
1932# "/usr/bin/mycollector --foo=bar",
1933# "/tmp/collect_*.sh"
1934# ]
1935#
1936# ## Timeout for each command to complete.
1937# timeout = "5s"
1938#
1939# ## measurement name suffix (for separating different commands)
1940# name_suffix = "_mycollector"
1941#
1942# ## Data format to consume.
1943# ## Each data format has its own unique set of configuration options, read
1944# ## more about them here:
1945# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
1946# data_format = "influx"
1947
1948
1949# # Read metrics from fail2ban.
1950# [[inputs.fail2ban]]
1951# ## Use sudo to run fail2ban-client
1952# use_sudo = false
1953
1954
1955# # Read devices value(s) from a Fibaro controller
1956# [[inputs.fibaro]]
1957# ## Required Fibaro controller address/hostname.
1958# ## Note: at the time of writing this plugin, Fibaro only implemented http - no https available
1959# url = "http://<controller>:80"
1960#
1961# ## Required credentials to access the API (http://<controller/api/<component>)
1962# username = "<username>"
1963# password = "<password>"
1964#
1965# ## Amount of time allowed to complete the HTTP request
1966# # timeout = "5s"
1967
1968
1969# # Reload and gather from file[s] on telegraf's interval.
1970# [[inputs.file]]
1971# ## Files to parse each interval.
1972# ## These accept standard unix glob matching rules, but with the addition of
1973# ## ** as a "super asterisk". ie:
1974# ## /var/log/**.log -> recursively find all .log files in /var/log
1975# ## /var/log/*/*.log -> find all .log files with a parent dir in /var/log
1976# ## /var/log/apache.log -> only read the apache log file
1977# files = ["/var/log/apache/access.log"]
1978#
1979# ## The dataformat to be read from files
1980# ## Each data format has its own unique set of configuration options, read
1981# ## more about them here:
1982# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
1983# data_format = "influx"
1984
1985
1986# # Count files in a directory
1987# [[inputs.filecount]]
1988# ## Directory to gather stats about.
1989# ## deprecated in 1.9; use the directories option
1990# directory = "/var/cache/apt/archives"
1991#
1992# ## Directories to gather stats about.
1993# ## This accept standard unit glob matching rules, but with the addition of
1994# ## ** as a "super asterisk". ie:
1995# ## /var/log/** -> recursively find all directories in /var/log and count files in each directories
1996# ## /var/log/*/* -> find all directories with a parent dir in /var/log and count files in each directories
1997# ## /var/log -> count all files in /var/log and all of its subdirectories
1998# directories = ["/var/cache/apt/archives"]
1999#
2000# ## Only count files that match the name pattern. Defaults to "*".
2001# name = "*.deb"
2002#
2003# ## Count files in subdirectories. Defaults to true.
2004# recursive = false
2005#
2006# ## Only count regular files. Defaults to true.
2007# regular_only = true
2008#
2009# ## Only count files that are at least this size. If size is
2010# ## a negative number, only count files that are smaller than the
2011# ## absolute value of size. Acceptable units are B, KiB, MiB, KB, ...
2012# ## Without quotes and units, interpreted as size in bytes.
2013# size = "0B"
2014#
2015# ## Only count files that have not been touched for at least this
2016# ## duration. If mtime is negative, only count files that have been
2017# ## touched in this duration. Defaults to "0s".
2018# mtime = "0s"
2019
2020
2021# # Read stats about given file(s)
2022# [[inputs.filestat]]
2023# ## Files to gather stats about.
2024# ## These accept standard unix glob matching rules, but with the addition of
2025# ## ** as a "super asterisk". ie:
2026# ## "/var/log/**.log" -> recursively find all .log files in /var/log
2027# ## "/var/log/*/*.log" -> find all .log files with a parent dir in /var/log
2028# ## "/var/log/apache.log" -> just tail the apache log file
2029# ##
2030# ## See https://github.com/gobwas/glob for more examples
2031# ##
2032# files = ["/var/log/**.log"]
2033# ## If true, read the entire file and calculate an md5 checksum.
2034# md5 = false
2035
2036
2037# # Read metrics exposed by fluentd in_monitor plugin
2038# [[inputs.fluentd]]
2039# ## This plugin reads information exposed by fluentd (using /api/plugins.json endpoint).
2040# ##
2041# ## Endpoint:
2042# ## - only one URI is allowed
2043# ## - https is not supported
2044# endpoint = "http://localhost:24220/api/plugins.json"
2045#
2046# ## Define which plugins have to be excluded (based on "type" field - e.g. monitor_agent)
2047# exclude = [
2048# "monitor_agent",
2049# "dummy",
2050# ]
2051
2052
2053# # Read flattened metrics from one or more GrayLog HTTP endpoints
2054# [[inputs.graylog]]
2055# ## API endpoint, currently supported API:
2056# ##
2057# ## - multiple (Ex http://<host>:12900/system/metrics/multiple)
2058# ## - namespace (Ex http://<host>:12900/system/metrics/namespace/{namespace})
2059# ##
2060# ## For namespace endpoint, the metrics array will be ignored for that call.
2061# ## Endpoint can contain namespace and multiple type calls.
2062# ##
2063# ## Please check http://[graylog-server-ip]:12900/api-browser for full list
2064# ## of endpoints
2065# servers = [
2066# "http://[graylog-server-ip]:12900/system/metrics/multiple",
2067# ]
2068#
2069# ## Metrics list
2070# ## List of metrics can be found on Graylog webservice documentation.
2071# ## Or by hitting the the web service api at:
2072# ## http://[graylog-host]:12900/system/metrics
2073# metrics = [
2074# "jvm.cl.loaded",
2075# "jvm.memory.pools.Metaspace.committed"
2076# ]
2077#
2078# ## Username and password
2079# username = ""
2080# password = ""
2081#
2082# ## Optional TLS Config
2083# # tls_ca = "/etc/telegraf/ca.pem"
2084# # tls_cert = "/etc/telegraf/cert.pem"
2085# # tls_key = "/etc/telegraf/key.pem"
2086# ## Use TLS but skip chain & host verification
2087# # insecure_skip_verify = false
2088
2089
2090# # Read metrics of haproxy, via socket or csv stats page
2091# [[inputs.haproxy]]
2092# ## An array of address to gather stats about. Specify an ip on hostname
2093# ## with optional port. ie localhost, 10.10.3.33:1936, etc.
2094# ## Make sure you specify the complete path to the stats endpoint
2095# ## including the protocol, ie http://10.10.3.33:1936/haproxy?stats
2096#
2097# ## If no servers are specified, then default to 127.0.0.1:1936/haproxy?stats
2098# servers = ["http://myhaproxy.com:1936/haproxy?stats"]
2099#
2100# ## Credentials for basic HTTP authentication
2101# # username = "admin"
2102# # password = "admin"
2103#
2104# ## You can also use local socket with standard wildcard globbing.
2105# ## Server address not starting with 'http' will be treated as a possible
2106# ## socket, so both examples below are valid.
2107# # servers = ["socket:/run/haproxy/admin.sock", "/run/haproxy/*.sock"]
2108#
2109# ## By default, some of the fields are renamed from what haproxy calls them.
2110# ## Setting this option to true results in the plugin keeping the original
2111# ## field names.
2112# # keep_field_names = false
2113#
2114# ## Optional TLS Config
2115# # tls_ca = "/etc/telegraf/ca.pem"
2116# # tls_cert = "/etc/telegraf/cert.pem"
2117# # tls_key = "/etc/telegraf/key.pem"
2118# ## Use TLS but skip chain & host verification
2119# # insecure_skip_verify = false
2120
2121
2122# # Monitor disks' temperatures using hddtemp
2123# [[inputs.hddtemp]]
2124# ## By default, telegraf gathers temps data from all disks detected by the
2125# ## hddtemp.
2126# ##
2127# ## Only collect temps from the selected disks.
2128# ##
2129# ## A * as the device name will return the temperature values of all disks.
2130# ##
2131# # address = "127.0.0.1:7634"
2132# # devices = ["sda", "*"]
2133
2134
2135# # Read formatted metrics from one or more HTTP endpoints
2136# [[inputs.http]]
2137# ## One or more URLs from which to read formatted metrics
2138# urls = [
2139# "http://localhost/metrics"
2140# ]
2141#
2142# ## HTTP method
2143# # method = "GET"
2144#
2145# ## Optional HTTP headers
2146# # headers = {"X-Special-Header" = "Special-Value"}
2147#
2148# ## Optional HTTP Basic Auth Credentials
2149# # username = "username"
2150# # password = "pa$$word"
2151#
2152# ## Optional TLS Config
2153# # tls_ca = "/etc/telegraf/ca.pem"
2154# # tls_cert = "/etc/telegraf/cert.pem"
2155# # tls_key = "/etc/telegraf/key.pem"
2156# ## Use TLS but skip chain & host verification
2157# # insecure_skip_verify = false
2158#
2159# ## Amount of time allowed to complete the HTTP request
2160# # timeout = "5s"
2161#
2162# ## Data format to consume.
2163# ## Each data format has its own unique set of configuration options, read
2164# ## more about them here:
2165# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
2166# # data_format = "influx"
2167
2168
2169# # HTTP/HTTPS request given an address a method and a timeout
2170# [[inputs.http_response]]
2171# ## Server address (default http://localhost)
2172# # address = "http://localhost"
2173#
2174# ## Set http_proxy (telegraf uses the system wide proxy settings if it's is not set)
2175# # http_proxy = "http://localhost:8888"
2176#
2177# ## Set response_timeout (default 5 seconds)
2178# # response_timeout = "5s"
2179#
2180# ## HTTP Request Method
2181# # method = "GET"
2182#
2183# ## Whether to follow redirects from the server (defaults to false)
2184# # follow_redirects = false
2185#
2186# ## Optional HTTP Request Body
2187# # body = '''
2188# # {'fake':'data'}
2189# # '''
2190#
2191# ## Optional substring or regex match in body of the response
2192# # response_string_match = "\"service_status\": \"up\""
2193# # response_string_match = "ok"
2194# # response_string_match = "\".*_status\".?:.?\"up\""
2195#
2196# ## Optional TLS Config
2197# # tls_ca = "/etc/telegraf/ca.pem"
2198# # tls_cert = "/etc/telegraf/cert.pem"
2199# # tls_key = "/etc/telegraf/key.pem"
2200# ## Use TLS but skip chain & host verification
2201# # insecure_skip_verify = false
2202#
2203# ## HTTP Request Headers (all values must be strings)
2204# # [inputs.http_response.headers]
2205# # Host = "github.com"
2206
2207
2208# # Read flattened metrics from one or more JSON HTTP endpoints
2209# [[inputs.httpjson]]
2210# ## NOTE This plugin only reads numerical measurements, strings and booleans
2211# ## will be ignored.
2212#
2213# ## Name for the service being polled. Will be appended to the name of the
2214# ## measurement e.g. httpjson_webserver_stats
2215# ##
2216# ## Deprecated (1.3.0): Use name_override, name_suffix, name_prefix instead.
2217# name = "webserver_stats"
2218#
2219# ## URL of each server in the service's cluster
2220# servers = [
2221# "http://localhost:9999/stats/",
2222# "http://localhost:9998/stats/",
2223# ]
2224# ## Set response_timeout (default 5 seconds)
2225# response_timeout = "5s"
2226#
2227# ## HTTP method to use: GET or POST (case-sensitive)
2228# method = "GET"
2229#
2230# ## List of tag names to extract from top-level of JSON server response
2231# # tag_keys = [
2232# # "my_tag_1",
2233# # "my_tag_2"
2234# # ]
2235#
2236# ## Optional TLS Config
2237# # tls_ca = "/etc/telegraf/ca.pem"
2238# # tls_cert = "/etc/telegraf/cert.pem"
2239# # tls_key = "/etc/telegraf/key.pem"
2240# ## Use TLS but skip chain & host verification
2241# # insecure_skip_verify = false
2242#
2243# ## HTTP parameters (all values must be strings). For "GET" requests, data
2244# ## will be included in the query. For "POST" requests, data will be included
2245# ## in the request body as "x-www-form-urlencoded".
2246# # [inputs.httpjson.parameters]
2247# # event_type = "cpu_spike"
2248# # threshold = "0.75"
2249#
2250# ## HTTP Headers (all values must be strings)
2251# # [inputs.httpjson.headers]
2252# # X-Auth-Token = "my-xauth-token"
2253# # apiVersion = "v1"
2254
2255
2256# # Gather Icinga2 status
2257# [[inputs.icinga2]]
2258# ## Required Icinga2 server address (default: "https://localhost:5665")
2259# # server = "https://localhost:5665"
2260#
2261# ## Required Icinga2 object type ("services" or "hosts, default "services")
2262# # object_type = "services"
2263#
2264# ## Credentials for basic HTTP authentication
2265# # username = "admin"
2266# # password = "admin"
2267#
2268# ## Maximum time to receive response.
2269# # response_timeout = "5s"
2270#
2271# ## Optional TLS Config
2272# # tls_ca = "/etc/telegraf/ca.pem"
2273# # tls_cert = "/etc/telegraf/cert.pem"
2274# # tls_key = "/etc/telegraf/key.pem"
2275# ## Use TLS but skip chain & host verification
2276# # insecure_skip_verify = true
2277
2278
2279# # Read InfluxDB-formatted JSON metrics from one or more HTTP endpoints
2280# [[inputs.influxdb]]
2281# ## Works with InfluxDB debug endpoints out of the box,
2282# ## but other services can use this format too.
2283# ## See the influxdb plugin's README for more details.
2284#
2285# ## Multiple URLs from which to read InfluxDB-formatted JSON
2286# ## Default is "http://localhost:8086/debug/vars".
2287# urls = [
2288# "http://localhost:8086/debug/vars"
2289# ]
2290#
2291# ## Optional TLS Config
2292# # tls_ca = "/etc/telegraf/ca.pem"
2293# # tls_cert = "/etc/telegraf/cert.pem"
2294# # tls_key = "/etc/telegraf/key.pem"
2295# ## Use TLS but skip chain & host verification
2296# # insecure_skip_verify = false
2297#
2298# ## http request & header timeout
2299# timeout = "5s"
2300
2301
2302# # Collect statistics about itself
2303# [[inputs.internal]]
2304# ## If true, collect telegraf memory stats.
2305# # collect_memstats = true
2306
2307
2308# # This plugin gathers interrupts data from /proc/interrupts and /proc/softirqs.
2309# [[inputs.interrupts]]
2310# ## To filter which IRQs to collect, make use of tagpass / tagdrop, i.e.
2311# # [inputs.interrupts.tagdrop]
2312# # irq = [ "NET_RX", "TASKLET" ]
2313
2314
2315# # Read metrics from the bare metal servers via IPMI
2316# [[inputs.ipmi_sensor]]
2317# ## optionally specify the path to the ipmitool executable
2318# # path = "/usr/bin/ipmitool"
2319# ##
2320# ## optionally force session privilege level. Can be CALLBACK, USER, OPERATOR, ADMINISTRATOR
2321# # privilege = "ADMINISTRATOR"
2322# ##
2323# ## optionally specify one or more servers via a url matching
2324# ## [username[:password]@][protocol[(address)]]
2325# ## e.g.
2326# ## root:passwd@lan(127.0.0.1)
2327# ##
2328# ## if no servers are specified, local machine sensor stats will be queried
2329# ##
2330# # servers = ["USERID:PASSW0RD@lan(192.168.1.1)"]
2331#
2332# ## Recommended: use metric 'interval' that is a multiple of 'timeout' to avoid
2333# ## gaps or overlap in pulled data
2334# interval = "30s"
2335#
2336# ## Timeout for the ipmitool command to complete
2337# timeout = "20s"
2338#
2339# ## Schema Version: (Optional, defaults to version 1)
2340# metric_version = 2
2341
2342
2343# # Gather packets and bytes counters from Linux ipsets
2344# [[inputs.ipset]]
2345# ## By default, we only show sets which have already matched at least 1 packet.
2346# ## set include_unmatched_sets = true to gather them all.
2347# include_unmatched_sets = false
2348# ## Adjust your sudo settings appropriately if using this option ("sudo ipset save")
2349# use_sudo = false
2350# ## The default timeout of 1s for ipset execution can be overridden here:
2351# # timeout = "1s"
2352
2353
2354# # Gather packets and bytes throughput from iptables
2355# [[inputs.iptables]]
2356# ## iptables require root access on most systems.
2357# ## Setting 'use_sudo' to true will make use of sudo to run iptables.
2358# ## Users must configure sudo to allow telegraf user to run iptables with no password.
2359# ## iptables can be restricted to only list command "iptables -nvL".
2360# use_sudo = false
2361# ## Setting 'use_lock' to true runs iptables with the "-w" option.
2362# ## Adjust your sudo settings appropriately if using this option ("iptables -wnvl")
2363# use_lock = false
2364# ## Define an alternate executable, such as "ip6tables". Default is "iptables".
2365# # binary = "ip6tables"
2366# ## defines the table to monitor:
2367# table = "filter"
2368# ## defines the chains to monitor.
2369# ## NOTE: iptables rules without a comment will not be monitored.
2370# ## Read the plugin documentation for more information.
2371# chains = [ "INPUT" ]
2372
2373
2374# # Collect virtual and real server stats from Linux IPVS
2375# [[inputs.ipvs]]
2376# # no configuration
2377
2378
2379# # Read JMX metrics through Jolokia
2380# [[inputs.jolokia]]
2381# # DEPRECATED: the jolokia plugin has been deprecated in favor of the
2382# # jolokia2 plugin
2383# # see https://github.com/influxdata/telegraf/tree/master/plugins/inputs/jolokia2
2384#
2385# ## This is the context root used to compose the jolokia url
2386# ## NOTE that Jolokia requires a trailing slash at the end of the context root
2387# ## NOTE that your jolokia security policy must allow for POST requests.
2388# context = "/jolokia/"
2389#
2390# ## This specifies the mode used
2391# # mode = "proxy"
2392# #
2393# ## When in proxy mode this section is used to specify further
2394# ## proxy address configurations.
2395# ## Remember to change host address to fit your environment.
2396# # [inputs.jolokia.proxy]
2397# # host = "127.0.0.1"
2398# # port = "8080"
2399#
2400# ## Optional http timeouts
2401# ##
2402# ## response_header_timeout, if non-zero, specifies the amount of time to wait
2403# ## for a server's response headers after fully writing the request.
2404# # response_header_timeout = "3s"
2405# ##
2406# ## client_timeout specifies a time limit for requests made by this client.
2407# ## Includes connection time, any redirects, and reading the response body.
2408# # client_timeout = "4s"
2409#
2410# ## Attribute delimiter
2411# ##
2412# ## When multiple attributes are returned for a single
2413# ## [inputs.jolokia.metrics], the field name is a concatenation of the metric
2414# ## name, and the attribute name, separated by the given delimiter.
2415# # delimiter = "_"
2416#
2417# ## List of servers exposing jolokia read service
2418# [[inputs.jolokia.servers]]
2419# name = "as-server-01"
2420# host = "127.0.0.1"
2421# port = "8080"
2422# # username = "myuser"
2423# # password = "mypassword"
2424#
2425# ## List of metrics collected on above servers
2426# ## Each metric consists in a name, a jmx path and either
2427# ## a pass or drop slice attribute.
2428# ##Â This collect all heap memory usage metrics.
2429# [[inputs.jolokia.metrics]]
2430# name = "heap_memory_usage"
2431# mbean = "java.lang:type=Memory"
2432# attribute = "HeapMemoryUsage"
2433#
2434# ##Â This collect thread counts metrics.
2435# [[inputs.jolokia.metrics]]
2436# name = "thread_count"
2437# mbean = "java.lang:type=Threading"
2438# attribute = "TotalStartedThreadCount,ThreadCount,DaemonThreadCount,PeakThreadCount"
2439#
2440# ##Â This collect number of class loaded/unloaded counts metrics.
2441# [[inputs.jolokia.metrics]]
2442# name = "class_count"
2443# mbean = "java.lang:type=ClassLoading"
2444# attribute = "LoadedClassCount,UnloadedClassCount,TotalLoadedClassCount"
2445
2446
2447# # Read JMX metrics from a Jolokia REST agent endpoint
2448# [[inputs.jolokia2_agent]]
2449# # default_tag_prefix = ""
2450# # default_field_prefix = ""
2451# # default_field_separator = "."
2452#
2453# # Add agents URLs to query
2454# urls = ["http://localhost:8080/jolokia"]
2455# # username = ""
2456# # password = ""
2457# # response_timeout = "5s"
2458#
2459# ## Optional TLS config
2460# # tls_ca = "/var/private/ca.pem"
2461# # tls_cert = "/var/private/client.pem"
2462# # tls_key = "/var/private/client-key.pem"
2463# # insecure_skip_verify = false
2464#
2465# ## Add metrics to read
2466# [[inputs.jolokia2_agent.metric]]
2467# name = "java_runtime"
2468# mbean = "java.lang:type=Runtime"
2469# paths = ["Uptime"]
2470
2471
2472# # Read JMX metrics from a Jolokia REST proxy endpoint
2473# [[inputs.jolokia2_proxy]]
2474# # default_tag_prefix = ""
2475# # default_field_prefix = ""
2476# # default_field_separator = "."
2477#
2478# ## Proxy agent
2479# url = "http://localhost:8080/jolokia"
2480# # username = ""
2481# # password = ""
2482# # response_timeout = "5s"
2483#
2484# ## Optional TLS config
2485# # tls_ca = "/var/private/ca.pem"
2486# # tls_cert = "/var/private/client.pem"
2487# # tls_key = "/var/private/client-key.pem"
2488# # insecure_skip_verify = false
2489#
2490# ## Add proxy targets to query
2491# # default_target_username = ""
2492# # default_target_password = ""
2493# [[inputs.jolokia2_proxy.target]]
2494# url = "service:jmx:rmi:///jndi/rmi://targethost:9999/jmxrmi"
2495# # username = ""
2496# # password = ""
2497#
2498# ## Add metrics to read
2499# [[inputs.jolokia2_proxy.metric]]
2500# name = "java_runtime"
2501# mbean = "java.lang:type=Runtime"
2502# paths = ["Uptime"]
2503
2504
2505# # Read Kapacitor-formatted JSON metrics from one or more HTTP endpoints
2506# [[inputs.kapacitor]]
2507# ## Multiple URLs from which to read Kapacitor-formatted JSON
2508# ## Default is "http://localhost:9092/kapacitor/v1/debug/vars".
2509# urls = [
2510# "http://localhost:9092/kapacitor/v1/debug/vars"
2511# ]
2512#
2513# ## Time limit for http requests
2514# timeout = "5s"
2515#
2516# ## Optional TLS Config
2517# # tls_ca = "/etc/telegraf/ca.pem"
2518# # tls_cert = "/etc/telegraf/cert.pem"
2519# # tls_key = "/etc/telegraf/key.pem"
2520# ## Use TLS but skip chain & host verification
2521# # insecure_skip_verify = false
2522
2523
2524# # Get kernel statistics from /proc/vmstat
2525# [[inputs.kernel_vmstat]]
2526# # no configuration
2527
2528
2529# # Read status information from one or more Kibana servers
2530# [[inputs.kibana]]
2531# ## specify a list of one or more Kibana servers
2532# servers = ["http://localhost:5601"]
2533#
2534# ## Timeout for HTTP requests
2535# timeout = "5s"
2536#
2537# ## HTTP Basic Auth credentials
2538# # username = "username"
2539# # password = "pa$$word"
2540#
2541# ## Optional TLS Config
2542# # tls_ca = "/etc/telegraf/ca.pem"
2543# # tls_cert = "/etc/telegraf/cert.pem"
2544# # tls_key = "/etc/telegraf/key.pem"
2545# ## Use TLS but skip chain & host verification
2546# # insecure_skip_verify = false
2547
2548
2549# # Read metrics from the kubernetes kubelet api
2550# [[inputs.kubernetes]]
2551# ## URL for the kubelet
2552# url = "http://1.1.1.1:10255"
2553#
2554# ## Use bearer token for authorization
2555# # bearer_token = /path/to/bearer/token
2556#
2557# ## Set response_timeout (default 5 seconds)
2558# # response_timeout = "5s"
2559#
2560# ## Optional TLS Config
2561# # tls_ca = /path/to/cafile
2562# # tls_cert = /path/to/certfile
2563# # tls_key = /path/to/keyfile
2564# ## Use TLS but skip chain & host verification
2565# # insecure_skip_verify = false
2566
2567
2568# # Read metrics from a LeoFS Server via SNMP
2569# [[inputs.leofs]]
2570# ## An array of URLs of the form:
2571# ## host [ ":" port]
2572# servers = ["127.0.0.1:4020"]
2573
2574
2575# # Provides Linux sysctl fs metrics
2576# [[inputs.linux_sysctl_fs]]
2577# # no configuration
2578
2579
2580# # Read metrics from local Lustre service on OST, MDS
2581# [[inputs.lustre2]]
2582# ## An array of /proc globs to search for Lustre stats
2583# ## If not specified, the default will work on Lustre 2.5.x
2584# ##
2585# # ost_procfiles = [
2586# # "/proc/fs/lustre/obdfilter/*/stats",
2587# # "/proc/fs/lustre/osd-ldiskfs/*/stats",
2588# # "/proc/fs/lustre/obdfilter/*/job_stats",
2589# # ]
2590# # mds_procfiles = [
2591# # "/proc/fs/lustre/mdt/*/md_stats",
2592# # "/proc/fs/lustre/mdt/*/job_stats",
2593# # ]
2594
2595
2596# # Gathers metrics from the /3.0/reports MailChimp API
2597# [[inputs.mailchimp]]
2598# ## MailChimp API key
2599# ## get from https://admin.mailchimp.com/account/api/
2600# api_key = "" # required
2601# ## Reports for campaigns sent more than days_old ago will not be collected.
2602# ## 0 means collect all.
2603# days_old = 0
2604# ## Campaign ID to get, if empty gets all campaigns, this option overrides days_old
2605# # campaign_id = ""
2606
2607
2608# # Read metrics from one or many mcrouter servers
2609# [[inputs.mcrouter]]
2610# ## An array of address to gather stats about. Specify an ip or hostname
2611# ## with port. ie tcp://localhost:11211, tcp://10.0.0.1:11211, etc.
2612# servers = ["tcp://localhost:11211", "unix:///var/run/mcrouter.sock"]
2613#
2614# ## Timeout for metric collections from all servers. Minimum timeout is "1s".
2615# # timeout = "5s"
2616
2617
2618# # Read metrics from one or many memcached servers
2619# [[inputs.memcached]]
2620# ## An array of address to gather stats about. Specify an ip on hostname
2621# ## with optional port. ie localhost, 10.0.0.1:11211, etc.
2622# servers = ["localhost:11211"]
2623# # unix_sockets = ["/var/run/memcached.sock"]
2624
2625
2626# # Telegraf plugin for gathering metrics from N Mesos masters
2627# [[inputs.mesos]]
2628# ## Timeout, in ms.
2629# timeout = 100
2630# ## A list of Mesos masters.
2631# masters = ["http://localhost:5050"]
2632# ## Master metrics groups to be collected, by default, all enabled.
2633# master_collections = [
2634# "resources",
2635# "master",
2636# "system",
2637# "agents",
2638# "frameworks",
2639# "tasks",
2640# "messages",
2641# "evqueue",
2642# "registrar",
2643# ]
2644# ## A list of Mesos slaves, default is []
2645# # slaves = []
2646# ## Slave metrics groups to be collected, by default, all enabled.
2647# # slave_collections = [
2648# # "resources",
2649# # "agent",
2650# # "system",
2651# # "executors",
2652# # "tasks",
2653# # "messages",
2654# # ]
2655#
2656# ## Optional TLS Config
2657# # tls_ca = "/etc/telegraf/ca.pem"
2658# # tls_cert = "/etc/telegraf/cert.pem"
2659# # tls_key = "/etc/telegraf/key.pem"
2660# ## Use TLS but skip chain & host verification
2661# # insecure_skip_verify = false
2662
2663
2664# # Collects scores from a minecraft server's scoreboard using the RCON protocol
2665# [[inputs.minecraft]]
2666# ## server address for minecraft
2667# # server = "localhost"
2668# ## port for RCON
2669# # port = "25575"
2670# ## password RCON for mincraft server
2671# # password = ""
2672
2673
2674# # Read metrics from one or many MongoDB servers
2675# [[inputs.mongodb]]
2676# ## An array of URLs of the form:
2677# ## "mongodb://" [user ":" pass "@"] host [ ":" port]
2678# ## For example:
2679# ## mongodb://user:auth_key@10.10.3.30:27017,
2680# ## mongodb://10.10.3.33:18832,
2681# servers = ["mongodb://127.0.0.1:27017"]
2682#
2683# ## When true, collect per database stats
2684# # gather_perdb_stats = false
2685#
2686# ## Optional TLS Config
2687# # tls_ca = "/etc/telegraf/ca.pem"
2688# # tls_cert = "/etc/telegraf/cert.pem"
2689# # tls_key = "/etc/telegraf/key.pem"
2690# ## Use TLS but skip chain & host verification
2691# # insecure_skip_verify = false
2692
2693
2694# # Read metrics from one or many mysql servers
2695# [[inputs.mysql]]
2696# ## specify servers via a url matching:
2697# ## [username[:password]@][protocol[(address)]]/[?tls=[true|false|skip-verify|custom]]
2698# ## see https://github.com/go-sql-driver/mysql#dsn-data-source-name
2699# ## e.g.
2700# ## servers = ["user:passwd@tcp(127.0.0.1:3306)/?tls=false"]
2701# ## servers = ["user@tcp(127.0.0.1:3306)/?tls=false"]
2702# #
2703# ## If no servers are specified, then localhost is used as the host.
2704# servers = ["tcp(127.0.0.1:3306)/"]
2705#
2706# ## Selects the metric output format.
2707# ##
2708# ## This option exists to maintain backwards compatibility, if you have
2709# ## existing metrics do not set or change this value until you are ready to
2710# ## migrate to the new format.
2711# ##
2712# ## If you do not have existing metrics from this plugin set to the latest
2713# ## version.
2714# ##
2715# ## Telegraf >=1.6: metric_version = 2
2716# ## <1.6: metric_version = 1 (or unset)
2717# metric_version = 2
2718#
2719# ## the limits for metrics form perf_events_statements
2720# perf_events_statements_digest_text_limit = 120
2721# perf_events_statements_limit = 250
2722# perf_events_statements_time_limit = 86400
2723# #
2724# ## if the list is empty, then metrics are gathered from all databasee tables
2725# table_schema_databases = []
2726# #
2727# ## gather metrics from INFORMATION_SCHEMA.TABLES for databases provided above list
2728# gather_table_schema = false
2729# #
2730# ## gather thread state counts from INFORMATION_SCHEMA.PROCESSLIST
2731# gather_process_list = true
2732# #
2733# ## gather user statistics from INFORMATION_SCHEMA.USER_STATISTICS
2734# gather_user_statistics = true
2735# #
2736# ## gather auto_increment columns and max values from information schema
2737# gather_info_schema_auto_inc = true
2738# #
2739# ## gather metrics from INFORMATION_SCHEMA.INNODB_METRICS
2740# gather_innodb_metrics = true
2741# #
2742# ## gather metrics from SHOW SLAVE STATUS command output
2743# gather_slave_status = true
2744# #
2745# ## gather metrics from SHOW BINARY LOGS command output
2746# gather_binary_logs = false
2747# #
2748# ## gather metrics from PERFORMANCE_SCHEMA.TABLE_IO_WAITS_SUMMARY_BY_TABLE
2749# gather_table_io_waits = false
2750# #
2751# ## gather metrics from PERFORMANCE_SCHEMA.TABLE_LOCK_WAITS
2752# gather_table_lock_waits = false
2753# #
2754# ## gather metrics from PERFORMANCE_SCHEMA.TABLE_IO_WAITS_SUMMARY_BY_INDEX_USAGE
2755# gather_index_io_waits = false
2756# #
2757# ## gather metrics from PERFORMANCE_SCHEMA.EVENT_WAITS
2758# gather_event_waits = false
2759# #
2760# ## gather metrics from PERFORMANCE_SCHEMA.FILE_SUMMARY_BY_EVENT_NAME
2761# gather_file_events_stats = false
2762# #
2763# ## gather metrics from PERFORMANCE_SCHEMA.EVENTS_STATEMENTS_SUMMARY_BY_DIGEST
2764# gather_perf_events_statements = false
2765# #
2766# ## Some queries we may want to run less often (such as SHOW GLOBAL VARIABLES)
2767# interval_slow = "30m"
2768#
2769# ## Optional TLS Config (will be used if tls=custom parameter specified in server uri)
2770# # tls_ca = "/etc/telegraf/ca.pem"
2771# # tls_cert = "/etc/telegraf/cert.pem"
2772# # tls_key = "/etc/telegraf/key.pem"
2773# ## Use TLS but skip chain & host verification
2774# # insecure_skip_verify = false
2775
2776
2777# # Provides metrics about the state of a NATS server
2778# [[inputs.nats]]
2779# ## The address of the monitoring endpoint of the NATS server
2780# server = "http://localhost:8222"
2781#
2782# ## Maximum time to receive response
2783# # response_timeout = "5s"
2784
2785
2786# # Read metrics about network interface usage
2787# [[inputs.net]]
2788# ## By default, telegraf gathers stats from any up interface (excluding loopback)
2789# ## Setting interfaces will tell it to gather these explicit interfaces,
2790# ## regardless of status.
2791# ##
2792# # interfaces = ["eth0"]
2793# ##
2794# ## On linux systems telegraf also collects protocol stats.
2795# ## Setting ignore_protocol_stats to true will skip reporting of protocol metrics.
2796# ##
2797# # ignore_protocol_stats = false
2798# ##
2799
2800
2801# # Collect response time of a TCP or UDP connection
2802# [[inputs.net_response]]
2803# ## Protocol, must be "tcp" or "udp"
2804# ## NOTE: because the "udp" protocol does not respond to requests, it requires
2805# ## a send/expect string pair (see below).
2806# protocol = "tcp"
2807# ## Server address (default localhost)
2808# address = "localhost:80"
2809#
2810# ## Set timeout
2811# # timeout = "1s"
2812#
2813# ## Set read timeout (only used if expecting a response)
2814# # read_timeout = "1s"
2815#
2816# ## The following options are required for UDP checks. For TCP, they are
2817# ## optional. The plugin will send the given string to the server and then
2818# ## expect to receive the given 'expect' string back.
2819# ## string sent to the server
2820# # send = "ssh"
2821# ## expected string in answer
2822# # expect = "ssh"
2823#
2824# ## Uncomment to remove deprecated fields
2825# # fieldexclude = ["result_type", "string_found"]
2826
2827
2828# # Read TCP metrics such as established, time wait and sockets counts.
2829# [[inputs.netstat]]
2830# # no configuration
2831
2832
2833# # Read Nginx's basic status information (ngx_http_stub_status_module)
2834# [[inputs.nginx]]
2835# # An array of Nginx stub_status URI to gather stats.
2836# urls = ["http://localhost/server_status"]
2837#
2838# ## Optional TLS Config
2839# tls_ca = "/etc/telegraf/ca.pem"
2840# tls_cert = "/etc/telegraf/cert.cer"
2841# tls_key = "/etc/telegraf/key.key"
2842# ## Use TLS but skip chain & host verification
2843# insecure_skip_verify = false
2844#
2845# # HTTP response timeout (default: 5s)
2846# response_timeout = "5s"
2847
2848
2849# # Read Nginx Plus' full status information (ngx_http_status_module)
2850# [[inputs.nginx_plus]]
2851# ## An array of ngx_http_status_module or status URI to gather stats.
2852# urls = ["http://localhost/status"]
2853#
2854# # HTTP response timeout (default: 5s)
2855# response_timeout = "5s"
2856
2857
2858# # Read Nginx Plus Api documentation
2859# [[inputs.nginx_plus_api]]
2860# ## An array of API URI to gather stats.
2861# urls = ["http://localhost/api"]
2862#
2863# # Nginx API version, default: 3
2864# # api_version = 3
2865#
2866# # HTTP response timeout (default: 5s)
2867# response_timeout = "5s"
2868
2869
2870# # Read Nginx virtual host traffic status module information (nginx-module-vts)
2871# [[inputs.nginx_vts]]
2872# ## An array of ngx_http_status_module or status URI to gather stats.
2873# urls = ["http://localhost/status"]
2874#
2875# ## HTTP response timeout (default: 5s)
2876# response_timeout = "5s"
2877
2878
2879# # Read NSQ topic and channel statistics.
2880# [[inputs.nsq]]
2881# ## An array of NSQD HTTP API endpoints
2882# endpoints = ["http://localhost:4151"]
2883#
2884# ## Optional TLS Config
2885# # tls_ca = "/etc/telegraf/ca.pem"
2886# # tls_cert = "/etc/telegraf/cert.pem"
2887# # tls_key = "/etc/telegraf/key.pem"
2888# ## Use TLS but skip chain & host verification
2889# # insecure_skip_verify = false
2890
2891
2892# # Collect kernel snmp counters and network interface statistics
2893# [[inputs.nstat]]
2894# ## file paths for proc files. If empty default paths will be used:
2895# ## /proc/net/netstat, /proc/net/snmp, /proc/net/snmp6
2896# ## These can also be overridden with env variables, see README.
2897# proc_net_netstat = "/proc/net/netstat"
2898# proc_net_snmp = "/proc/net/snmp"
2899# proc_net_snmp6 = "/proc/net/snmp6"
2900# ## dump metrics with 0 values too
2901# dump_zeros = true
2902
2903
2904# # Get standard NTP query metrics, requires ntpq executable.
2905# [[inputs.ntpq]]
2906# ## If false, set the -n ntpq flag. Can reduce metric gather time.
2907# dns_lookup = true
2908
2909
2910# # Pulls statistics from nvidia GPUs attached to the host
2911# [[inputs.nvidia_smi]]
2912# ## Optional: path to nvidia-smi binary, defaults to $PATH via exec.LookPath
2913# # bin_path = "/usr/bin/nvidia-smi"
2914#
2915# ## Optional: timeout for GPU polling
2916# # timeout = "5s"
2917
2918
2919# # OpenLDAP cn=Monitor plugin
2920# [[inputs.openldap]]
2921# host = "localhost"
2922# port = 389
2923#
2924# # ldaps, starttls, or no encryption. default is an empty string, disabling all encryption.
2925# # note that port will likely need to be changed to 636 for ldaps
2926# # valid options: "" | "starttls" | "ldaps"
2927# tls = ""
2928#
2929# # skip peer certificate verification. Default is false.
2930# insecure_skip_verify = false
2931#
2932# # Path to PEM-encoded Root certificate to use to verify server certificate
2933# tls_ca = "/etc/ssl/certs.pem"
2934#
2935# # dn/password to bind with. If bind_dn is empty, an anonymous bind is performed.
2936# bind_dn = ""
2937# bind_password = ""
2938#
2939# # Reverse metric names so they sort more naturally. Recommended.
2940# # This defaults to false if unset, but is set to true when generating a new config
2941# reverse_metric_names = true
2942
2943
2944# # A plugin to collect stats from Opensmtpd - a validating, recursive, and caching DNS resolver
2945# [[inputs.opensmtpd]]
2946# ## If running as a restricted user you can prepend sudo for additional access:
2947# #use_sudo = false
2948#
2949# ## The default location of the smtpctl binary can be overridden with:
2950# binary = "/usr/sbin/smtpctl"
2951#
2952# ## The default timeout of 1000ms can be overriden with (in milliseconds):
2953# timeout = 1000
2954
2955
2956# # Read metrics of passenger using passenger-status
2957# [[inputs.passenger]]
2958# ## Path of passenger-status.
2959# ##
2960# ## Plugin gather metric via parsing XML output of passenger-status
2961# ## More information about the tool:
2962# ## https://www.phusionpassenger.com/library/admin/apache/overall_status_report.html
2963# ##
2964# ## If no path is specified, then the plugin simply execute passenger-status
2965# ## hopefully it can be found in your PATH
2966# command = "passenger-status -v --show=xml"
2967
2968
2969# # Gather counters from PF
2970# [[inputs.pf]]
2971# ## PF require root access on most systems.
2972# ## Setting 'use_sudo' to true will make use of sudo to run pfctl.
2973# ## Users must configure sudo to allow telegraf user to run pfctl with no password.
2974# ## pfctl can be restricted to only list command "pfctl -s info".
2975# use_sudo = false
2976
2977
2978# # Read metrics of phpfpm, via HTTP status page or socket
2979# [[inputs.phpfpm]]
2980# ## An array of addresses to gather stats about. Specify an ip or hostname
2981# ## with optional port and path
2982# ##
2983# ## Plugin can be configured in three modes (either can be used):
2984# ## - http: the URL must start with http:// or https://, ie:
2985# ## "http://localhost/status"
2986# ## "http://192.168.130.1/status?full"
2987# ##
2988# ## - unixsocket: path to fpm socket, ie:
2989# ## "/var/run/php5-fpm.sock"
2990# ## or using a custom fpm status path:
2991# ## "/var/run/php5-fpm.sock:fpm-custom-status-path"
2992# ##
2993# ## - fcgi: the URL must start with fcgi:// or cgi://, and port must be present, ie:
2994# ## "fcgi://10.0.0.12:9000/status"
2995# ## "cgi://10.0.10.12:9001/status"
2996# ##
2997# ## Example of multiple gathering from local socket and remove host
2998# ## urls = ["http://192.168.1.20/status", "/tmp/fpm.sock"]
2999# urls = ["http://localhost/status"]
3000
3001
3002# # Ping given url(s) and return statistics
3003# [[inputs.ping]]
3004# ## List of urls to ping
3005# urls = ["example.org"]
3006#
3007# ## Number of pings to send per collection (ping -c <COUNT>)
3008# # count = 1
3009#
3010# ## Interval, in s, at which to ping. 0 == default (ping -i <PING_INTERVAL>)
3011# ## Not available in Windows.
3012# # ping_interval = 1.0
3013#
3014# ## Per-ping timeout, in s. 0 == no timeout (ping -W <TIMEOUT>)
3015# # timeout = 1.0
3016#
3017# ## Total-ping deadline, in s. 0 == no deadline (ping -w <DEADLINE>)
3018# # deadline = 10
3019#
3020# ## Interface or source address to send ping from (ping -I <INTERFACE/SRC_ADDR>)
3021# ## on Darwin and Freebsd only source address possible: (ping -S <SRC_ADDR>)
3022# # interface = ""
3023#
3024# ## Specify the ping executable binary, default is "ping"
3025# # binary = "ping"
3026#
3027# ## Arguments for ping command
3028# ## when arguments is not empty, other options (ping_interval, timeout, etc) will be ignored
3029# # arguments = ["-c", "3"]
3030
3031
3032# # Measure postfix queue statistics
3033# [[inputs.postfix]]
3034# ## Postfix queue directory. If not provided, telegraf will try to use
3035# ## 'postconf -h queue_directory' to determine it.
3036# # queue_directory = "/var/spool/postfix"
3037
3038
3039# # Read metrics from one or many PowerDNS servers
3040# [[inputs.powerdns]]
3041# ## An array of sockets to gather stats about.
3042# ## Specify a path to unix socket.
3043# unix_sockets = ["/var/run/pdns.controlsocket"]
3044
3045
3046# # Monitor process cpu and memory usage
3047# [[inputs.procstat]]
3048# ## PID file to monitor process
3049# pid_file = "/var/run/nginx.pid"
3050# ## executable name (ie, pgrep <exe>)
3051# # exe = "nginx"
3052# ## pattern as argument for pgrep (ie, pgrep -f <pattern>)
3053# # pattern = "nginx"
3054# ## user as argument for pgrep (ie, pgrep -u <user>)
3055# # user = "nginx"
3056# ## Systemd unit name
3057# # systemd_unit = "nginx.service"
3058# ## CGroup name or path
3059# # cgroup = "systemd/system.slice/nginx.service"
3060#
3061# ## Windows service name
3062# # win_service = ""
3063#
3064# ## override for process_name
3065# ## This is optional; default is sourced from /proc/<pid>/status
3066# # process_name = "bar"
3067#
3068# ## Field name prefix
3069# # prefix = ""
3070#
3071# ## Add PID as a tag instead of a field; useful to differentiate between
3072# ## processes whose tags are otherwise the same. Can create a large number
3073# ## of series, use judiciously.
3074# # pid_tag = false
3075#
3076# ## Method to use when finding process IDs. Can be one of 'pgrep', or
3077# ## 'native'. The pgrep finder calls the pgrep executable in the PATH while
3078# ## the native finder performs the search directly in a manor dependent on the
3079# ## platform. Default is 'pgrep'
3080# # pid_finder = "pgrep"
3081
3082
3083# # Reads last_run_summary.yaml file and converts to measurments
3084# [[inputs.puppetagent]]
3085# ## Location of puppet last run summary file
3086# location = "/var/lib/puppet/state/last_run_summary.yaml"
3087
3088
3089# # Reads metrics from RabbitMQ servers via the Management Plugin
3090# [[inputs.rabbitmq]]
3091# ## Management Plugin url. (default: http://localhost:15672)
3092# # url = "http://localhost:15672"
3093# ## Tag added to rabbitmq_overview series; deprecated: use tags
3094# # name = "rmq-server-1"
3095# ## Credentials
3096# # username = "guest"
3097# # password = "guest"
3098#
3099# ## Optional TLS Config
3100# # tls_ca = "/etc/telegraf/ca.pem"
3101# # tls_cert = "/etc/telegraf/cert.pem"
3102# # tls_key = "/etc/telegraf/key.pem"
3103# ## Use TLS but skip chain & host verification
3104# # insecure_skip_verify = false
3105#
3106# ## Optional request timeouts
3107# ##
3108# ## ResponseHeaderTimeout, if non-zero, specifies the amount of time to wait
3109# ## for a server's response headers after fully writing the request.
3110# # header_timeout = "3s"
3111# ##
3112# ## client_timeout specifies a time limit for requests made by this client.
3113# ## Includes connection time, any redirects, and reading the response body.
3114# # client_timeout = "4s"
3115#
3116# ## A list of nodes to gather as the rabbitmq_node measurement. If not
3117# ## specified, metrics for all nodes are gathered.
3118# # nodes = ["rabbit@node1", "rabbit@node2"]
3119#
3120# ## A list of queues to gather as the rabbitmq_queue measurement. If not
3121# ## specified, metrics for all queues are gathered.
3122# # queues = ["telegraf"]
3123#
3124# ## A list of exchanges to gather as the rabbitmq_exchange measurement. If not
3125# ## specified, metrics for all exchanges are gathered.
3126# # exchanges = ["telegraf"]
3127#
3128# ## Queues to include and exclude. Globs accepted.
3129# ## Note that an empty array for both will include all queues
3130# queue_name_include = []
3131# queue_name_exclude = []
3132
3133
3134# # Read raindrops stats (raindrops - real-time stats for preforking Rack servers)
3135# [[inputs.raindrops]]
3136# ## An array of raindrops middleware URI to gather stats.
3137# urls = ["http://localhost:8080/_raindrops"]
3138
3139
3140# # Read metrics from one or many redis servers
3141# [[inputs.redis]]
3142# ## specify servers via a url matching:
3143# ## [protocol://][:password]@address[:port]
3144# ## e.g.
3145# ## tcp://localhost:6379
3146# ## tcp://:password@192.168.99.100
3147# ## unix:///var/run/redis.sock
3148# ##
3149# ## If no servers are specified, then localhost is used as the host.
3150# ## If no port is specified, 6379 is used
3151# servers = ["tcp://localhost:6379"]
3152#
3153# ## specify server password
3154# # password = "s#cr@t%"
3155#
3156# ## Optional TLS Config
3157# # tls_ca = "/etc/telegraf/ca.pem"
3158# # tls_cert = "/etc/telegraf/cert.pem"
3159# # tls_key = "/etc/telegraf/key.pem"
3160# ## Use TLS but skip chain & host verification
3161# # insecure_skip_verify = true
3162
3163
3164# # Read metrics from one or many RethinkDB servers
3165# [[inputs.rethinkdb]]
3166# ## An array of URI to gather stats about. Specify an ip or hostname
3167# ## with optional port add password. ie,
3168# ## rethinkdb://user:auth_key@10.10.3.30:28105,
3169# ## rethinkdb://10.10.3.33:18832,
3170# ## 10.0.0.1:10000, etc.
3171# servers = ["127.0.0.1:28015"]
3172# ##
3173# ## If you use actual rethinkdb of > 2.3.0 with username/password authorization,
3174# ## protocol have to be named "rethinkdb2" - it will use 1_0 H.
3175# # servers = ["rethinkdb2://username:password@127.0.0.1:28015"]
3176# ##
3177# ## If you use older versions of rethinkdb (<2.2) with auth_key, protocol
3178# ## have to be named "rethinkdb".
3179# # servers = ["rethinkdb://username:auth_key@127.0.0.1:28015"]
3180
3181
3182# # Read metrics one or many Riak servers
3183# [[inputs.riak]]
3184# # Specify a list of one or more riak http servers
3185# servers = ["http://localhost:8098"]
3186
3187
3188# # Read API usage and limits for a Salesforce organisation
3189# [[inputs.salesforce]]
3190# ## specify your credentials
3191# ##
3192# username = "your_username"
3193# password = "your_password"
3194# ##
3195# ## (optional) security token
3196# # security_token = "your_security_token"
3197# ##
3198# ## (optional) environment type (sandbox or production)
3199# ## default is: production
3200# ##
3201# # environment = "production"
3202# ##
3203# ## (optional) API version (default: "39.0")
3204# ##
3205# # version = "39.0"
3206
3207
3208# # Monitor sensors, requires lm-sensors package
3209# [[inputs.sensors]]
3210# ## Remove numbers from field names.
3211# ## If true, a field name like 'temp1_input' will be changed to 'temp_input'.
3212# # remove_numbers = true
3213#
3214# ## Timeout is the maximum amount of time that the sensors command can run.
3215# # timeout = "5s"
3216
3217
3218# # Read metrics from storage devices supporting S.M.A.R.T.
3219# [[inputs.smart]]
3220# ## Optionally specify the path to the smartctl executable
3221# # path = "/usr/bin/smartctl"
3222# #
3223# ## On most platforms smartctl requires root access.
3224# ## Setting 'use_sudo' to true will make use of sudo to run smartctl.
3225# ## Sudo must be configured to to allow the telegraf user to run smartctl
3226# ## with out password.
3227# # use_sudo = false
3228# #
3229# ## Skip checking disks in this power mode. Defaults to
3230# ## "standby" to not wake up disks that have stoped rotating.
3231# ## See --nocheck in the man pages for smartctl.
3232# ## smartctl version 5.41 and 5.42 have faulty detection of
3233# ## power mode and might require changing this value to
3234# ## "never" depending on your disks.
3235# # nocheck = "standby"
3236# #
3237# ## Gather detailed metrics for each SMART Attribute.
3238# ## Defaults to "false"
3239# ##
3240# # attributes = false
3241# #
3242# ## Optionally specify devices to exclude from reporting.
3243# # excludes = [ "/dev/pass6" ]
3244# #
3245# ## Optionally specify devices and device type, if unset
3246# ## a scan (smartctl --scan) for S.M.A.R.T. devices will
3247# ## done and all found will be included except for the
3248# ## excluded in excludes.
3249# # devices = [ "/dev/ada0 -d atacam" ]
3250
3251
3252# # Retrieves SNMP values from remote agents
3253# [[inputs.snmp]]
3254# agents = [ "127.0.0.1:161" ]
3255# ## Timeout for each SNMP query.
3256# timeout = "5s"
3257# ## Number of retries to attempt within timeout.
3258# retries = 3
3259# ## SNMP version, values can be 1, 2, or 3
3260# version = 2
3261#
3262# ## SNMP community string.
3263# community = "public"
3264#
3265# ## The GETBULK max-repetitions parameter
3266# max_repetitions = 10
3267#
3268# ## SNMPv3 auth parameters
3269# #sec_name = "myuser"
3270# #auth_protocol = "md5" # Values: "MD5", "SHA", ""
3271# #auth_password = "pass"
3272# #sec_level = "authNoPriv" # Values: "noAuthNoPriv", "authNoPriv", "authPriv"
3273# #context_name = ""
3274# #priv_protocol = "" # Values: "DES", "AES", ""
3275# #priv_password = ""
3276#
3277# ## measurement name
3278# name = "system"
3279# [[inputs.snmp.field]]
3280# name = "hostname"
3281# oid = ".1.0.0.1.1"
3282# [[inputs.snmp.field]]
3283# name = "uptime"
3284# oid = ".1.0.0.1.2"
3285# [[inputs.snmp.field]]
3286# name = "load"
3287# oid = ".1.0.0.1.3"
3288# [[inputs.snmp.field]]
3289# oid = "HOST-RESOURCES-MIB::hrMemorySize"
3290#
3291# [[inputs.snmp.table]]
3292# ## measurement name
3293# name = "remote_servers"
3294# inherit_tags = [ "hostname" ]
3295# [[inputs.snmp.table.field]]
3296# name = "server"
3297# oid = ".1.0.0.0.1.0"
3298# is_tag = true
3299# [[inputs.snmp.table.field]]
3300# name = "connections"
3301# oid = ".1.0.0.0.1.1"
3302# [[inputs.snmp.table.field]]
3303# name = "latency"
3304# oid = ".1.0.0.0.1.2"
3305#
3306# [[inputs.snmp.table]]
3307# ## auto populate table's fields using the MIB
3308# oid = "HOST-RESOURCES-MIB::hrNetworkTable"
3309
3310
3311# # DEPRECATED! PLEASE USE inputs.snmp INSTEAD.
3312# [[inputs.snmp_legacy]]
3313# ## Use 'oids.txt' file to translate oids to names
3314# ## To generate 'oids.txt' you need to run:
3315# ## snmptranslate -m all -Tz -On | sed -e 's/"//g' > /tmp/oids.txt
3316# ## Or if you have an other MIB folder with custom MIBs
3317# ## snmptranslate -M /mycustommibfolder -Tz -On -m all | sed -e 's/"//g' > oids.txt
3318# snmptranslate_file = "/tmp/oids.txt"
3319# [[inputs.snmp.host]]
3320# address = "192.168.2.2:161"
3321# # SNMP community
3322# community = "public" # default public
3323# # SNMP version (1, 2 or 3)
3324# # Version 3 not supported yet
3325# version = 2 # default 2
3326# # SNMP response timeout
3327# timeout = 2.0 # default 2.0
3328# # SNMP request retries
3329# retries = 2 # default 2
3330# # Which get/bulk do you want to collect for this host
3331# collect = ["mybulk", "sysservices", "sysdescr"]
3332# # Simple list of OIDs to get, in addition to "collect"
3333# get_oids = []
3334#
3335# [[inputs.snmp.host]]
3336# address = "192.168.2.3:161"
3337# community = "public"
3338# version = 2
3339# timeout = 2.0
3340# retries = 2
3341# collect = ["mybulk"]
3342# get_oids = [
3343# "ifNumber",
3344# ".1.3.6.1.2.1.1.3.0",
3345# ]
3346#
3347# [[inputs.snmp.get]]
3348# name = "ifnumber"
3349# oid = "ifNumber"
3350#
3351# [[inputs.snmp.get]]
3352# name = "interface_speed"
3353# oid = "ifSpeed"
3354# instance = "0"
3355#
3356# [[inputs.snmp.get]]
3357# name = "sysuptime"
3358# oid = ".1.3.6.1.2.1.1.3.0"
3359# unit = "second"
3360#
3361# [[inputs.snmp.bulk]]
3362# name = "mybulk"
3363# max_repetition = 127
3364# oid = ".1.3.6.1.2.1.1"
3365#
3366# [[inputs.snmp.bulk]]
3367# name = "ifoutoctets"
3368# max_repetition = 127
3369# oid = "ifOutOctets"
3370#
3371# [[inputs.snmp.host]]
3372# address = "192.168.2.13:161"
3373# #address = "127.0.0.1:161"
3374# community = "public"
3375# version = 2
3376# timeout = 2.0
3377# retries = 2
3378# #collect = ["mybulk", "sysservices", "sysdescr", "systype"]
3379# collect = ["sysuptime" ]
3380# [[inputs.snmp.host.table]]
3381# name = "iftable3"
3382# include_instances = ["enp5s0", "eth1"]
3383#
3384# # SNMP TABLEs
3385# # table without mapping neither subtables
3386# [[inputs.snmp.table]]
3387# name = "iftable1"
3388# oid = ".1.3.6.1.2.1.31.1.1.1"
3389#
3390# # table without mapping but with subtables
3391# [[inputs.snmp.table]]
3392# name = "iftable2"
3393# oid = ".1.3.6.1.2.1.31.1.1.1"
3394# sub_tables = [".1.3.6.1.2.1.2.2.1.13"]
3395#
3396# # table with mapping but without subtables
3397# [[inputs.snmp.table]]
3398# name = "iftable3"
3399# oid = ".1.3.6.1.2.1.31.1.1.1"
3400# # if empty. get all instances
3401# mapping_table = ".1.3.6.1.2.1.31.1.1.1.1"
3402# # if empty, get all subtables
3403#
3404# # table with both mapping and subtables
3405# [[inputs.snmp.table]]
3406# name = "iftable4"
3407# oid = ".1.3.6.1.2.1.31.1.1.1"
3408# # if empty get all instances
3409# mapping_table = ".1.3.6.1.2.1.31.1.1.1.1"
3410# # if empty get all subtables
3411# # sub_tables could be not "real subtables"
3412# sub_tables=[".1.3.6.1.2.1.2.2.1.13", "bytes_recv", "bytes_send"]
3413
3414
3415# # Read stats from one or more Solr servers or cores
3416# [[inputs.solr]]
3417# ## specify a list of one or more Solr servers
3418# servers = ["http://localhost:8983"]
3419#
3420# ## specify a list of one or more Solr cores (default - all)
3421# # cores = ["main"]
3422
3423
3424# # Read metrics from Microsoft SQL Server
3425# [[inputs.sqlserver]]
3426# ## Specify instances to monitor with a list of connection strings.
3427# ## All connection parameters are optional.
3428# ## By default, the host is localhost, listening on default port, TCP 1433.
3429# ## for Windows, the user is the currently running AD user (SSO).
3430# ## See https://github.com/denisenkom/go-mssqldb for detailed connection
3431# ## parameters.
3432# # servers = [
3433# # "Server=192.168.1.10;Port=1433;User Id=<user>;Password=<pw>;app name=telegraf;log=1;",
3434# # ]
3435#
3436# ## Optional parameter, setting this to 2 will use a new version
3437# ## of the collection queries that break compatibility with the original
3438# ## dashboards.
3439# query_version = 2
3440#
3441# ## If you are using AzureDB, setting this to true will gather resource utilization metrics
3442# # azuredb = false
3443#
3444# ## If you would like to exclude some of the metrics queries, list them here
3445# ## Possible choices:
3446# ## - PerformanceCounters
3447# ## - WaitStatsCategorized
3448# ## - DatabaseIO
3449# ## - DatabaseProperties
3450# ## - CPUHistory
3451# ## - DatabaseSize
3452# ## - DatabaseStats
3453# ## - MemoryClerk
3454# ## - VolumeSpace
3455# ## - PerformanceMetrics
3456# # exclude_query = [ 'DatabaseIO' ]
3457
3458
3459# # Sysstat metrics collector
3460# [[inputs.sysstat]]
3461# ## Path to the sadc command.
3462# #
3463# ## Common Defaults:
3464# ## Debian/Ubuntu: /usr/lib/sysstat/sadc
3465# ## Arch: /usr/lib/sa/sadc
3466# ## RHEL/CentOS: /usr/lib64/sa/sadc
3467# sadc_path = "/usr/lib/sa/sadc" # required
3468# #
3469# #
3470# ## Path to the sadf command, if it is not in PATH
3471# # sadf_path = "/usr/bin/sadf"
3472# #
3473# #
3474# ## Activities is a list of activities, that are passed as argument to the
3475# ## sadc collector utility (e.g: DISK, SNMP etc...)
3476# ## The more activities that are added, the more data is collected.
3477# # activities = ["DISK"]
3478# #
3479# #
3480# ## Group metrics to measurements.
3481# ##
3482# ## If group is false each metric will be prefixed with a description
3483# ## and represents itself a measurement.
3484# ##
3485# ## If Group is true, corresponding metrics are grouped to a single measurement.
3486# # group = true
3487# #
3488# #
3489# ## Options for the sadf command. The values on the left represent the sadf
3490# ## options and the values on the right their description (which are used for
3491# ## grouping and prefixing metrics).
3492# ##
3493# ## Run 'sar -h' or 'man sar' to find out the supported options for your
3494# ## sysstat version.
3495# [inputs.sysstat.options]
3496# -C = "cpu"
3497# -B = "paging"
3498# -b = "io"
3499# -d = "disk" # requires DISK activity
3500# "-n ALL" = "network"
3501# "-P ALL" = "per_cpu"
3502# -q = "queue"
3503# -R = "mem"
3504# -r = "mem_util"
3505# -S = "swap_util"
3506# -u = "cpu_util"
3507# -v = "inode"
3508# -W = "swap"
3509# -w = "task"
3510# # -H = "hugepages" # only available for newer linux distributions
3511# # "-I ALL" = "interrupts" # requires INT activity
3512# #
3513# #
3514# ## Device tags can be used to add additional tags for devices.
3515# ## For example the configuration below adds a tag vg with value rootvg for
3516# ## all metrics with sda devices.
3517# # [[inputs.sysstat.device_tags.sda]]
3518# # vg = "rootvg"
3519
3520
3521# # Reads metrics from a Teamspeak 3 Server via ServerQuery
3522# [[inputs.teamspeak]]
3523# ## Server address for Teamspeak 3 ServerQuery
3524# # server = "127.0.0.1:10011"
3525# ## Username for ServerQuery
3526# username = "serverqueryuser"
3527# ## Password for ServerQuery
3528# password = "secret"
3529# ## Array of virtual servers
3530# # virtual_servers = [1]
3531
3532
3533# # Read metrics about temperature
3534# [[inputs.temp]]
3535# # no configuration
3536
3537
3538# # Read Tengine's basic status information (ngx_http_reqstat_module)
3539# [[inputs.tengine]]
3540# # An array of Tengine reqstat module URI to gather stats.
3541# urls = ["http://127.0.0.1/us"]
3542#
3543# # HTTP response timeout (default: 5s)
3544# # response_timeout = "5s"
3545#
3546# ## Optional TLS Config
3547# # tls_ca = "/etc/telegraf/ca.pem"
3548# # tls_cert = "/etc/telegraf/cert.cer"
3549# # tls_key = "/etc/telegraf/key.key"
3550# ## Use TLS but skip chain & host verification
3551# # insecure_skip_verify = false
3552
3553
3554# # Gather metrics from the Tomcat server status page.
3555# [[inputs.tomcat]]
3556# ## URL of the Tomcat server status
3557# # url = "http://127.0.0.1:8080/manager/status/all?XML=true"
3558#
3559# ## HTTP Basic Auth Credentials
3560# # username = "tomcat"
3561# # password = "s3cret"
3562#
3563# ## Request timeout
3564# # timeout = "5s"
3565#
3566# ## Optional TLS Config
3567# # tls_ca = "/etc/telegraf/ca.pem"
3568# # tls_cert = "/etc/telegraf/cert.pem"
3569# # tls_key = "/etc/telegraf/key.pem"
3570# ## Use TLS but skip chain & host verification
3571# # insecure_skip_verify = false
3572
3573
3574# # Inserts sine and cosine waves for demonstration purposes
3575# [[inputs.trig]]
3576# ## Set the amplitude
3577# amplitude = 10.0
3578
3579
3580# # Read Twemproxy stats data
3581# [[inputs.twemproxy]]
3582# ## Twemproxy stats address and port (no scheme)
3583# addr = "localhost:22222"
3584# ## Monitor pool name
3585# pools = ["redis_pool", "mc_pool"]
3586
3587
3588# # A plugin to collect stats from the Unbound DNS resolver
3589# [[inputs.unbound]]
3590# ## Address of server to connect to, read from unbound conf default, optionally ':port'
3591# ## Will lookup IP if given a hostname
3592# server = "127.0.0.1:8953"
3593#
3594# ## If running as a restricted user you can prepend sudo for additional access:
3595# # use_sudo = false
3596#
3597# ## The default location of the unbound-control binary can be overridden with:
3598# # binary = "/usr/sbin/unbound-control"
3599#
3600# ## The default timeout of 1s can be overriden with:
3601# # timeout = "1s"
3602#
3603# ## When set to true, thread metrics are tagged with the thread id.
3604# ##
3605# ## The default is false for backwards compatibility, and will be change to
3606# ## true in a future version. It is recommended to set to true on new
3607# ## deployments.
3608# thread_as_tag = false
3609
3610
3611# # A plugin to collect stats from Varnish HTTP Cache
3612# [[inputs.varnish]]
3613# ## If running as a restricted user you can prepend sudo for additional access:
3614# #use_sudo = false
3615#
3616# ## The default location of the varnishstat binary can be overridden with:
3617# binary = "/usr/bin/varnishstat"
3618#
3619# ## By default, telegraf gather stats for 3 metric points.
3620# ## Setting stats will override the defaults shown below.
3621# ## Glob matching can be used, ie, stats = ["MAIN.*"]
3622# ## stats may also be set to ["*"], which will collect all stats
3623# stats = ["MAIN.cache_hit", "MAIN.cache_miss", "MAIN.uptime"]
3624#
3625# ## Optional name for the varnish instance (or working directory) to query
3626# ## Usually appened after -n in varnish cli
3627# # instance_name = instanceName
3628
3629
3630# # Monitor wifi signal strength and quality
3631# [[inputs.wireless]]
3632# ## Sets 'proc' directory path
3633# ## If not specified, then default is /proc
3634# # host_proc = "/proc"
3635
3636
3637# # Reads metrics from a SSL certificate
3638# [[inputs.x509_cert]]
3639# ## List certificate sources
3640# sources = ["/etc/ssl/certs/ssl-cert-snakeoil.pem", "tcp://example.org:443"]
3641#
3642# ## Timeout for SSL connection
3643# # timeout = "5s"
3644#
3645# ## Optional TLS Config
3646# # tls_ca = "/etc/telegraf/ca.pem"
3647# # tls_cert = "/etc/telegraf/cert.pem"
3648# # tls_key = "/etc/telegraf/key.pem"
3649#
3650# ## Use TLS but skip chain & host verification
3651# # insecure_skip_verify = false
3652
3653
3654# # Read metrics of ZFS from arcstats, zfetchstats, vdev_cache_stats, and pools
3655# [[inputs.zfs]]
3656# ## ZFS kstat path. Ignored on FreeBSD
3657# ## If not specified, then default is:
3658# # kstatPath = "/proc/spl/kstat/zfs"
3659#
3660# ## By default, telegraf gather all zfs stats
3661# ## If not specified, then default is:
3662# # kstatMetrics = ["arcstats", "zfetchstats", "vdev_cache_stats"]
3663# ## For Linux, the default is:
3664# # kstatMetrics = ["abdstats", "arcstats", "dnodestats", "dbufcachestats",
3665# # "dmu_tx", "fm", "vdev_mirror_stats", "zfetchstats", "zil"]
3666# ## By default, don't gather zpool stats
3667# # poolMetrics = false
3668
3669
3670# # Reads 'mntr' stats from one or many zookeeper servers
3671# [[inputs.zookeeper]]
3672# ## An array of address to gather stats about. Specify an ip or hostname
3673# ## with port. ie localhost:2181, 10.0.0.1:2181, etc.
3674#
3675# ## If no servers are specified, then localhost is used as the host.
3676# ## If no port is specified, 2181 is used
3677# servers = [":2181"]
3678#
3679# ## Timeout for metric collections from all servers. Minimum timeout is "1s".
3680# # timeout = "5s"
3681#
3682# ## Optional TLS Config
3683# # enable_tls = true
3684# # tls_ca = "/etc/telegraf/ca.pem"
3685# # tls_cert = "/etc/telegraf/cert.pem"
3686# # tls_key = "/etc/telegraf/key.pem"
3687# ## If false, skip chain & host verification
3688# # insecure_skip_verify = true
3689
3690
3691
3692###############################################################################
3693# SERVICE INPUT PLUGINS #
3694###############################################################################
3695
3696# # AMQP consumer plugin
3697# [[inputs.amqp_consumer]]
3698# ## Broker to consume from.
3699# ## deprecated in 1.7; use the brokers option
3700# # url = "amqp://localhost:5672/influxdb"
3701#
3702# ## Brokers to consume from. If multiple brokers are specified a random broker
3703# ## will be selected anytime a connection is established. This can be
3704# ## helpful for load balancing when not using a dedicated load balancer.
3705# brokers = ["amqp://localhost:5672/influxdb"]
3706#
3707# ## Authentication credentials for the PLAIN auth_method.
3708# # username = ""
3709# # password = ""
3710#
3711# ## Exchange to declare and consume from.
3712# exchange = "telegraf"
3713#
3714# ## Exchange type; common types are "direct", "fanout", "topic", "header", "x-consistent-hash".
3715# # exchange_type = "topic"
3716#
3717# ## If true, exchange will be passively declared.
3718# # exchange_passive = false
3719#
3720# ## Exchange durability can be either "transient" or "durable".
3721# # exchange_durability = "durable"
3722#
3723# ## Additional exchange arguments.
3724# # exchange_arguments = { }
3725# # exchange_arguments = {"hash_propery" = "timestamp"}
3726#
3727# ## AMQP queue name.
3728# queue = "telegraf"
3729#
3730# ## AMQP queue durability can be "transient" or "durable".
3731# queue_durability = "durable"
3732#
3733# ## Binding Key.
3734# binding_key = "#"
3735#
3736# ## Maximum number of messages server should give to the worker.
3737# # prefetch_count = 50
3738#
3739# ## Maximum messages to read from the broker that have not been written by an
3740# ## output. For best throughput set based on the number of metrics within
3741# ## each message and the size of the output's metric_batch_size.
3742# ##
3743# ## For example, if each message from the queue contains 10 metrics and the
3744# ## output metric_batch_size is 1000, setting this to 100 will ensure that a
3745# ## full batch is collected and the write is triggered immediately without
3746# ## waiting until the next flush_interval.
3747# # max_undelivered_messages = 1000
3748#
3749# ## Auth method. PLAIN and EXTERNAL are supported
3750# ## Using EXTERNAL requires enabling the rabbitmq_auth_mechanism_ssl plugin as
3751# ## described here: https://www.rabbitmq.com/plugins.html
3752# # auth_method = "PLAIN"
3753#
3754# ## Optional TLS Config
3755# # tls_ca = "/etc/telegraf/ca.pem"
3756# # tls_cert = "/etc/telegraf/cert.pem"
3757# # tls_key = "/etc/telegraf/key.pem"
3758# ## Use TLS but skip chain & host verification
3759# # insecure_skip_verify = false
3760#
3761# ## Data format to consume.
3762# ## Each data format has its own unique set of configuration options, read
3763# ## more about them here:
3764# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
3765# data_format = "influx"
3766
3767
3768# # Read Cassandra metrics through Jolokia
3769# [[inputs.cassandra]]
3770# ## DEPRECATED: The cassandra plugin has been deprecated. Please use the
3771# ## jolokia2 plugin instead.
3772# ##
3773# ## see https://github.com/influxdata/telegraf/tree/master/plugins/inputs/jolokia2
3774#
3775# context = "/jolokia/read"
3776# ## List of cassandra servers exposing jolokia read service
3777# servers = ["myuser:mypassword@10.10.10.1:8778","10.10.10.2:8778",":8778"]
3778# ## List of metrics collected on above servers
3779# ## Each metric consists of a jmx path.
3780# ## This will collect all heap memory usage metrics from the jvm and
3781# ## ReadLatency metrics for all keyspaces and tables.
3782# ## "type=Table" in the query works with Cassandra3.0. Older versions might
3783# ## need to use "type=ColumnFamily"
3784# metrics = [
3785# "/java.lang:type=Memory/HeapMemoryUsage",
3786# "/org.apache.cassandra.metrics:type=Table,keyspace=*,scope=*,name=ReadLatency"
3787# ]
3788
3789
3790# # Influx HTTP write listener
3791# [[inputs.http_listener]]
3792# ## Address and port to host HTTP listener on
3793# service_address = ":8186"
3794#
3795# ## maximum duration before timing out read of the request
3796# read_timeout = "10s"
3797# ## maximum duration before timing out write of the response
3798# write_timeout = "10s"
3799#
3800# ## Maximum allowed http request body size in bytes.
3801# ## 0 means to use the default of 524,288,000 bytes (500 mebibytes)
3802# max_body_size = "500MiB"
3803#
3804# ## Maximum line size allowed to be sent in bytes.
3805# ## 0 means to use the default of 65536 bytes (64 kibibytes)
3806# max_line_size = "64KiB"
3807#
3808# ## Set one or more allowed client CA certificate file names to
3809# ## enable mutually authenticated TLS connections
3810# tls_allowed_cacerts = ["/etc/telegraf/clientca.pem"]
3811#
3812# ## Add service certificate and key
3813# tls_cert = "/etc/telegraf/cert.pem"
3814# tls_key = "/etc/telegraf/key.pem"
3815#
3816# ## Optional username and password to accept for HTTP basic authentication.
3817# ## You probably want to make sure you have TLS configured above for this.
3818# # basic_username = "foobar"
3819# # basic_password = "barfoo"
3820
3821
3822# # Generic HTTP write listener
3823# [[inputs.http_listener_v2]]
3824# ## Address and port to host HTTP listener on
3825# service_address = ":8080"
3826#
3827# ## Path to listen to.
3828# # path = "/telegraf"
3829#
3830# ## HTTP methods to accept.
3831# # methods = ["POST", "PUT"]
3832#
3833# ## maximum duration before timing out read of the request
3834# # read_timeout = "10s"
3835# ## maximum duration before timing out write of the response
3836# # write_timeout = "10s"
3837#
3838# ## Maximum allowed http request body size in bytes.
3839# ## 0 means to use the default of 524,288,00 bytes (500 mebibytes)
3840# # max_body_size = "500MB"
3841#
3842# ## Set one or more allowed client CA certificate file names to
3843# ## enable mutually authenticated TLS connections
3844# # tls_allowed_cacerts = ["/etc/telegraf/clientca.pem"]
3845#
3846# ## Add service certificate and key
3847# # tls_cert = "/etc/telegraf/cert.pem"
3848# # tls_key = "/etc/telegraf/key.pem"
3849#
3850# ## Optional username and password to accept for HTTP basic authentication.
3851# ## You probably want to make sure you have TLS configured above for this.
3852# # basic_username = "foobar"
3853# # basic_password = "barfoo"
3854#
3855# ## Data format to consume.
3856# ## Each data format has its own unique set of configuration options, read
3857# ## more about them here:
3858# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
3859# data_format = "influx"
3860
3861
3862# # Influx HTTP write listener
3863# [[inputs.influxdb_listener]]
3864# ## Address and port to host HTTP listener on
3865# service_address = ":8186"
3866#
3867# ## maximum duration before timing out read of the request
3868# read_timeout = "10s"
3869# ## maximum duration before timing out write of the response
3870# write_timeout = "10s"
3871#
3872# ## Maximum allowed http request body size in bytes.
3873# ## 0 means to use the default of 524,288,000 bytes (500 mebibytes)
3874# max_body_size = "500MiB"
3875#
3876# ## Maximum line size allowed to be sent in bytes.
3877# ## 0 means to use the default of 65536 bytes (64 kibibytes)
3878# max_line_size = "64KiB"
3879#
3880# ## Set one or more allowed client CA certificate file names to
3881# ## enable mutually authenticated TLS connections
3882# tls_allowed_cacerts = ["/etc/telegraf/clientca.pem"]
3883#
3884# ## Add service certificate and key
3885# tls_cert = "/etc/telegraf/cert.pem"
3886# tls_key = "/etc/telegraf/key.pem"
3887#
3888# ## Optional username and password to accept for HTTP basic authentication.
3889# ## You probably want to make sure you have TLS configured above for this.
3890# # basic_username = "foobar"
3891# # basic_password = "barfoo"
3892
3893
3894# # Read JTI OpenConfig Telemetry from listed sensors
3895# [[inputs.jti_openconfig_telemetry]]
3896# ## List of device addresses to collect telemetry from
3897# servers = ["localhost:1883"]
3898#
3899# ## Authentication details. Username and password are must if device expects
3900# ## authentication. Client ID must be unique when connecting from multiple instances
3901# ## of telegraf to the same device
3902# username = "user"
3903# password = "pass"
3904# client_id = "telegraf"
3905#
3906# ## Frequency to get data
3907# sample_frequency = "1000ms"
3908#
3909# ## Sensors to subscribe for
3910# ## A identifier for each sensor can be provided in path by separating with space
3911# ## Else sensor path will be used as identifier
3912# ## When identifier is used, we can provide a list of space separated sensors.
3913# ## A single subscription will be created with all these sensors and data will
3914# ## be saved to measurement with this identifier name
3915# sensors = [
3916# "/interfaces/",
3917# "collection /components/ /lldp",
3918# ]
3919#
3920# ## We allow specifying sensor group level reporting rate. To do this, specify the
3921# ## reporting rate in Duration at the beginning of sensor paths / collection
3922# ## name. For entries without reporting rate, we use configured sample frequency
3923# sensors = [
3924# "1000ms customReporting /interfaces /lldp",
3925# "2000ms collection /components",
3926# "/interfaces",
3927# ]
3928#
3929# ## x509 Certificate to use with TLS connection. If it is not provided, an insecure
3930# ## channel will be opened with server
3931# ssl_cert = "/etc/telegraf/cert.pem"
3932#
3933# ## Delay between retry attempts of failed RPC calls or streams. Defaults to 1000ms.
3934# ## Failed streams/calls will not be retried if 0 is provided
3935# retry_delay = "1000ms"
3936#
3937# ## To treat all string values as tags, set this to true
3938# str_as_tags = false
3939
3940
3941# # Read metrics from Kafka topic(s)
3942# [[inputs.kafka_consumer]]
3943# ## kafka servers
3944# brokers = ["localhost:9092"]
3945# ## topic(s) to consume
3946# topics = ["telegraf"]
3947#
3948# ## Optional Client id
3949# # client_id = "Telegraf"
3950#
3951# ## Set the minimal supported Kafka version. Setting this enables the use of new
3952# ## Kafka features and APIs. Of particular interest, lz4 compression
3953# ## requires at least version 0.10.0.0.
3954# ## ex: version = "1.1.0"
3955# # version = ""
3956#
3957# ## Optional TLS Config
3958# # tls_ca = "/etc/telegraf/ca.pem"
3959# # tls_cert = "/etc/telegraf/cert.pem"
3960# # tls_key = "/etc/telegraf/key.pem"
3961# ## Use TLS but skip chain & host verification
3962# # insecure_skip_verify = false
3963#
3964# ## Optional SASL Config
3965# # sasl_username = "kafka"
3966# # sasl_password = "secret"
3967#
3968# ## the name of the consumer group
3969# consumer_group = "telegraf_metrics_consumers"
3970# ## Offset (must be either "oldest" or "newest")
3971# offset = "oldest"
3972# ## Maximum length of a message to consume, in bytes (default 0/unlimited);
3973# ## larger messages are dropped
3974# max_message_len = 1000000
3975#
3976# ## Maximum messages to read from the broker that have not been written by an
3977# ## output. For best throughput set based on the number of metrics within
3978# ## each message and the size of the output's metric_batch_size.
3979# ##
3980# ## For example, if each message from the queue contains 10 metrics and the
3981# ## output metric_batch_size is 1000, setting this to 100 will ensure that a
3982# ## full batch is collected and the write is triggered immediately without
3983# ## waiting until the next flush_interval.
3984# # max_undelivered_messages = 1000
3985#
3986# ## Data format to consume.
3987# ## Each data format has its own unique set of configuration options, read
3988# ## more about them here:
3989# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
3990# data_format = "influx"
3991
3992
3993# # Read metrics from Kafka topic(s)
3994# [[inputs.kafka_consumer_legacy]]
3995# ## topic(s) to consume
3996# topics = ["telegraf"]
3997# ## an array of Zookeeper connection strings
3998# zookeeper_peers = ["localhost:2181"]
3999# ## Zookeeper Chroot
4000# zookeeper_chroot = ""
4001# ## the name of the consumer group
4002# consumer_group = "telegraf_metrics_consumers"
4003# ## Offset (must be either "oldest" or "newest")
4004# offset = "oldest"
4005#
4006# ## Data format to consume.
4007# ## Each data format has its own unique set of configuration options, read
4008# ## more about them here:
4009# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
4010# data_format = "influx"
4011#
4012# ## Maximum length of a message to consume, in bytes (default 0/unlimited);
4013# ## larger messages are dropped
4014# max_message_len = 65536
4015
4016
4017# # Stream and parse log file(s).
4018# [[inputs.logparser]]
4019# ## Log files to parse.
4020# ## These accept standard unix glob matching rules, but with the addition of
4021# ## ** as a "super asterisk". ie:
4022# ## /var/log/**.log -> recursively find all .log files in /var/log
4023# ## /var/log/*/*.log -> find all .log files with a parent dir in /var/log
4024# ## /var/log/apache.log -> only tail the apache log file
4025# files = ["/var/log/apache/access.log"]
4026#
4027# ## Read files that currently exist from the beginning. Files that are created
4028# ## while telegraf is running (and that match the "files" globs) will always
4029# ## be read from the beginning.
4030# from_beginning = false
4031#
4032# ## Method used to watch for file updates. Can be either "inotify" or "poll".
4033# # watch_method = "inotify"
4034#
4035# ## Parse logstash-style "grok" patterns:
4036# [inputs.logparser.grok]
4037# ## This is a list of patterns to check the given log file(s) for.
4038# ## Note that adding patterns here increases processing time. The most
4039# ## efficient configuration is to have one pattern per logparser.
4040# ## Other common built-in patterns are:
4041# ## %{COMMON_LOG_FORMAT} (plain apache & nginx access logs)
4042# ## %{COMBINED_LOG_FORMAT} (access logs + referrer & agent)
4043# patterns = ["%{COMBINED_LOG_FORMAT}"]
4044#
4045# ## Name of the outputted measurement name.
4046# measurement = "apache_access_log"
4047#
4048# ## Full path(s) to custom pattern files.
4049# custom_pattern_files = []
4050#
4051# ## Custom patterns can also be defined here. Put one pattern per line.
4052# custom_patterns = '''
4053# '''
4054#
4055# ## Timezone allows you to provide an override for timestamps that
4056# ## don't already include an offset
4057# ## e.g. 04/06/2016 12:41:45 data one two 5.43µs
4058# ##
4059# ## Default: "" which renders UTC
4060# ## Options are as follows:
4061# ## 1. Local -- interpret based on machine localtime
4062# ## 2. "Canada/Eastern" -- Unix TZ values like those found in https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
4063# ## 3. UTC -- or blank/unspecified, will return timestamp in UTC
4064# # timezone = "Canada/Eastern"
4065
4066
4067# # Read metrics from MQTT topic(s)
4068# [[inputs.mqtt_consumer]]
4069# ## MQTT broker URLs to be used. The format should be scheme://host:port,
4070# ## schema can be tcp, ssl, or ws.
4071# servers = ["tcp://localhost:1883"]
4072#
4073# ## QoS policy for messages
4074# ## 0 = at most once
4075# ## 1 = at least once
4076# ## 2 = exactly once
4077# ##
4078# ## When using a QoS of 1 or 2, you should enable persistent_session to allow
4079# ## resuming unacknowledged messages.
4080# qos = 0
4081#
4082# ## Connection timeout for initial connection in seconds
4083# connection_timeout = "30s"
4084#
4085# ## Maximum messages to read from the broker that have not been written by an
4086# ## output. For best throughput set based on the number of metrics within
4087# ## each message and the size of the output's metric_batch_size.
4088# ##
4089# ## For example, if each message from the queue contains 10 metrics and the
4090# ## output metric_batch_size is 1000, setting this to 100 will ensure that a
4091# ## full batch is collected and the write is triggered immediately without
4092# ## waiting until the next flush_interval.
4093# # max_undelivered_messages = 1000
4094#
4095# ## Topics to subscribe to
4096# topics = [
4097# "telegraf/host01/cpu",
4098# "telegraf/+/mem",
4099# "sensors/#",
4100# ]
4101#
4102# # if true, messages that can't be delivered while the subscriber is offline
4103# # will be delivered when it comes back (such as on service restart).
4104# # NOTE: if true, client_id MUST be set
4105# persistent_session = false
4106# # If empty, a random client ID will be generated.
4107# client_id = ""
4108#
4109# ## username and password to connect MQTT server.
4110# # username = "telegraf"
4111# # password = "metricsmetricsmetricsmetrics"
4112#
4113# ## Optional TLS Config
4114# # tls_ca = "/etc/telegraf/ca.pem"
4115# # tls_cert = "/etc/telegraf/cert.pem"
4116# # tls_key = "/etc/telegraf/key.pem"
4117# ## Use TLS but skip chain & host verification
4118# # insecure_skip_verify = false
4119#
4120# ## Data format to consume.
4121# ## Each data format has its own unique set of configuration options, read
4122# ## more about them here:
4123# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
4124# data_format = "influx"
4125
4126
4127# # Read metrics from NATS subject(s)
4128# [[inputs.nats_consumer]]
4129# ## urls of NATS servers
4130# servers = ["nats://localhost:4222"]
4131# ## Use Transport Layer Security
4132# secure = false
4133# ## subject(s) to consume
4134# subjects = ["telegraf"]
4135# ## name a queue group
4136# queue_group = "telegraf_consumers"
4137#
4138# ## Sets the limits for pending msgs and bytes for each subscription
4139# ## These shouldn't need to be adjusted except in very high throughput scenarios
4140# # pending_message_limit = 65536
4141# # pending_bytes_limit = 67108864
4142#
4143# ## Maximum messages to read from the broker that have not been written by an
4144# ## output. For best throughput set based on the number of metrics within
4145# ## each message and the size of the output's metric_batch_size.
4146# ##
4147# ## For example, if each message from the queue contains 10 metrics and the
4148# ## output metric_batch_size is 1000, setting this to 100 will ensure that a
4149# ## full batch is collected and the write is triggered immediately without
4150# ## waiting until the next flush_interval.
4151# # max_undelivered_messages = 1000
4152#
4153# ## Data format to consume.
4154# ## Each data format has its own unique set of configuration options, read
4155# ## more about them here:
4156# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
4157# data_format = "influx"
4158
4159
4160# # Read NSQ topic for metrics.
4161# [[inputs.nsq_consumer]]
4162# ## Server option still works but is deprecated, we just prepend it to the nsqd array.
4163# # server = "localhost:4150"
4164# ## An array representing the NSQD TCP HTTP Endpoints
4165# nsqd = ["localhost:4150"]
4166# ## An array representing the NSQLookupd HTTP Endpoints
4167# nsqlookupd = ["localhost:4161"]
4168# topic = "telegraf"
4169# channel = "consumer"
4170# max_in_flight = 100
4171#
4172# ## Maximum messages to read from the broker that have not been written by an
4173# ## output. For best throughput set based on the number of metrics within
4174# ## each message and the size of the output's metric_batch_size.
4175# ##
4176# ## For example, if each message from the queue contains 10 metrics and the
4177# ## output metric_batch_size is 1000, setting this to 100 will ensure that a
4178# ## full batch is collected and the write is triggered immediately without
4179# ## waiting until the next flush_interval.
4180# # max_undelivered_messages = 1000
4181#
4182# ## Data format to consume.
4183# ## Each data format has its own unique set of configuration options, read
4184# ## more about them here:
4185# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
4186# data_format = "influx"
4187
4188
4189# # Read metrics from one or many pgbouncer servers
4190# [[inputs.pgbouncer]]
4191# ## specify address via a url matching:
4192# ## postgres://[pqgotest[:password]]@localhost[/dbname]\
4193# ## ?sslmode=[disable|verify-ca|verify-full]
4194# ## or a simple string:
4195# ## host=localhost user=pqotest password=... sslmode=... dbname=app_production
4196# ##
4197# ## All connection parameters are optional.
4198# ##
4199# address = "host=localhost user=pgbouncer sslmode=disable"
4200
4201
4202# # Read metrics from one or many postgresql servers
4203# [[inputs.postgresql]]
4204# ## specify address via a url matching:
4205# ## postgres://[pqgotest[:password]]@localhost[/dbname]\
4206# ## ?sslmode=[disable|verify-ca|verify-full]
4207# ## or a simple string:
4208# ## host=localhost user=pqotest password=... sslmode=... dbname=app_production
4209# ##
4210# ## All connection parameters are optional.
4211# ##
4212# ## Without the dbname parameter, the driver will default to a database
4213# ## with the same name as the user. This dbname is just for instantiating a
4214# ## connection with the server and doesn't restrict the databases we are trying
4215# ## to grab metrics for.
4216# ##
4217# address = "host=localhost user=postgres sslmode=disable"
4218# ## A custom name for the database that will be used as the "server" tag in the
4219# ## measurement output. If not specified, a default one generated from
4220# ## the connection address is used.
4221# # outputaddress = "db01"
4222#
4223# ## connection configuration.
4224# ## maxlifetime - specify the maximum lifetime of a connection.
4225# ## default is forever (0s)
4226# max_lifetime = "0s"
4227#
4228# ## A list of databases to explicitly ignore. If not specified, metrics for all
4229# ## databases are gathered. Do NOT use with the 'databases' option.
4230# # ignored_databases = ["postgres", "template0", "template1"]
4231#
4232# ## A list of databases to pull metrics about. If not specified, metrics for all
4233# ## databases are gathered. Do NOT use with the 'ignored_databases' option.
4234# # databases = ["app_production", "testing"]
4235
4236
4237# # Read metrics from one or many postgresql servers
4238# [[inputs.postgresql_extensible]]
4239# ## specify address via a url matching:
4240# ## postgres://[pqgotest[:password]]@localhost[/dbname]\
4241# ## ?sslmode=[disable|verify-ca|verify-full]
4242# ## or a simple string:
4243# ## host=localhost user=pqotest password=... sslmode=... dbname=app_production
4244# #
4245# ## All connection parameters are optional. #
4246# ## Without the dbname parameter, the driver will default to a database
4247# ## with the same name as the user. This dbname is just for instantiating a
4248# ## connection with the server and doesn't restrict the databases we are trying
4249# ## to grab metrics for.
4250# #
4251# address = "host=localhost user=postgres sslmode=disable"
4252#
4253# ## connection configuration.
4254# ## maxlifetime - specify the maximum lifetime of a connection.
4255# ## default is forever (0s)
4256# max_lifetime = "0s"
4257#
4258# ## A list of databases to pull metrics about. If not specified, metrics for all
4259# ## databases are gathered.
4260# ## databases = ["app_production", "testing"]
4261# #
4262# ## A custom name for the database that will be used as the "server" tag in the
4263# ## measurement output. If not specified, a default one generated from
4264# ## the connection address is used.
4265# # outputaddress = "db01"
4266# #
4267# ## Define the toml config where the sql queries are stored
4268# ## New queries can be added, if the withdbname is set to true and there is no
4269# ## databases defined in the 'databases field', the sql query is ended by a
4270# ## 'is not null' in order to make the query succeed.
4271# ## Example :
4272# ## The sqlquery : "SELECT * FROM pg_stat_database where datname" become
4273# ## "SELECT * FROM pg_stat_database where datname IN ('postgres', 'pgbench')"
4274# ## because the databases variable was set to ['postgres', 'pgbench' ] and the
4275# ## withdbname was true. Be careful that if the withdbname is set to false you
4276# ## don't have to define the where clause (aka with the dbname) the tagvalue
4277# ## field is used to define custom tags (separated by commas)
4278# ## The optional "measurement" value can be used to override the default
4279# ## output measurement name ("postgresql").
4280# #
4281# ## Structure :
4282# ## [[inputs.postgresql_extensible.query]]
4283# ## sqlquery string
4284# ## version string
4285# ## withdbname boolean
4286# ## tagvalue string (comma separated)
4287# ## measurement string
4288# [[inputs.postgresql_extensible.query]]
4289# sqlquery="SELECT * FROM pg_stat_database"
4290# version=901
4291# withdbname=false
4292# tagvalue=""
4293# measurement=""
4294# [[inputs.postgresql_extensible.query]]
4295# sqlquery="SELECT * FROM pg_stat_bgwriter"
4296# version=901
4297# withdbname=false
4298# tagvalue="postgresql.stats"
4299
4300
4301# # Read metrics from one or many prometheus clients
4302# [[inputs.prometheus]]
4303# ## An array of urls to scrape metrics from.
4304# urls = ["http://localhost:9100/metrics"]
4305#
4306# ## An array of Kubernetes services to scrape metrics from.
4307# # kubernetes_services = ["http://my-service-dns.my-namespace:9100/metrics"]
4308#
4309# ## Kubernetes config file to create client from.
4310# # kube_config = "/path/to/kubernetes.config"
4311#
4312# ## Scrape Kubernetes pods for the following prometheus annotations:
4313# ## - prometheus.io/scrape: Enable scraping for this pod
4314# ## - prometheus.io/scheme: If the metrics endpoint is secured then you will need to
4315# ## set this to 'https' & most likely set the tls config.
4316# ## - prometheus.io/path: If the metrics path is not /metrics, define it with this annotation.
4317# ## - prometheus.io/port: If port is not 9102 use this annotation
4318# # monitor_kubernetes_pods = true
4319#
4320# ## Use bearer token for authorization
4321# # bearer_token = /path/to/bearer/token
4322#
4323# ## Specify timeout duration for slower prometheus clients (default is 3s)
4324# # response_timeout = "3s"
4325#
4326# ## Optional TLS Config
4327# # tls_ca = /path/to/cafile
4328# # tls_cert = /path/to/certfile
4329# # tls_key = /path/to/keyfile
4330# ## Use TLS but skip chain & host verification
4331# # insecure_skip_verify = false
4332
4333
4334# # Generic socket listener capable of handling multiple socket types.
4335# [[inputs.socket_listener]]
4336# ## URL to listen on
4337# # service_address = "tcp://:8094"
4338# # service_address = "tcp://127.0.0.1:http"
4339# # service_address = "tcp4://:8094"
4340# # service_address = "tcp6://:8094"
4341# # service_address = "tcp6://[2001:db8::1]:8094"
4342# # service_address = "udp://:8094"
4343# # service_address = "udp4://:8094"
4344# # service_address = "udp6://:8094"
4345# # service_address = "unix:///tmp/telegraf.sock"
4346# # service_address = "unixgram:///tmp/telegraf.sock"
4347#
4348# ## Maximum number of concurrent connections.
4349# ## Only applies to stream sockets (e.g. TCP).
4350# ## 0 (default) is unlimited.
4351# # max_connections = 1024
4352#
4353# ## Read timeout.
4354# ## Only applies to stream sockets (e.g. TCP).
4355# ## 0 (default) is unlimited.
4356# # read_timeout = "30s"
4357#
4358# ## Optional TLS configuration.
4359# ## Only applies to stream sockets (e.g. TCP).
4360# # tls_cert = "/etc/telegraf/cert.pem"
4361# # tls_key = "/etc/telegraf/key.pem"
4362# ## Enables client authentication if set.
4363# # tls_allowed_cacerts = ["/etc/telegraf/clientca.pem"]
4364#
4365# ## Maximum socket buffer size (in bytes when no unit specified).
4366# ## For stream sockets, once the buffer fills up, the sender will start backing up.
4367# ## For datagram sockets, once the buffer fills up, metrics will start dropping.
4368# ## Defaults to the OS default.
4369# # read_buffer_size = "64KiB"
4370#
4371# ## Period between keep alive probes.
4372# ## Only applies to TCP sockets.
4373# ## 0 disables keep alive probes.
4374# ## Defaults to the OS configuration.
4375# # keep_alive_period = "5m"
4376#
4377# ## Data format to consume.
4378# ## Each data format has its own unique set of configuration options, read
4379# ## more about them here:
4380# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
4381# # data_format = "influx"
4382
4383
4384# # Statsd UDP/TCP Server
4385# [[inputs.statsd]]
4386# ## Protocol, must be "tcp", "udp", "udp4" or "udp6" (default=udp)
4387# protocol = "udp"
4388#
4389# ## MaxTCPConnection - applicable when protocol is set to tcp (default=250)
4390# max_tcp_connections = 250
4391#
4392# ## Enable TCP keep alive probes (default=false)
4393# tcp_keep_alive = false
4394#
4395# ## Specifies the keep-alive period for an active network connection.
4396# ## Only applies to TCP sockets and will be ignored if tcp_keep_alive is false.
4397# ## Defaults to the OS configuration.
4398# # tcp_keep_alive_period = "2h"
4399#
4400# ## Address and port to host UDP listener on
4401# service_address = ":8125"
4402#
4403# ## The following configuration options control when telegraf clears it's cache
4404# ## of previous values. If set to false, then telegraf will only clear it's
4405# ## cache when the daemon is restarted.
4406# ## Reset gauges every interval (default=true)
4407# delete_gauges = true
4408# ## Reset counters every interval (default=true)
4409# delete_counters = true
4410# ## Reset sets every interval (default=true)
4411# delete_sets = true
4412# ## Reset timings & histograms every interval (default=true)
4413# delete_timings = true
4414#
4415# ## Percentiles to calculate for timing & histogram stats
4416# percentiles = [90]
4417#
4418# ## separator to use between elements of a statsd metric
4419# metric_separator = "_"
4420#
4421# ## Parses tags in the datadog statsd format
4422# ## http://docs.datadoghq.com/guides/dogstatsd/
4423# parse_data_dog_tags = false
4424#
4425# ## Statsd data translation templates, more info can be read here:
4426# ## https://github.com/influxdata/telegraf/blob/master/docs/TEMPLATE_PATTERN.md
4427# # templates = [
4428# # "cpu.* measurement*"
4429# # ]
4430#
4431# ## Number of UDP messages allowed to queue up, once filled,
4432# ## the statsd server will start dropping packets
4433# allowed_pending_messages = 10000
4434#
4435# ## Number of timing/histogram values to track per-measurement in the
4436# ## calculation of percentiles. Raising this limit increases the accuracy
4437# ## of percentiles but also increases the memory usage and cpu time.
4438# percentile_limit = 1000
4439
4440
4441# # Accepts syslog messages per RFC5425
4442# [[inputs.syslog]]
4443# ## Specify an ip or hostname with port - eg., tcp://localhost:6514, tcp://10.0.0.1:6514
4444# ## Protocol, address and port to host the syslog receiver.
4445# ## If no host is specified, then localhost is used.
4446# ## If no port is specified, 6514 is used (RFC5425#section-4.1).
4447# server = "tcp://:6514"
4448#
4449# ## TLS Config
4450# # tls_allowed_cacerts = ["/etc/telegraf/ca.pem"]
4451# # tls_cert = "/etc/telegraf/cert.pem"
4452# # tls_key = "/etc/telegraf/key.pem"
4453#
4454# ## Period between keep alive probes.
4455# ## 0 disables keep alive probes.
4456# ## Defaults to the OS configuration.
4457# ## Only applies to stream sockets (e.g. TCP).
4458# # keep_alive_period = "5m"
4459#
4460# ## Maximum number of concurrent connections (default = 0).
4461# ## 0 means unlimited.
4462# ## Only applies to stream sockets (e.g. TCP).
4463# # max_connections = 1024
4464#
4465# ## Read timeout is the maximum time allowed for reading a single message (default = 5s).
4466# ## 0 means unlimited.
4467# # read_timeout = "5s"
4468#
4469# ## Whether to parse in best effort mode or not (default = false).
4470# ## By default best effort parsing is off.
4471# # best_effort = false
4472#
4473# ## Character to prepend to SD-PARAMs (default = "_").
4474# ## A syslog message can contain multiple parameters and multiple identifiers within structured data section.
4475# ## Eg., [id1 name1="val1" name2="val2"][id2 name1="val1" nameA="valA"]
4476# ## For each combination a field is created.
4477# ## Its name is created concatenating identifier, sdparam_separator, and parameter name.
4478# # sdparam_separator = "_"
4479
4480
4481# # Stream a log file, like the tail -f command
4482# [[inputs.tail]]
4483# ## files to tail.
4484# ## These accept standard unix glob matching rules, but with the addition of
4485# ## ** as a "super asterisk". ie:
4486# ## "/var/log/**.log" -> recursively find all .log files in /var/log
4487# ## "/var/log/*/*.log" -> find all .log files with a parent dir in /var/log
4488# ## "/var/log/apache.log" -> just tail the apache log file
4489# ##
4490# ## See https://github.com/gobwas/glob for more examples
4491# ##
4492# files = ["/var/mymetrics.out"]
4493# ## Read file from beginning.
4494# from_beginning = false
4495# ## Whether file is a named pipe
4496# pipe = false
4497#
4498# ## Method used to watch for file updates. Can be either "inotify" or "poll".
4499# # watch_method = "inotify"
4500#
4501# ## Data format to consume.
4502# ## Each data format has its own unique set of configuration options, read
4503# ## more about them here:
4504# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
4505# data_format = "influx"
4506
4507
4508# # Generic TCP listener
4509# [[inputs.tcp_listener]]
4510# # DEPRECATED: the TCP listener plugin has been deprecated in favor of the
4511# # socket_listener plugin
4512# # see https://github.com/influxdata/telegraf/tree/master/plugins/inputs/socket_listener
4513
4514
4515# # Generic UDP listener
4516# [[inputs.udp_listener]]
4517# # DEPRECATED: the TCP listener plugin has been deprecated in favor of the
4518# # socket_listener plugin
4519# # see https://github.com/influxdata/telegraf/tree/master/plugins/inputs/socket_listener
4520
4521
4522# # Read metrics from VMware vCenter
4523# [[inputs.vsphere]]
4524# ## List of vCenter URLs to be monitored. These three lines must be uncommented
4525# ## and edited for the plugin to work.
4526# vcenters = [ "https://vcenter.local/sdk" ]
4527# username = "user@corp.local"
4528# password = "secret"
4529#
4530# ## VMs
4531# ## Typical VM metrics (if omitted or empty, all metrics are collected)
4532# vm_metric_include = [
4533# "cpu.demand.average",
4534# "cpu.idle.summation",
4535# "cpu.latency.average",
4536# "cpu.readiness.average",
4537# "cpu.ready.summation",
4538# "cpu.run.summation",
4539# "cpu.usagemhz.average",
4540# "cpu.used.summation",
4541# "cpu.wait.summation",
4542# "mem.active.average",
4543# "mem.granted.average",
4544# "mem.latency.average",
4545# "mem.swapin.average",
4546# "mem.swapinRate.average",
4547# "mem.swapout.average",
4548# "mem.swapoutRate.average",
4549# "mem.usage.average",
4550# "mem.vmmemctl.average",
4551# "net.bytesRx.average",
4552# "net.bytesTx.average",
4553# "net.droppedRx.summation",
4554# "net.droppedTx.summation",
4555# "net.usage.average",
4556# "power.power.average",
4557# "virtualDisk.numberReadAveraged.average",
4558# "virtualDisk.numberWriteAveraged.average",
4559# "virtualDisk.read.average",
4560# "virtualDisk.readOIO.latest",
4561# "virtualDisk.throughput.usage.average",
4562# "virtualDisk.totalReadLatency.average",
4563# "virtualDisk.totalWriteLatency.average",
4564# "virtualDisk.write.average",
4565# "virtualDisk.writeOIO.latest",
4566# "sys.uptime.latest",
4567# ]
4568# # vm_metric_exclude = [] ## Nothing is excluded by default
4569# # vm_instances = true ## true by default
4570#
4571# ## Hosts
4572# ## Typical host metrics (if omitted or empty, all metrics are collected)
4573# host_metric_include = [
4574# "cpu.coreUtilization.average",
4575# "cpu.costop.summation",
4576# "cpu.demand.average",
4577# "cpu.idle.summation",
4578# "cpu.latency.average",
4579# "cpu.readiness.average",
4580# "cpu.ready.summation",
4581# "cpu.swapwait.summation",
4582# "cpu.usage.average",
4583# "cpu.usagemhz.average",
4584# "cpu.used.summation",
4585# "cpu.utilization.average",
4586# "cpu.wait.summation",
4587# "disk.deviceReadLatency.average",
4588# "disk.deviceWriteLatency.average",
4589# "disk.kernelReadLatency.average",
4590# "disk.kernelWriteLatency.average",
4591# "disk.numberReadAveraged.average",
4592# "disk.numberWriteAveraged.average",
4593# "disk.read.average",
4594# "disk.totalReadLatency.average",
4595# "disk.totalWriteLatency.average",
4596# "disk.write.average",
4597# "mem.active.average",
4598# "mem.latency.average",
4599# "mem.state.latest",
4600# "mem.swapin.average",
4601# "mem.swapinRate.average",
4602# "mem.swapout.average",
4603# "mem.swapoutRate.average",
4604# "mem.totalCapacity.average",
4605# "mem.usage.average",
4606# "mem.vmmemctl.average",
4607# "net.bytesRx.average",
4608# "net.bytesTx.average",
4609# "net.droppedRx.summation",
4610# "net.droppedTx.summation",
4611# "net.errorsRx.summation",
4612# "net.errorsTx.summation",
4613# "net.usage.average",
4614# "power.power.average",
4615# "storageAdapter.numberReadAveraged.average",
4616# "storageAdapter.numberWriteAveraged.average",
4617# "storageAdapter.read.average",
4618# "storageAdapter.write.average",
4619# "sys.uptime.latest",
4620# ]
4621# # host_metric_exclude = [] ## Nothing excluded by default
4622# # host_instances = true ## true by default
4623#
4624# ## Clusters
4625# # cluster_metric_include = [] ## if omitted or empty, all metrics are collected
4626# # cluster_metric_exclude = [] ## Nothing excluded by default
4627# # cluster_instances = true ## true by default
4628#
4629# ## Datastores
4630# # datastore_metric_include = [] ## if omitted or empty, all metrics are collected
4631# # datastore_metric_exclude = [] ## Nothing excluded by default
4632# # datastore_instances = false ## false by default for Datastores only
4633#
4634# ## Datacenters
4635# datacenter_metric_include = [] ## if omitted or empty, all metrics are collected
4636# datacenter_metric_exclude = [ "*" ] ## Datacenters are not collected by default.
4637# # datacenter_instances = false ## false by default for Datastores only
4638#
4639# ## Plugin Settings
4640# ## separator character to use for measurement and field names (default: "_")
4641# # separator = "_"
4642#
4643# ## number of objects to retreive per query for realtime resources (vms and hosts)
4644# ## set to 64 for vCenter 5.5 and 6.0 (default: 256)
4645# # max_query_objects = 256
4646#
4647# ## number of metrics to retreive per query for non-realtime resources (clusters and datastores)
4648# ## set to 64 for vCenter 5.5 and 6.0 (default: 256)
4649# # max_query_metrics = 256
4650#
4651# ## number of go routines to use for collection and discovery of objects and metrics
4652# # collect_concurrency = 1
4653# # discover_concurrency = 1
4654#
4655# ## whether or not to force discovery of new objects on initial gather call before collecting metrics
4656# ## when true for large environments this may cause errors for time elapsed while collecting metrics
4657# ## when false (default) the first collection cycle may result in no or limited metrics while objects are discovered
4658# # force_discover_on_init = false
4659#
4660# ## the interval before (re)discovering objects subject to metrics collection (default: 300s)
4661# # object_discovery_interval = "300s"
4662#
4663# ## timeout applies to any of the api request made to vcenter
4664# # timeout = "20s"
4665#
4666# ## Optional SSL Config
4667# # ssl_ca = "/path/to/cafile"
4668# # ssl_cert = "/path/to/certfile"
4669# # ssl_key = "/path/to/keyfile"
4670# ## Use SSL but skip chain & host verification
4671# # insecure_skip_verify = false
4672
4673
4674# # A Webhooks Event collector
4675# [[inputs.webhooks]]
4676# ## Address and port to host Webhook listener on
4677# service_address = ":1619"
4678#
4679# [inputs.webhooks.filestack]
4680# path = "/filestack"
4681#
4682# [inputs.webhooks.github]
4683# path = "/github"
4684# # secret = ""
4685#
4686# [inputs.webhooks.mandrill]
4687# path = "/mandrill"
4688#
4689# [inputs.webhooks.rollbar]
4690# path = "/rollbar"
4691#
4692# [inputs.webhooks.papertrail]
4693# path = "/papertrail"
4694#
4695# [inputs.webhooks.particle]
4696# path = "/particle"
4697
4698
4699# # This plugin implements the Zipkin http server to gather trace and timing data needed to troubleshoot latency problems in microservice architectures.
4700# [[inputs.zipkin]]
4701# # path = "/api/v1/spans" # URL path for span data
4702# # port = 9411 # Port on which Telegraf listens