· 7 years ago · Feb 09, 2018, 11:34 AM
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 = "30s"
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. You shouldn't set this below
51 ## interval. Maximum flush_interval will be 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 influxdb server to send metrics to
86[[outputs.influxdb]]
87 ## The full HTTP or UDP URL for your InfluxDB instance.
88 ##
89 ## Multiple urls can be specified as part of the same cluster,
90 ## this means that only ONE of the urls will be written to each interval.
91 # urls = ["udp://192.168.10.252:8089"] # UDP endpoint example
92 urls = ["http://192.168.10.252:8086"] # required
93 ## The target database for metrics (telegraf will create it if not exists).
94 database = "telegraf" # required
95
96 ## Name of existing retention policy to write to. Empty string writes to
97 ## the default retention policy.
98 retention_policy = ""
99 ## Write consistency (clusters only), can be: "any", "one", "quorum", "all"
100 write_consistency = "any"
101
102 ## Write timeout (for the InfluxDB client), formatted as a string.
103 ## If not provided, will default to 5s. 0s means no timeout (not recommended).
104 timeout = "5s"
105 # username = "telegraf"
106 # password = "metricsmetricsmetricsmetrics"
107 ## Set the user agent for HTTP POSTs (can be useful for log differentiation)
108 # user_agent = "telegraf"
109 ## Set UDP payload size, defaults to InfluxDB UDP Client default (512 bytes)
110 # udp_payload = 512
111
112 ## Optional SSL Config
113 # ssl_ca = "/etc/telegraf/ca.pem"
114 # ssl_cert = "/etc/telegraf/cert.pem"
115 # ssl_key = "/etc/telegraf/key.pem"
116 ## Use SSL but skip chain & host verification
117 # insecure_skip_verify = false
118
119 ## HTTP Proxy Config
120 # http_proxy = "http://corporate.proxy:3128"
121
122 ## Optional HTTP headers
123 # http_headers = {"X-Special-Header" = "Special-Value"}
124
125 ## Compress each HTTP request payload using GZIP.
126 # content_encoding = "gzip"
127
128
129# # Configuration for Amon Server to send metrics to.
130# [[outputs.amon]]
131# ## Amon Server Key
132# server_key = "my-server-key" # required.
133#
134# ## Amon Instance URL
135# amon_instance = "https://youramoninstance" # required
136#
137# ## Connection timeout.
138# # timeout = "5s"
139
140
141# # Configuration for the AMQP server to send metrics to
142# [[outputs.amqp]]
143# ## AMQP url
144# url = "amqp://localhost:5672/influxdb"
145# ## AMQP exchange
146# exchange = "telegraf"
147# ## Auth method. PLAIN and EXTERNAL are supported
148# ## Using EXTERNAL requires enabling the rabbitmq_auth_mechanism_ssl plugin as
149# ## described here: https://www.rabbitmq.com/plugins.html
150# # auth_method = "PLAIN"
151# ## Telegraf tag to use as a routing key
152# ## ie, if this tag exists, its value will be used as the routing key
153# routing_tag = "host"
154# ## Delivery Mode controls if a published message is persistent
155# ## Valid options are "transient" and "persistent". default: "transient"
156# delivery_mode = "transient"
157#
158# ## InfluxDB retention policy
159# # retention_policy = "default"
160# ## InfluxDB database
161# # database = "telegraf"
162#
163# ## Write timeout, formatted as a string. If not provided, will default
164# ## to 5s. 0s means no timeout (not recommended).
165# # timeout = "5s"
166#
167# ## Optional SSL Config
168# # ssl_ca = "/etc/telegraf/ca.pem"
169# # ssl_cert = "/etc/telegraf/cert.pem"
170# # ssl_key = "/etc/telegraf/key.pem"
171# ## Use SSL but skip chain & host verification
172# # insecure_skip_verify = false
173#
174# ## Data format to output.
175# ## Each data format has its own unique set of configuration options, read
176# ## more about them here:
177# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
178# data_format = "influx"
179
180
181# # Configuration for AWS CloudWatch output.
182# [[outputs.cloudwatch]]
183# ## Amazon REGION
184# region = "us-east-1"
185#
186# ## Amazon Credentials
187# ## Credentials are loaded in the following order
188# ## 1) Assumed credentials via STS if role_arn is specified
189# ## 2) explicit credentials from 'access_key' and 'secret_key'
190# ## 3) shared profile from 'profile'
191# ## 4) environment variables
192# ## 5) shared credentials file
193# ## 6) EC2 Instance Profile
194# #access_key = ""
195# #secret_key = ""
196# #token = ""
197# #role_arn = ""
198# #profile = ""
199# #shared_credential_file = ""
200#
201# ## Namespace for the CloudWatch MetricDatums
202# namespace = "InfluxData/Telegraf"
203
204
205# # Configuration for CrateDB to send metrics to.
206# [[outputs.cratedb]]
207# # A github.com/jackc/pgx connection string.
208# # See https://godoc.org/github.com/jackc/pgx#ParseDSN
209# url = "postgres://user:password@localhost/schema?sslmode=disable"
210# # Timeout for all CrateDB queries.
211# timeout = "5s"
212# # Name of the table to store metrics in.
213# table = "metrics"
214# # If true, and the metrics table does not exist, create it automatically.
215# table_create = true
216
217
218# # Configuration for DataDog API to send metrics to.
219# [[outputs.datadog]]
220# ## Datadog API key
221# apikey = "my-secret-key" # required.
222#
223# ## Connection timeout.
224# # timeout = "5s"
225
226
227# # Send metrics to nowhere at all
228# [[outputs.discard]]
229# # no configuration
230
231
232# # Configuration for Elasticsearch to send metrics to.
233# [[outputs.elasticsearch]]
234# ## The full HTTP endpoint URL for your Elasticsearch instance
235# ## Multiple urls can be specified as part of the same cluster,
236# ## this means that only ONE of the urls will be written to each interval.
237# urls = [ "http://node1.es.example.com:9200" ] # required.
238# ## Elasticsearch client timeout, defaults to "5s" if not set.
239# timeout = "5s"
240# ## Set to true to ask Elasticsearch a list of all cluster nodes,
241# ## thus it is not necessary to list all nodes in the urls config option.
242# enable_sniffer = false
243# ## Set the interval to check if the Elasticsearch nodes are available
244# ## Setting to "0s" will disable the health check (not recommended in production)
245# health_check_interval = "10s"
246# ## HTTP basic authentication details (eg. when using Shield)
247# # username = "telegraf"
248# # password = "mypassword"
249#
250# ## Index Config
251# ## The target index for metrics (Elasticsearch will create if it not exists).
252# ## You can use the date specifiers below to create indexes per time frame.
253# ## The metric timestamp will be used to decide the destination index name
254# # %Y - year (2016)
255# # %y - last two digits of year (00..99)
256# # %m - month (01..12)
257# # %d - day of month (e.g., 01)
258# # %H - hour (00..23)
259# # %V - week of the year (ISO week) (01..53)
260# ## Additionally, you can specify a tag name using the notation {{tag_name}}
261# ## which will be used as part of the index name. If the tag does not exist,
262# ## the default tag value will be used.
263# # index_name = "telegraf-{{host}}-%Y.%m.%d"
264# # default_tag_value = "none"
265# index_name = "telegraf-%Y.%m.%d" # required.
266#
267# ## Optional SSL Config
268# # ssl_ca = "/etc/telegraf/ca.pem"
269# # ssl_cert = "/etc/telegraf/cert.pem"
270# # ssl_key = "/etc/telegraf/key.pem"
271# ## Use SSL but skip chain & host verification
272# # insecure_skip_verify = false
273#
274# ## Template Config
275# ## Set to true if you want telegraf to manage its index template.
276# ## If enabled it will create a recommended index template for telegraf indexes
277# manage_template = true
278# ## The template name used for telegraf indexes
279# template_name = "telegraf"
280# ## Set to true if you want telegraf to overwrite an existing template
281# overwrite_template = false
282
283
284# # Send telegraf metrics to file(s)
285# [[outputs.file]]
286# ## Files to write to, "stdout" is a specially handled file.
287# files = ["stdout", "/tmp/metrics.out"]
288#
289# ## Data format to output.
290# ## Each data format has its own unique set of configuration options, read
291# ## more about them here:
292# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
293# data_format = "influx"
294
295
296# # Configuration for Graphite server to send metrics to
297# [[outputs.graphite]]
298# ## TCP endpoint for your graphite instance.
299# ## If multiple endpoints are configured, output will be load balanced.
300# ## Only one of the endpoints will be written to with each iteration.
301# servers = ["localhost:2003"]
302# ## Prefix metrics name
303# prefix = ""
304# ## Graphite output template
305# ## see https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
306# template = "host.tags.measurement.field"
307# ## timeout in seconds for the write connection to graphite
308# timeout = 2
309#
310# ## Optional SSL Config
311# # ssl_ca = "/etc/telegraf/ca.pem"
312# # ssl_cert = "/etc/telegraf/cert.pem"
313# # ssl_key = "/etc/telegraf/key.pem"
314# ## Use SSL but skip chain & host verification
315# # insecure_skip_verify = false
316
317
318# # Send telegraf metrics to graylog(s)
319# [[outputs.graylog]]
320# ## UDP endpoint for your graylog instance.
321# servers = ["127.0.0.1:12201", "192.168.1.1:12201"]
322
323
324# # Configuration for sending metrics to an Instrumental project
325# [[outputs.instrumental]]
326# ## Project API Token (required)
327# api_token = "API Token" # required
328# ## Prefix the metrics with a given name
329# prefix = ""
330# ## Stats output template (Graphite formatting)
331# ## see https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md#graphite
332# template = "host.tags.measurement.field"
333# ## Timeout in seconds to connect
334# timeout = "2s"
335# ## Display Communcation to Instrumental
336# debug = false
337
338
339# # Configuration for the Kafka server to send metrics to
340# [[outputs.kafka]]
341# ## URLs of kafka brokers
342# brokers = ["localhost:9092"]
343# ## Kafka topic for producer messages
344# topic = "telegraf"
345#
346# ## Optional topic suffix configuration.
347# ## If the section is omitted, no suffix is used.
348# ## Following topic suffix methods are supported:
349# ## measurement - suffix equals to separator + measurement's name
350# ## tags - suffix equals to separator + specified tags' values
351# ## interleaved with separator
352#
353# ## Suffix equals to "_" + measurement name
354# # [outputs.kafka.topic_suffix]
355# # method = "measurement"
356# # separator = "_"
357#
358# ## Suffix equals to "__" + measurement's "foo" tag value.
359# ## If there's no such a tag, suffix equals to an empty string
360# # [outputs.kafka.topic_suffix]
361# # method = "tags"
362# # keys = ["foo"]
363# # separator = "__"
364#
365# ## Suffix equals to "_" + measurement's "foo" and "bar"
366# ## tag values, separated by "_". If there is no such tags,
367# ## their values treated as empty strings.
368# # [outputs.kafka.topic_suffix]
369# # method = "tags"
370# # keys = ["foo", "bar"]
371# # separator = "_"
372#
373# ## Telegraf tag to use as a routing key
374# ## ie, if this tag exists, its value will be used as the routing key
375# routing_tag = "host"
376#
377# ## CompressionCodec represents the various compression codecs recognized by
378# ## Kafka in messages.
379# ## 0 : No compression
380# ## 1 : Gzip compression
381# ## 2 : Snappy compression
382# compression_codec = 0
383#
384# ## RequiredAcks is used in Produce Requests to tell the broker how many
385# ## replica acknowledgements it must see before responding
386# ## 0 : the producer never waits for an acknowledgement from the broker.
387# ## This option provides the lowest latency but the weakest durability
388# ## guarantees (some data will be lost when a server fails).
389# ## 1 : the producer gets an acknowledgement after the leader replica has
390# ## received the data. This option provides better durability as the
391# ## client waits until the server acknowledges the request as successful
392# ## (only messages that were written to the now-dead leader but not yet
393# ## replicated will be lost).
394# ## -1: the producer gets an acknowledgement after all in-sync replicas have
395# ## received the data. This option provides the best durability, we
396# ## guarantee that no messages will be lost as long as at least one in
397# ## sync replica remains.
398# required_acks = -1
399#
400# ## The total number of times to retry sending a message
401# max_retry = 3
402#
403# ## Optional SSL Config
404# # ssl_ca = "/etc/telegraf/ca.pem"
405# # ssl_cert = "/etc/telegraf/cert.pem"
406# # ssl_key = "/etc/telegraf/key.pem"
407# ## Use SSL but skip chain & host verification
408# # insecure_skip_verify = false
409#
410# ## Optional SASL Config
411# # sasl_username = "kafka"
412# # sasl_password = "secret"
413#
414# ## Data format to output.
415# ## Each data format has its own unique set of configuration options, read
416# ## more about them here:
417# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
418# data_format = "influx"
419
420
421# # Configuration for the AWS Kinesis output.
422# [[outputs.kinesis]]
423# ## Amazon REGION of kinesis endpoint.
424# region = "ap-southeast-2"
425#
426# ## Amazon Credentials
427# ## Credentials are loaded in the following order
428# ## 1) Assumed credentials via STS if role_arn is specified
429# ## 2) explicit credentials from 'access_key' and 'secret_key'
430# ## 3) shared profile from 'profile'
431# ## 4) environment variables
432# ## 5) shared credentials file
433# ## 6) EC2 Instance Profile
434# #access_key = ""
435# #secret_key = ""
436# #token = ""
437# #role_arn = ""
438# #profile = ""
439# #shared_credential_file = ""
440#
441# ## Kinesis StreamName must exist prior to starting telegraf.
442# streamname = "StreamName"
443# ## DEPRECATED: PartitionKey as used for sharding data.
444# partitionkey = "PartitionKey"
445# ## DEPRECATED: If set the paritionKey will be a random UUID on every put.
446# ## This allows for scaling across multiple shards in a stream.
447# ## This will cause issues with ordering.
448# use_random_partitionkey = false
449# ## The partition key can be calculated using one of several methods:
450# ##
451# ## Use a static value for all writes:
452# # [outputs.kinesis.partition]
453# # method = "static"
454# # key = "howdy"
455# #
456# ## Use a random partition key on each write:
457# # [outputs.kinesis.partition]
458# # method = "random"
459# #
460# ## Use the measurement name as the partition key:
461# # [outputs.kinesis.partition]
462# # method = "measurement"
463# #
464# ## Use the value of a tag for all writes, if the tag is not set the empty
465# ## string will be used:
466# # [outputs.kinesis.partition]
467# # method = "tag"
468# # key = "host"
469#
470#
471# ## Data format to output.
472# ## Each data format has its own unique set of configuration options, read
473# ## more about them here:
474# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
475# data_format = "influx"
476#
477# ## debug will show upstream aws messages.
478# debug = false
479
480
481# # Configuration for Librato API to send metrics to.
482# [[outputs.librato]]
483# ## Librator API Docs
484# ## http://dev.librato.com/v1/metrics-authentication
485# ## Librato API user
486# api_user = "telegraf@influxdb.com" # required.
487# ## Librato API token
488# api_token = "my-secret-token" # required.
489# ## Debug
490# # debug = false
491# ## Connection timeout.
492# # timeout = "5s"
493# ## Output source Template (same as graphite buckets)
494# ## see https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md#graphite
495# ## This template is used in librato's source (not metric's name)
496# template = "host"
497#
498
499
500# # Configuration for MQTT server to send metrics to
501# [[outputs.mqtt]]
502# servers = ["localhost:1883"] # required.
503#
504# ## MQTT outputs send metrics to this topic format
505# ## "<topic_prefix>/<hostname>/<pluginname>/"
506# ## ex: prefix/web01.example.com/mem
507# topic_prefix = "telegraf"
508#
509# ## username and password to connect MQTT server.
510# # username = "telegraf"
511# # password = "metricsmetricsmetricsmetrics"
512#
513# ## client ID, if not set a random ID is generated
514# # client_id = ""
515#
516# ## Optional SSL Config
517# # ssl_ca = "/etc/telegraf/ca.pem"
518# # ssl_cert = "/etc/telegraf/cert.pem"
519# # ssl_key = "/etc/telegraf/key.pem"
520# ## Use SSL but skip chain & host verification
521# # insecure_skip_verify = false
522#
523# ## Data format to output.
524# ## Each data format has its own unique set of configuration options, read
525# ## more about them here:
526# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
527# data_format = "influx"
528
529
530# # Send telegraf measurements to NATS
531# [[outputs.nats]]
532# ## URLs of NATS servers
533# servers = ["nats://localhost:4222"]
534# ## Optional credentials
535# # username = ""
536# # password = ""
537# ## NATS subject for producer messages
538# subject = "telegraf"
539#
540# ## Optional SSL Config
541# # ssl_ca = "/etc/telegraf/ca.pem"
542# # ssl_cert = "/etc/telegraf/cert.pem"
543# # ssl_key = "/etc/telegraf/key.pem"
544# ## Use SSL but skip chain & host verification
545# # insecure_skip_verify = false
546#
547# ## Data format to output.
548# ## Each data format has its own unique set of configuration options, read
549# ## more about them here:
550# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
551# data_format = "influx"
552
553
554# # Send telegraf measurements to NSQD
555# [[outputs.nsq]]
556# ## Location of nsqd instance listening on TCP
557# server = "localhost:4150"
558# ## NSQ topic for producer messages
559# topic = "telegraf"
560#
561# ## Data format to output.
562# ## Each data format has its own unique set of configuration options, read
563# ## more about them here:
564# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
565# data_format = "influx"
566
567
568# # Configuration for OpenTSDB server to send metrics to
569# [[outputs.opentsdb]]
570# ## prefix for metrics keys
571# prefix = "my.specific.prefix."
572#
573# ## DNS name of the OpenTSDB server
574# ## Using "opentsdb.example.com" or "tcp://opentsdb.example.com" will use the
575# ## telnet API. "http://opentsdb.example.com" will use the Http API.
576# host = "opentsdb.example.com"
577#
578# ## Port of the OpenTSDB server
579# port = 4242
580#
581# ## Number of data points to send to OpenTSDB in Http requests.
582# ## Not used with telnet API.
583# httpBatchSize = 50
584#
585# ## Debug true - Prints OpenTSDB communication
586# debug = false
587#
588# ## Separator separates measurement name from field
589# separator = "_"
590
591
592# # Configuration for the Prometheus client to spawn
593# [[outputs.prometheus_client]]
594# ## Address to listen on
595# # listen = ":9273"
596#
597# ## Interval to expire metrics and not deliver to prometheus, 0 == no expiration
598# # expiration_interval = "60s"
599#
600# ## Collectors to enable, valid entries are "gocollector" and "process".
601# ## If unset, both are enabled.
602# collectors_exclude = ["gocollector", "process"]
603
604
605# # Configuration for the Riemann server to send metrics to
606# [[outputs.riemann]]
607# ## The full TCP or UDP URL of the Riemann server
608# url = "tcp://localhost:5555"
609#
610# ## Riemann event TTL, floating-point time in seconds.
611# ## Defines how long that an event is considered valid for in Riemann
612# # ttl = 30.0
613#
614# ## Separator to use between measurement and field name in Riemann service name
615# ## This does not have any effect if 'measurement_as_attribute' is set to 'true'
616# separator = "/"
617#
618# ## Set measurement name as Riemann attribute 'measurement', instead of prepending it to the Riemann service name
619# # measurement_as_attribute = false
620#
621# ## Send string metrics as Riemann event states.
622# ## Unless enabled all string metrics will be ignored
623# # string_as_state = false
624#
625# ## A list of tag keys whose values get sent as Riemann tags.
626# ## If empty, all Telegraf tag values will be sent as tags
627# # tag_keys = ["telegraf","custom_tag"]
628#
629# ## Additional Riemann tags to send.
630# # tags = ["telegraf-output"]
631#
632# ## Description for Riemann event
633# # description_text = "metrics collected from telegraf"
634#
635# ## Riemann client write timeout, defaults to "5s" if not set.
636# # timeout = "5s"
637
638
639# # Configuration for the Riemann server to send metrics to
640# [[outputs.riemann_legacy]]
641# ## URL of server
642# url = "localhost:5555"
643# ## transport protocol to use either tcp or udp
644# transport = "tcp"
645# ## separator to use between input name and field name in Riemann service name
646# separator = " "
647
648
649# # Generic socket writer capable of handling multiple socket types.
650# [[outputs.socket_writer]]
651# ## URL to connect to
652# # address = "tcp://127.0.0.1:8094"
653# # address = "tcp://example.com:http"
654# # address = "tcp4://127.0.0.1:8094"
655# # address = "tcp6://127.0.0.1:8094"
656# # address = "tcp6://[2001:db8::1]:8094"
657# # address = "udp://127.0.0.1:8094"
658# # address = "udp4://127.0.0.1:8094"
659# # address = "udp6://127.0.0.1:8094"
660# # address = "unix:///tmp/telegraf.sock"
661# # address = "unixgram:///tmp/telegraf.sock"
662#
663# ## Period between keep alive probes.
664# ## Only applies to TCP sockets.
665# ## 0 disables keep alive probes.
666# ## Defaults to the OS configuration.
667# # keep_alive_period = "5m"
668#
669# ## Data format to generate.
670# ## Each data format has its own unique set of configuration options, read
671# ## more about them here:
672# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
673# # data_format = "influx"
674
675
676# # Configuration for Wavefront server to send metrics to
677# [[outputs.wavefront]]
678# ## DNS name of the wavefront proxy server
679# host = "wavefront.example.com"
680#
681# ## Port that the Wavefront proxy server listens on
682# port = 2878
683#
684# ## prefix for metrics keys
685# #prefix = "my.specific.prefix."
686#
687# ## whether to use "value" for name of simple fields
688# #simple_fields = false
689#
690# ## character to use between metric and field name. defaults to . (dot)
691# #metric_separator = "."
692#
693# ## Convert metric name paths to use metricSeperator character
694# ## When true (default) will convert all _ (underscore) chartacters in final metric name
695# #convert_paths = true
696#
697# ## Use Regex to sanitize metric and tag names from invalid characters
698# ## Regex is more thorough, but significantly slower
699# #use_regex = false
700#
701# ## point tags to use as the source name for Wavefront (if none found, host will be used)
702# #source_override = ["hostname", "snmp_host", "node_host"]
703#
704# ## whether to convert boolean values to numeric values, with false -> 0.0 and true -> 1.0. default true
705# #convert_bool = true
706#
707# ## Define a mapping, namespaced by metric prefix, from string values to numeric values
708# ## The example below maps "green" -> 1.0, "yellow" -> 0.5, "red" -> 0.0 for
709# ## any metrics beginning with "elasticsearch"
710# #[[outputs.wavefront.string_to_number.elasticsearch]]
711# # green = 1.0
712# # yellow = 0.5
713# # red = 0.0
714
715
716
717###############################################################################
718# PROCESSOR PLUGINS #
719###############################################################################
720
721# # Print all metrics that pass through this filter.
722# [[processors.printer]]
723
724
725
726###############################################################################
727# AGGREGATOR PLUGINS #
728###############################################################################
729
730# # Keep the aggregate basicstats of each metric passing through.
731# [[aggregators.basicstats]]
732# ## General Aggregator Arguments:
733# ## The period on which to flush & clear the aggregator.
734# period = "30s"
735# ## If true, the original metric will be dropped by the
736# ## aggregator and will not get sent to the output plugins.
737# drop_original = false
738
739
740# # Create aggregate histograms.
741# [[aggregators.histogram]]
742# ## The period in which to flush the aggregator.
743# period = "30s"
744#
745# ## If true, the original metric will be dropped by the
746# ## aggregator and will not get sent to the output plugins.
747# drop_original = false
748#
749# ## Example config that aggregates all fields of the metric.
750# # [[aggregators.histogram.config]]
751# # ## The set of buckets.
752# # buckets = [0.0, 15.6, 34.5, 49.1, 71.5, 80.5, 94.5, 100.0]
753# # ## The name of metric.
754# # measurement_name = "cpu"
755#
756# ## Example config that aggregates only specific fields of the metric.
757# # [[aggregators.histogram.config]]
758# # ## The set of buckets.
759# # buckets = [0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0, 100.0]
760# # ## The name of metric.
761# # measurement_name = "diskio"
762# # ## The concrete fields of metric
763# # fields = ["io_time", "read_time", "write_time"]
764
765
766# # Keep the aggregate min/max of each metric passing through.
767# [[aggregators.minmax]]
768# ## General Aggregator Arguments:
769# ## The period on which to flush & clear the aggregator.
770# period = "30s"
771# ## If true, the original metric will be dropped by the
772# ## aggregator and will not get sent to the output plugins.
773# drop_original = false
774
775
776
777###############################################################################
778# INPUT PLUGINS #
779###############################################################################
780
781# Read metrics about cpu usage
782[[inputs.cpu]]
783 ## Whether to report per-cpu stats or not
784 percpu = true
785 ## Whether to report total system cpu stats or not
786 totalcpu = true
787 ## If true, collect raw CPU time metrics.
788 collect_cpu_time = false
789 ## If true, compute and report the sum of all non-idle CPU states.
790 report_active = false
791
792
793# Read metrics about disk usage by mount point
794[[inputs.disk]]
795 ## By default, telegraf gather stats for all mountpoints.
796 ## Setting mountpoints will restrict the stats to the specified mountpoints.
797 # mount_points = ["/"]
798
799 ## Ignore some mountpoints by filesystem type. For example (dev)tmpfs (usually
800 ## present on /run, /var/run, /dev/shm or /dev).
801 ignore_fs = ["tmpfs", "devtmpfs", "devfs"]
802
803
804# Read metrics about disk IO by device
805[[inputs.diskio]]
806device_tags = ["ID_SERIAL"]
807 ## By default, telegraf will gather stats for all devices including
808 ## disk partitions.
809 ## Setting devices will restrict the stats to the specified devices.
810 # devices = ["sda", "sdb"]
811 ## Uncomment the following line if you need disk serial numbers.
812 # skip_serial_number = false
813 #
814 ## On systems which support it, device metadata can be added in the form of
815 ## tags.
816 ## Currently only Linux is supported via udev properties. You can view
817 ## available properties for a device by running:
818 ## 'udevadm info -q property -n /dev/sda'
819 # device_tags = ["ID_FS_TYPE", "ID_FS_USAGE"]
820 #
821 ## Using the same metadata source as device_tags, you can also customize the
822 ## name of the device via templates.
823 ## The 'name_templates' parameter is a list of templates to try and apply to
824 ## the device. The template may contain variables in the form of '$PROPERTY' or
825 ## '${PROPERTY}'. The first template which does not contain any variables not
826 ## present for the device is used as the device name tag.
827 ## The typical use case is for LVM volumes, to get the VG/LV name instead of
828 ## the near-meaningless DM-0 name.
829 # name_templates = ["$ID_FS_LABEL","$DM_VG_NAME/$DM_LV_NAME"]
830
831
832# Get kernel statistics from /proc/stat
833[[inputs.kernel]]
834 # no configuration
835
836
837# Read metrics about memory usage
838[[inputs.mem]]
839 # no configuration
840
841
842# Get the number of processes and group them by status
843[[inputs.processes]]
844 # no configuration
845
846
847# Read metrics about swap memory usage
848[[inputs.swap]]
849 # no configuration
850
851
852# Read metrics about system load & uptime
853[[inputs.system]]
854[[inputs.net]]
855 # no configuration
856
857
858# # Read stats from aerospike server(s)
859# [[inputs.aerospike]]
860# ## Aerospike servers to connect to (with port)
861# ## This plugin will query all namespaces the aerospike
862# ## server has configured and get stats for them.
863# servers = ["localhost:3000"]
864
865
866# # Read Apache status information (mod_status)
867# [[inputs.apache]]
868# ## An array of URLs to gather from, must be directed at the machine
869# ## readable version of the mod_status page including the auto query string.
870# ## Default is "http://localhost/server-status?auto".
871# urls = ["http://localhost/server-status?auto"]
872#
873# ## Credentials for basic HTTP authentication.
874# # username = "myuser"
875# # password = "mypassword"
876#
877# ## Maximum time to receive response.
878# # response_timeout = "5s"
879#
880# ## Optional SSL Config
881# # ssl_ca = "/etc/telegraf/ca.pem"
882# # ssl_cert = "/etc/telegraf/cert.pem"
883# # ssl_key = "/etc/telegraf/key.pem"
884# ## Use SSL but skip chain & host verification
885# # insecure_skip_verify = false
886
887
888# # Read metrics of bcache from stats_total and dirty_data
889# [[inputs.bcache]]
890# ## Bcache sets path
891# ## If not specified, then default is:
892# bcachePath = "/sys/fs/bcache"
893#
894# ## By default, telegraf gather stats for all bcache devices
895# ## Setting devices will restrict the stats to the specified
896# ## bcache devices.
897# bcacheDevs = ["bcache0"]
898
899
900# # Collect bond interface status, slaves statuses and failures count
901[[inputs.bond]]
902# ## Sets 'proc' directory path
903# ## If not specified, then default is /proc
904# # host_proc = "/proc"
905#
906# ## By default, telegraf gather stats for all bond interfaces
907# ## Setting interfaces will restrict the stats to the specified
908# ## bond interfaces.
909#bond_interfaces = ["bond0"]
910
911
912# # Read Cassandra metrics through Jolokia
913# [[inputs.cassandra]]
914# # This is the context root used to compose the jolokia url
915# context = "/jolokia/read"
916# ## List of cassandra servers exposing jolokia read service
917# servers = ["myuser:mypassword@10.10.10.1:8778","10.10.10.2:8778",":8778"]
918# ## List of metrics collected on above servers
919# ## Each metric consists of a jmx path.
920# ## This will collect all heap memory usage metrics from the jvm and
921# ## ReadLatency metrics for all keyspaces and tables.
922# ## "type=Table" in the query works with Cassandra3.0. Older versions might
923# ## need to use "type=ColumnFamily"
924# metrics = [
925# "/java.lang:type=Memory/HeapMemoryUsage",
926# "/org.apache.cassandra.metrics:type=Table,keyspace=*,scope=*,name=ReadLatency"
927# ]
928
929
930# # Collects performance metrics from the MON and OSD nodes in a Ceph storage cluster.
931# [[inputs.ceph]]
932# ## This is the recommended interval to poll. Too frequent and you will lose
933# ## data points due to timeouts during rebalancing and recovery
934# interval = '1m'
935#
936# ## All configuration values are optional, defaults are shown below
937#
938# ## location of ceph binary
939# ceph_binary = "/usr/bin/ceph"
940#
941# ## directory in which to look for socket files
942# socket_dir = "/var/run/ceph"
943#
944# ## prefix of MON and OSD socket files, used to determine socket type
945# mon_prefix = "ceph-mon"
946# osd_prefix = "ceph-osd"
947#
948# ## suffix used to identify socket files
949# socket_suffix = "asok"
950#
951# ## Ceph user to authenticate as
952# ceph_user = "client.admin"
953#
954# ## Ceph configuration to use to locate the cluster
955# ceph_config = "/etc/ceph/ceph.conf"
956#
957# ## Whether to gather statistics via the admin socket
958# gather_admin_socket_stats = true
959#
960# ## Whether to gather statistics via ceph commands
961# gather_cluster_stats = false
962
963
964# # Read specific statistics per cgroup
965# [[inputs.cgroup]]
966# ## Directories in which to look for files, globs are supported.
967# ## Consider restricting paths to the set of cgroups you really
968# ## want to monitor if you have a large number of cgroups, to avoid
969# ## any cardinality issues.
970# # paths = [
971# # "/cgroup/memory",
972# # "/cgroup/memory/child1",
973# # "/cgroup/memory/child2/*",
974# # ]
975# ## cgroup stat fields, as file names, globs are supported.
976# ## these file names are appended to each path from above.
977# # files = ["memory.*usage*", "memory.limit_in_bytes"]
978
979
980# # Get standard chrony metrics, requires chronyc executable.
981# [[inputs.chrony]]
982# ## If true, chronyc tries to perform a DNS lookup for the time server.
983# # dns_lookup = false
984
985
986# # Pull Metric Statistics from Amazon CloudWatch
987# [[inputs.cloudwatch]]
988# ## Amazon Region
989# region = "us-east-1"
990#
991# ## Amazon Credentials
992# ## Credentials are loaded in the following order
993# ## 1) Assumed credentials via STS if role_arn is specified
994# ## 2) explicit credentials from 'access_key' and 'secret_key'
995# ## 3) shared profile from 'profile'
996# ## 4) environment variables
997# ## 5) shared credentials file
998# ## 6) EC2 Instance Profile
999# #access_key = ""
1000# #secret_key = ""
1001# #token = ""
1002# #role_arn = ""
1003# #profile = ""
1004# #shared_credential_file = ""
1005#
1006# # The minimum period for Cloudwatch metrics is 1 minute (60s). However not all
1007# # metrics are made available to the 1 minute period. Some are collected at
1008# # 3 minute, 5 minute, or larger intervals. See https://aws.amazon.com/cloudwatch/faqs/#monitoring.
1009# # Note that if a period is configured that is smaller than the minimum for a
1010# # particular metric, that metric will not be returned by the Cloudwatch API
1011# # and will not be collected by Telegraf.
1012# #
1013# ## Requested CloudWatch aggregation Period (required - must be a multiple of 60s)
1014# period = "5m"
1015#
1016# ## Collection Delay (required - must account for metrics availability via CloudWatch API)
1017# delay = "5m"
1018#
1019# ## Recommended: use metric 'interval' that is a multiple of 'period' to avoid
1020# ## gaps or overlap in pulled data
1021# interval = "5m"
1022#
1023# ## Configure the TTL for the internal cache of metrics.
1024# ## Defaults to 1 hr if not specified
1025# #cache_ttl = "10m"
1026#
1027# ## Metric Statistic Namespace (required)
1028# namespace = "AWS/ELB"
1029#
1030# ## Maximum requests per second. Note that the global default AWS rate limit is
1031# ## 400 reqs/sec, so if you define multiple namespaces, these should add up to a
1032# ## maximum of 400. Optional - default value is 200.
1033# ## See http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_limits.html
1034# ratelimit = 200
1035#
1036# ## Metrics to Pull (optional)
1037# ## Defaults to all Metrics in Namespace if nothing is provided
1038# ## Refreshes Namespace available metrics every 1h
1039# #[[inputs.cloudwatch.metrics]]
1040# # names = ["Latency", "RequestCount"]
1041# #
1042# # ## Dimension filters for Metric (optional)
1043# # [[inputs.cloudwatch.metrics.dimensions]]
1044# # name = "LoadBalancerName"
1045# # value = "p-example"
1046
1047
1048# # Collects conntrack stats from the configured directories and files.
1049# [[inputs.conntrack]]
1050# ## The following defaults would work with multiple versions of conntrack.
1051# ## Note the nf_ and ip_ filename prefixes are mutually exclusive across
1052# ## kernel versions, as are the directory locations.
1053#
1054# ## Superset of filenames to look for within the conntrack dirs.
1055# ## Missing files will be ignored.
1056# files = ["ip_conntrack_count","ip_conntrack_max",
1057# "nf_conntrack_count","nf_conntrack_max"]
1058#
1059# ## Directories to search within for the conntrack files above.
1060# ## Missing directrories will be ignored.
1061# dirs = ["/proc/sys/net/ipv4/netfilter","/proc/sys/net/netfilter"]
1062
1063
1064# # Gather health check statuses from services registered in Consul
1065# [[inputs.consul]]
1066# ## Most of these values defaults to the one configured on a Consul's agent level.
1067# ## Optional Consul server address (default: "localhost")
1068# # address = "localhost"
1069# ## Optional URI scheme for the Consul server (default: "http")
1070# # scheme = "http"
1071# ## Optional ACL token used in every request (default: "")
1072# # token = ""
1073# ## Optional username used for request HTTP Basic Authentication (default: "")
1074# # username = ""
1075# ## Optional password used for HTTP Basic Authentication (default: "")
1076# # password = ""
1077# ## Optional data centre to query the health checks from (default: "")
1078# # datacentre = ""
1079
1080
1081# # Read metrics from one or many couchbase clusters
1082# [[inputs.couchbase]]
1083# ## specify servers via a url matching:
1084# ## [protocol://][:password]@address[:port]
1085# ## e.g.
1086# ## http://couchbase-0.example.com/
1087# ## http://admin:secret@couchbase-0.example.com:8091/
1088# ##
1089# ## If no servers are specified, then localhost is used as the host.
1090# ## If no protocol is specified, HTTP is used.
1091# ## If no port is specified, 8091 is used.
1092# servers = ["http://localhost:8091"]
1093
1094
1095# # Read CouchDB Stats from one or more servers
1096# [[inputs.couchdb]]
1097# ## Works with CouchDB stats endpoints out of the box
1098# ## Multiple HOSTs from which to read CouchDB stats:
1099# hosts = ["http://localhost:8086/_stats"]
1100
1101
1102# # Input plugin for DC/OS metrics
1103# [[inputs.dcos]]
1104# ## The DC/OS cluster URL.
1105# cluster_url = "https://dcos-ee-master-1"
1106#
1107# ## The ID of the service account.
1108# service_account_id = "telegraf"
1109# ## The private key file for the service account.
1110# service_account_private_key = "/etc/telegraf/telegraf-sa-key.pem"
1111#
1112# ## Path containing login token. If set, will read on every gather.
1113# # token_file = "/home/dcos/.dcos/token"
1114#
1115# ## In all filter options if both include and exclude are empty all items
1116# ## will be collected. Arrays may contain glob patterns.
1117# ##
1118# ## Node IDs to collect metrics from. If a node is excluded, no metrics will
1119# ## be collected for its containers or apps.
1120# # node_include = []
1121# # node_exclude = []
1122# ## Container IDs to collect container metrics from.
1123# # container_include = []
1124# # container_exclude = []
1125# ## Container IDs to collect app metrics from.
1126# # app_include = []
1127# # app_exclude = []
1128#
1129# ## Maximum concurrent connections to the cluster.
1130# # max_connections = 10
1131# ## Maximum time to receive a response from cluster.
1132# # response_timeout = "20s"
1133#
1134# ## Optional SSL Config
1135# # ssl_ca = "/etc/telegraf/ca.pem"
1136# # ssl_cert = "/etc/telegraf/cert.pem"
1137# # ssl_key = "/etc/telegraf/key.pem"
1138# ## If false, skip chain & host verification
1139# # insecure_skip_verify = true
1140#
1141# ## Recommended filtering to reduce series cardinality.
1142# # [inputs.dcos.tagdrop]
1143# # path = ["/var/lib/mesos/slave/slaves/*"]
1144
1145
1146# # Read metrics from one or many disque servers
1147# [[inputs.disque]]
1148# ## An array of URI to gather stats about. Specify an ip or hostname
1149# ## with optional port and password.
1150# ## ie disque://localhost, disque://10.10.3.33:18832, 10.0.0.1:10000, etc.
1151# ## If no servers are specified, then localhost is used as the host.
1152# servers = ["localhost"]
1153
1154
1155# # Provide a native collection for dmsetup based statistics for dm-cache
1156# [[inputs.dmcache]]
1157# ## Whether to report per-device stats or not
1158# per_device = true
1159
1160
1161# # Query given DNS server and gives statistics
1162# [[inputs.dns_query]]
1163# ## servers to query
1164# servers = ["8.8.8.8"]
1165#
1166# ## Network is the network protocol name.
1167# # network = "udp"
1168#
1169# ## Domains or subdomains to query.
1170# # domains = ["."]
1171#
1172# ## Query record type.
1173# ## Posible values: A, AAAA, CNAME, MX, NS, PTR, TXT, SOA, SPF, SRV.
1174# # record_type = "A"
1175#
1176# ## Dns server port.
1177# # port = 53
1178#
1179# ## Query timeout in seconds.
1180# # timeout = 2
1181
1182
1183# # Read metrics about docker containers
1184[[inputs.docker]]
1185# ## Docker Endpoint
1186# ## To use TCP, set endpoint = "tcp://[ip]:[port]"
1187# ## To use environment variables (ie, docker-machine), set endpoint = "ENV"
1188# endpoint = "/var/run/docker.sock"
1189#
1190# ## Set to true to collect Swarm metrics(desired_replicas, running_replicas)
1191# gather_services = false
1192#
1193# ## Only collect metrics for these containers, collect all if empty
1194# container_names = []
1195#
1196# ## Containers to include and exclude. Globs accepted.
1197# ## Note that an empty array for both will include all containers
1198# container_name_include = []
1199# container_name_exclude = []
1200#
1201# ## Timeout for docker list, info, and stats commands
1202# timeout = "5s"
1203#
1204# ## Whether to report for each container per-device blkio (8:0, 8:1...) and
1205# ## network (eth0, eth1, ...) stats or not
1206#perdevice = true
1207# ## Whether to report for each container total blkio and network stats or not
1208#total = true
1209# ## Which environment variables should we use as a tag
1210# ##tag_env = ["JAVA_HOME", "HEAP_SIZE"]
1211#
1212# ## docker labels to include and exclude as tags. Globs accepted.
1213# ## Note that an empty array for both will include all labels as tags
1214# docker_label_include = []
1215# docker_label_exclude = []
1216#
1217# ## Optional SSL Config
1218# # ssl_ca = "/etc/telegraf/ca.pem"
1219# # ssl_cert = "/etc/telegraf/cert.pem"
1220# # ssl_key = "/etc/telegraf/key.pem"
1221# ## Use SSL but skip chain & host verification
1222# # insecure_skip_verify = false
1223
1224
1225# # Read statistics from one or many dovecot servers
1226# [[inputs.dovecot]]
1227# ## specify dovecot servers via an address:port list
1228# ## e.g.
1229# ## localhost:24242
1230# ##
1231# ## If no servers are specified, then localhost is used as the host.
1232# servers = ["localhost:24242"]
1233# ## Type is one of "user", "domain", "ip", or "global"
1234# type = "global"
1235# ## Wildcard matches like "*.com". An empty string "" is same as "*"
1236# ## If type = "ip" filters should be <IP/network>
1237# filters = [""]
1238
1239
1240# # Read stats from one or more Elasticsearch servers or clusters
1241# [[inputs.elasticsearch]]
1242# ## specify a list of one or more Elasticsearch servers
1243# # you can add username and password to your url to use basic authentication:
1244# # servers = ["http://user:pass@localhost:9200"]
1245# servers = ["http://localhost:9200"]
1246#
1247# ## Timeout for HTTP requests to the elastic search server(s)
1248# http_timeout = "5s"
1249#
1250# ## When local is true (the default), the node will read only its own stats.
1251# ## Set local to false when you want to read the node stats from all nodes
1252# ## of the cluster.
1253# local = true
1254#
1255# ## Set cluster_health to true when you want to also obtain cluster health stats
1256# cluster_health = false
1257#
1258# ## Adjust cluster_health_level when you want to also obtain detailed health stats
1259# ## The options are
1260# ## - indices (default)
1261# ## - cluster
1262# # cluster_health_level = "indices"
1263#
1264# ## Set cluster_stats to true when you want to also obtain cluster stats from the
1265# ## Master node.
1266# cluster_stats = false
1267#
1268# ## node_stats is a list of sub-stats that you want to have gathered. Valid options
1269# ## are "indices", "os", "process", "jvm", "thread_pool", "fs", "transport", "http",
1270# ## "breakers". Per default, all stats are gathered.
1271# # node_stats = ["jvm", "http"]
1272#
1273# ## Optional SSL Config
1274# # ssl_ca = "/etc/telegraf/ca.pem"
1275# # ssl_cert = "/etc/telegraf/cert.pem"
1276# # ssl_key = "/etc/telegraf/key.pem"
1277# ## Use SSL but skip chain & host verification
1278# # insecure_skip_verify = false
1279
1280
1281# # Read metrics from one or more commands that can output to stdout
1282# [[inputs.exec]]
1283# ## Commands array
1284# commands = [
1285# "/tmp/test.sh",
1286# "/usr/bin/mycollector --foo=bar",
1287# "/tmp/collect_*.sh"
1288# ]
1289#
1290# ## Timeout for each command to complete.
1291# timeout = "5s"
1292#
1293# ## measurement name suffix (for separating different commands)
1294# name_suffix = "_mycollector"
1295#
1296# ## Data format to consume.
1297# ## Each data format has its own unique set of configuration options, read
1298# ## more about them here:
1299# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
1300# data_format = "influx"
1301
1302
1303# # Read metrics from fail2ban.
1304# [[inputs.fail2ban]]
1305# ## Use sudo to run fail2ban-client
1306# use_sudo = false
1307
1308
1309# # Read stats about given file(s)
1310# [[inputs.filestat]]
1311# ## Files to gather stats about.
1312# ## These accept standard unix glob matching rules, but with the addition of
1313# ## ** as a "super asterisk". ie:
1314# ## "/var/log/**.log" -> recursively find all .log files in /var/log
1315# ## "/var/log/*/*.log" -> find all .log files with a parent dir in /var/log
1316# ## "/var/log/apache.log" -> just tail the apache log file
1317# ##
1318# ## See https://github.com/gobwas/glob for more examples
1319# ##
1320# files = ["/var/log/**.log"]
1321# ## If true, read the entire file and calculate an md5 checksum.
1322# md5 = false
1323
1324
1325# # Read metrics exposed by fluentd in_monitor plugin
1326# [[inputs.fluentd]]
1327# ## This plugin reads information exposed by fluentd (using /api/plugins.json endpoint).
1328# ##
1329# ## Endpoint:
1330# ## - only one URI is allowed
1331# ## - https is not supported
1332# endpoint = "http://localhost:24220/api/plugins.json"
1333#
1334# ## Define which plugins have to be excluded (based on "type" field - e.g. monitor_agent)
1335# exclude = [
1336# "monitor_agent",
1337# "dummy",
1338# ]
1339
1340
1341# # Read flattened metrics from one or more GrayLog HTTP endpoints
1342# [[inputs.graylog]]
1343# ## API endpoint, currently supported API:
1344# ##
1345# ## - multiple (Ex http://<host>:12900/system/metrics/multiple)
1346# ## - namespace (Ex http://<host>:12900/system/metrics/namespace/{namespace})
1347# ##
1348# ## For namespace endpoint, the metrics array will be ignored for that call.
1349# ## Endpoint can contain namespace and multiple type calls.
1350# ##
1351# ## Please check http://[graylog-server-ip]:12900/api-browser for full list
1352# ## of endpoints
1353# servers = [
1354# "http://[graylog-server-ip]:12900/system/metrics/multiple",
1355# ]
1356#
1357# ## Metrics list
1358# ## List of metrics can be found on Graylog webservice documentation.
1359# ## Or by hitting the the web service api at:
1360# ## http://[graylog-host]:12900/system/metrics
1361# metrics = [
1362# "jvm.cl.loaded",
1363# "jvm.memory.pools.Metaspace.committed"
1364# ]
1365#
1366# ## Username and password
1367# username = ""
1368# password = ""
1369#
1370# ## Optional SSL Config
1371# # ssl_ca = "/etc/telegraf/ca.pem"
1372# # ssl_cert = "/etc/telegraf/cert.pem"
1373# # ssl_key = "/etc/telegraf/key.pem"
1374# ## Use SSL but skip chain & host verification
1375# # insecure_skip_verify = false
1376
1377
1378# # Read metrics of haproxy, via socket or csv stats page
1379# [[inputs.haproxy]]
1380# ## An array of address to gather stats about. Specify an ip on hostname
1381# ## with optional port. ie localhost, 10.10.3.33:1936, etc.
1382# ## Make sure you specify the complete path to the stats endpoint
1383# ## including the protocol, ie http://10.10.3.33:1936/haproxy?stats
1384#
1385# ## If no servers are specified, then default to 127.0.0.1:1936/haproxy?stats
1386# servers = ["http://myhaproxy.com:1936/haproxy?stats"]
1387#
1388# ## You can also use local socket with standard wildcard globbing.
1389# ## Server address not starting with 'http' will be treated as a possible
1390# ## socket, so both examples below are valid.
1391# # servers = ["socket:/run/haproxy/admin.sock", "/run/haproxy/*.sock"]
1392#
1393# ## By default, some of the fields are renamed from what haproxy calls them.
1394# ## Setting this option to true results in the plugin keeping the original
1395# ## field names.
1396# # keep_field_names = false
1397#
1398# ## Optional SSL Config
1399# # ssl_ca = "/etc/telegraf/ca.pem"
1400# # ssl_cert = "/etc/telegraf/cert.pem"
1401# # ssl_key = "/etc/telegraf/key.pem"
1402# ## Use SSL but skip chain & host verification
1403# # insecure_skip_verify = false
1404
1405
1406# # Monitor disks' temperatures using hddtemp
1407# [[inputs.hddtemp]]
1408# ## By default, telegraf gathers temps data from all disks detected by the
1409# ## hddtemp.
1410# ##
1411# ## Only collect temps from the selected disks.
1412# ##
1413# ## A * as the device name will return the temperature values of all disks.
1414# ##
1415# # address = "127.0.0.1:7634"
1416# # devices = ["sda", "*"]
1417
1418
1419# # HTTP/HTTPS request given an address a method and a timeout
1420# [[inputs.http_response]]
1421# ## Server address (default http://localhost)
1422# # address = "http://localhost"
1423#
1424# ## Set response_timeout (default 5 seconds)
1425# # response_timeout = "5s"
1426#
1427# ## HTTP Request Method
1428# # method = "GET"
1429#
1430# ## Whether to follow redirects from the server (defaults to false)
1431# # follow_redirects = false
1432#
1433# ## Optional HTTP Request Body
1434# # body = '''
1435# # {'fake':'data'}
1436# # '''
1437#
1438# ## Optional substring or regex match in body of the response
1439# # response_string_match = "\"service_status\": \"up\""
1440# # response_string_match = "ok"
1441# # response_string_match = "\".*_status\".?:.?\"up\""
1442#
1443# ## Optional SSL Config
1444# # ssl_ca = "/etc/telegraf/ca.pem"
1445# # ssl_cert = "/etc/telegraf/cert.pem"
1446# # ssl_key = "/etc/telegraf/key.pem"
1447# ## Use SSL but skip chain & host verification
1448# # insecure_skip_verify = false
1449#
1450# ## HTTP Request Headers (all values must be strings)
1451# # [inputs.http_response.headers]
1452# # Host = "github.com"
1453
1454
1455# # Read flattened metrics from one or more JSON HTTP endpoints
1456# [[inputs.httpjson]]
1457# ## NOTE This plugin only reads numerical measurements, strings and booleans
1458# ## will be ignored.
1459#
1460# ## Name for the service being polled. Will be appended to the name of the
1461# ## measurement e.g. httpjson_webserver_stats
1462# ##
1463# ## Deprecated (1.3.0): Use name_override, name_suffix, name_prefix instead.
1464# name = "webserver_stats"
1465#
1466# ## URL of each server in the service's cluster
1467# servers = [
1468# "http://localhost:9999/stats/",
1469# "http://localhost:9998/stats/",
1470# ]
1471# ## Set response_timeout (default 5 seconds)
1472# response_timeout = "5s"
1473#
1474# ## HTTP method to use: GET or POST (case-sensitive)
1475# method = "GET"
1476#
1477# ## List of tag names to extract from top-level of JSON server response
1478# # tag_keys = [
1479# # "my_tag_1",
1480# # "my_tag_2"
1481# # ]
1482#
1483# ## HTTP parameters (all values must be strings). For "GET" requests, data
1484# ## will be included in the query. For "POST" requests, data will be included
1485# ## in the request body as "x-www-form-urlencoded".
1486# # [inputs.httpjson.parameters]
1487# # event_type = "cpu_spike"
1488# # threshold = "0.75"
1489#
1490# ## HTTP Headers (all values must be strings)
1491# # [inputs.httpjson.headers]
1492# # X-Auth-Token = "my-xauth-token"
1493# # apiVersion = "v1"
1494#
1495# ## Optional SSL Config
1496# # ssl_ca = "/etc/telegraf/ca.pem"
1497# # ssl_cert = "/etc/telegraf/cert.pem"
1498# # ssl_key = "/etc/telegraf/key.pem"
1499# ## Use SSL but skip chain & host verification
1500# # insecure_skip_verify = false
1501
1502
1503# # Read InfluxDB-formatted JSON metrics from one or more HTTP endpoints
1504# [[inputs.influxdb]]
1505# ## Works with InfluxDB debug endpoints out of the box,
1506# ## but other services can use this format too.
1507# ## See the influxdb plugin's README for more details.
1508#
1509# ## Multiple URLs from which to read InfluxDB-formatted JSON
1510# ## Default is "http://localhost:8086/debug/vars".
1511# urls = [
1512# "http://localhost:8086/debug/vars"
1513# ]
1514#
1515# ## Optional SSL Config
1516# # ssl_ca = "/etc/telegraf/ca.pem"
1517# # ssl_cert = "/etc/telegraf/cert.pem"
1518# # ssl_key = "/etc/telegraf/key.pem"
1519# ## Use SSL but skip chain & host verification
1520# # insecure_skip_verify = false
1521#
1522# ## http request & header timeout
1523# timeout = "5s"
1524
1525
1526# # Collect statistics about itself
1527# [[inputs.internal]]
1528# ## If true, collect telegraf memory stats.
1529# # collect_memstats = true
1530
1531
1532# # This plugin gathers interrupts data from /proc/interrupts and /proc/softirqs.
1533# [[inputs.interrupts]]
1534# ## To filter which IRQs to collect, make use of tagpass / tagdrop, i.e.
1535# # [inputs.interrupts.tagdrop]
1536# # irq = [ "NET_RX", "TASKLET" ]
1537
1538
1539# # Read metrics from the bare metal servers via IPMI
1540# [[inputs.ipmi_sensor]]
1541# ## optionally specify the path to the ipmitool executable
1542# # path = "/usr/bin/ipmitool"
1543# #
1544# ## optionally specify one or more servers via a url matching
1545# ## [username[:password]@][protocol[(address)]]
1546# ## e.g.
1547# ## root:passwd@lan(127.0.0.1)
1548# ##
1549# ## if no servers are specified, local machine sensor stats will be queried
1550# ##
1551# # servers = ["USERID:PASSW0RD@lan(192.168.1.1)"]
1552#
1553# ## Recommended: use metric 'interval' that is a multiple of 'timeout' to avoid
1554# ## gaps or overlap in pulled data
1555# interval = "30s"
1556#
1557# ## Timeout for the ipmitool command to complete
1558# timeout = "20s"
1559
1560
1561# # Gather packets and bytes throughput from iptables
1562# [[inputs.iptables]]
1563# ## iptables require root access on most systems.
1564# ## Setting 'use_sudo' to true will make use of sudo to run iptables.
1565# ## Users must configure sudo to allow telegraf user to run iptables with no password.
1566# ## iptables can be restricted to only list command "iptables -nvL".
1567# use_sudo = false
1568# ## Setting 'use_lock' to true runs iptables with the "-w" option.
1569# ## Adjust your sudo settings appropriately if using this option ("iptables -wnvl")
1570# use_lock = false
1571# ## defines the table to monitor:
1572# table = "filter"
1573# ## defines the chains to monitor.
1574# ## NOTE: iptables rules without a comment will not be monitored.
1575# ## Read the plugin documentation for more information.
1576# chains = [ "INPUT" ]
1577
1578
1579# # Read JMX metrics through Jolokia
1580# [[inputs.jolokia]]
1581# # DEPRECATED: the jolokia plugin has been deprecated in favor of the
1582# # jolokia2 plugin
1583# # see https://github.com/influxdata/telegraf/tree/master/plugins/inputs/jolokia2
1584#
1585# ## This is the context root used to compose the jolokia url
1586# ## NOTE that Jolokia requires a trailing slash at the end of the context root
1587# ## NOTE that your jolokia security policy must allow for POST requests.
1588# context = "/jolokia/"
1589#
1590# ## This specifies the mode used
1591# # mode = "proxy"
1592# #
1593# ## When in proxy mode this section is used to specify further
1594# ## proxy address configurations.
1595# ## Remember to change host address to fit your environment.
1596# # [inputs.jolokia.proxy]
1597# # host = "127.0.0.1"
1598# # port = "8080"
1599#
1600# ## Optional http timeouts
1601# ##
1602# ## response_header_timeout, if non-zero, specifies the amount of time to wait
1603# ## for a server's response headers after fully writing the request.
1604# # response_header_timeout = "3s"
1605# ##
1606# ## client_timeout specifies a time limit for requests made by this client.
1607# ## Includes connection time, any redirects, and reading the response body.
1608# # client_timeout = "4s"
1609#
1610# ## Attribute delimiter
1611# ##
1612# ## When multiple attributes are returned for a single
1613# ## [inputs.jolokia.metrics], the field name is a concatenation of the metric
1614# ## name, and the attribute name, separated by the given delimiter.
1615# # delimiter = "_"
1616#
1617# ## List of servers exposing jolokia read service
1618# [[inputs.jolokia.servers]]
1619# name = "as-server-01"
1620# host = "127.0.0.1"
1621# port = "8080"
1622# # username = "myuser"
1623# # password = "mypassword"
1624#
1625# ## List of metrics collected on above servers
1626# ## Each metric consists in a name, a jmx path and either
1627# ## a pass or drop slice attribute.
1628# ##Â This collect all heap memory usage metrics.
1629# [[inputs.jolokia.metrics]]
1630# name = "heap_memory_usage"
1631# mbean = "java.lang:type=Memory"
1632# attribute = "HeapMemoryUsage"
1633#
1634# ##Â This collect thread counts metrics.
1635# [[inputs.jolokia.metrics]]
1636# name = "thread_count"
1637# mbean = "java.lang:type=Threading"
1638# attribute = "TotalStartedThreadCount,ThreadCount,DaemonThreadCount,PeakThreadCount"
1639#
1640# ##Â This collect number of class loaded/unloaded counts metrics.
1641# [[inputs.jolokia.metrics]]
1642# name = "class_count"
1643# mbean = "java.lang:type=ClassLoading"
1644# attribute = "LoadedClassCount,UnloadedClassCount,TotalLoadedClassCount"
1645
1646
1647# # Read JMX metrics from a Jolokia REST agent endpoint
1648# [[inputs.jolokia2_agent]]
1649# # default_tag_prefix = ""
1650# # default_field_prefix = ""
1651# # default_field_separator = "."
1652#
1653# # Add agents URLs to query
1654# urls = ["http://localhost:8080/jolokia"]
1655# # username = ""
1656# # password = ""
1657# # response_timeout = "5s"
1658#
1659# ## Optional SSL config
1660# # ssl_ca = "/var/private/ca.pem"
1661# # ssl_cert = "/var/private/client.pem"
1662# # ssl_key = "/var/private/client-key.pem"
1663# # insecure_skip_verify = false
1664#
1665# ## Add metrics to read
1666# [[inputs.jolokia2_agent.metric]]
1667# name = "java_runtime"
1668# mbean = "java.lang:type=Runtime"
1669# paths = ["Uptime"]
1670
1671
1672# # Read JMX metrics from a Jolokia REST proxy endpoint
1673# [[inputs.jolokia2_proxy]]
1674# # default_tag_prefix = ""
1675# # default_field_prefix = ""
1676# # default_field_separator = "."
1677#
1678# ## Proxy agent
1679# url = "http://localhost:8080/jolokia"
1680# # username = ""
1681# # password = ""
1682# # response_timeout = "5s"
1683#
1684# ## Optional SSL config
1685# # ssl_ca = "/var/private/ca.pem"
1686# # ssl_cert = "/var/private/client.pem"
1687# # ssl_key = "/var/private/client-key.pem"
1688# # insecure_skip_verify = false
1689#
1690# ## Add proxy targets to query
1691# # default_target_username = ""
1692# # default_target_password = ""
1693# [[inputs.jolokia_proxy.target]]
1694# url = "service:jmx:rmi:///jndi/rmi://targethost:9999/jmxrmi"
1695# # username = ""
1696# # password = ""
1697#
1698# ## Add metrics to read
1699# [[inputs.jolokia_proxy.metric]]
1700# name = "java_runtime"
1701# mbean = "java.lang:type=Runtime"
1702# paths = ["Uptime"]
1703
1704
1705# # Read Kapacitor-formatted JSON metrics from one or more HTTP endpoints
1706# [[inputs.kapacitor]]
1707# ## Multiple URLs from which to read Kapacitor-formatted JSON
1708# ## Default is "http://localhost:9092/kapacitor/v1/debug/vars".
1709# urls = [
1710# "http://localhost:9092/kapacitor/v1/debug/vars"
1711# ]
1712#
1713# ## Time limit for http requests
1714# timeout = "5s"
1715
1716
1717# # Get kernel statistics from /proc/vmstat
1718# [[inputs.kernel_vmstat]]
1719# # no configuration
1720
1721
1722# # Read metrics from the kubernetes kubelet api
1723# [[inputs.kubernetes]]
1724# ## URL for the kubelet
1725# url = "http://1.1.1.1:10255"
1726#
1727# ## Use bearer token for authorization
1728# # bearer_token = /path/to/bearer/token
1729#
1730# ## Set response_timeout (default 5 seconds)
1731# # response_timeout = "5s"
1732#
1733# ## Optional SSL Config
1734# # ssl_ca = /path/to/cafile
1735# # ssl_cert = /path/to/certfile
1736# # ssl_key = /path/to/keyfile
1737# ## Use SSL but skip chain & host verification
1738# # insecure_skip_verify = false
1739
1740
1741# # Read metrics from a LeoFS Server via SNMP
1742# [[inputs.leofs]]
1743# ## An array of URLs of the form:
1744# ## host [ ":" port]
1745# servers = ["127.0.0.1:4020"]
1746
1747
1748# # Provides Linux sysctl fs metrics
1749# [[inputs.linux_sysctl_fs]]
1750# # no configuration
1751
1752
1753# # Read metrics from local Lustre service on OST, MDS
1754# [[inputs.lustre2]]
1755# ## An array of /proc globs to search for Lustre stats
1756# ## If not specified, the default will work on Lustre 2.5.x
1757# ##
1758# # ost_procfiles = [
1759# # "/proc/fs/lustre/obdfilter/*/stats",
1760# # "/proc/fs/lustre/osd-ldiskfs/*/stats",
1761# # "/proc/fs/lustre/obdfilter/*/job_stats",
1762# # ]
1763# # mds_procfiles = [
1764# # "/proc/fs/lustre/mdt/*/md_stats",
1765# # "/proc/fs/lustre/mdt/*/job_stats",
1766# # ]
1767
1768
1769# # Gathers metrics from the /3.0/reports MailChimp API
1770# [[inputs.mailchimp]]
1771# ## MailChimp API key
1772# ## get from https://admin.mailchimp.com/account/api/
1773# api_key = "" # required
1774# ## Reports for campaigns sent more than days_old ago will not be collected.
1775# ## 0 means collect all.
1776# days_old = 0
1777# ## Campaign ID to get, if empty gets all campaigns, this option overrides days_old
1778# # campaign_id = ""
1779
1780
1781# # Read metrics from one or many memcached servers
1782# [[inputs.memcached]]
1783# ## An array of address to gather stats about. Specify an ip on hostname
1784# ## with optional port. ie localhost, 10.0.0.1:11211, etc.
1785# servers = ["localhost:11211"]
1786# # unix_sockets = ["/var/run/memcached.sock"]
1787
1788
1789# # Telegraf plugin for gathering metrics from N Mesos masters
1790# [[inputs.mesos]]
1791# ## Timeout, in ms.
1792# timeout = 100
1793# ## A list of Mesos masters.
1794# masters = ["localhost:5050"]
1795# ## Master metrics groups to be collected, by default, all enabled.
1796# master_collections = [
1797# "resources",
1798# "master",
1799# "system",
1800# "agents",
1801# "frameworks",
1802# "tasks",
1803# "messages",
1804# "evqueue",
1805# "registrar",
1806# ]
1807# ## A list of Mesos slaves, default is []
1808# # slaves = []
1809# ## Slave metrics groups to be collected, by default, all enabled.
1810# # slave_collections = [
1811# # "resources",
1812# # "agent",
1813# # "system",
1814# # "executors",
1815# # "tasks",
1816# # "messages",
1817# # ]
1818
1819
1820# # Collects scores from a minecraft server's scoreboard using the RCON protocol
1821# [[inputs.minecraft]]
1822# ## server address for minecraft
1823# # server = "localhost"
1824# ## port for RCON
1825# # port = "25575"
1826# ## password RCON for mincraft server
1827# # password = ""
1828
1829
1830# # Read metrics from one or many MongoDB servers
1831# [[inputs.mongodb]]
1832# ## An array of URLs of the form:
1833# ## "mongodb://" [user ":" pass "@"] host [ ":" port]
1834# ## For example:
1835# ## mongodb://user:auth_key@10.10.3.30:27017,
1836# ## mongodb://10.10.3.33:18832,
1837# servers = ["mongodb://127.0.0.1:27017"]
1838# gather_perdb_stats = false
1839#
1840# ## Optional SSL Config
1841# # ssl_ca = "/etc/telegraf/ca.pem"
1842# # ssl_cert = "/etc/telegraf/cert.pem"
1843# # ssl_key = "/etc/telegraf/key.pem"
1844# ## Use SSL but skip chain & host verification
1845# # insecure_skip_verify = false
1846
1847
1848# # Read metrics from one or many mysql servers
1849# [[inputs.mysql]]
1850# ## specify servers via a url matching:
1851# ## [username[:password]@][protocol[(address)]]/[?tls=[true|false|skip-verify|custom]]
1852# ## see https://github.com/go-sql-driver/mysql#dsn-data-source-name
1853# ## e.g.
1854# ## servers = ["user:passwd@tcp(127.0.0.1:3306)/?tls=false"]
1855# ## servers = ["user@tcp(127.0.0.1:3306)/?tls=false"]
1856# #
1857# ## If no servers are specified, then localhost is used as the host.
1858# servers = ["tcp(127.0.0.1:3306)/"]
1859# ## the limits for metrics form perf_events_statements
1860# perf_events_statements_digest_text_limit = 120
1861# perf_events_statements_limit = 250
1862# perf_events_statements_time_limit = 86400
1863# #
1864# ## if the list is empty, then metrics are gathered from all databasee tables
1865# table_schema_databases = []
1866# #
1867# ## gather metrics from INFORMATION_SCHEMA.TABLES for databases provided above list
1868# gather_table_schema = false
1869# #
1870# ## gather thread state counts from INFORMATION_SCHEMA.PROCESSLIST
1871# gather_process_list = true
1872# #
1873# ## gather thread state counts from INFORMATION_SCHEMA.USER_STATISTICS
1874# gather_user_statistics = true
1875# #
1876# ## gather auto_increment columns and max values from information schema
1877# gather_info_schema_auto_inc = true
1878# #
1879# ## gather metrics from INFORMATION_SCHEMA.INNODB_METRICS
1880# gather_innodb_metrics = true
1881# #
1882# ## gather metrics from SHOW SLAVE STATUS command output
1883# gather_slave_status = true
1884# #
1885# ## gather metrics from SHOW BINARY LOGS command output
1886# gather_binary_logs = false
1887# #
1888# ## gather metrics from PERFORMANCE_SCHEMA.TABLE_IO_WAITS_SUMMARY_BY_TABLE
1889# gather_table_io_waits = false
1890# #
1891# ## gather metrics from PERFORMANCE_SCHEMA.TABLE_LOCK_WAITS
1892# gather_table_lock_waits = false
1893# #
1894# ## gather metrics from PERFORMANCE_SCHEMA.TABLE_IO_WAITS_SUMMARY_BY_INDEX_USAGE
1895# gather_index_io_waits = false
1896# #
1897# ## gather metrics from PERFORMANCE_SCHEMA.EVENT_WAITS
1898# gather_event_waits = false
1899# #
1900# ## gather metrics from PERFORMANCE_SCHEMA.FILE_SUMMARY_BY_EVENT_NAME
1901# gather_file_events_stats = false
1902# #
1903# ## gather metrics from PERFORMANCE_SCHEMA.EVENTS_STATEMENTS_SUMMARY_BY_DIGEST
1904# gather_perf_events_statements = false
1905# #
1906# ## Some queries we may want to run less often (such as SHOW GLOBAL VARIABLES)
1907# interval_slow = "30m"
1908#
1909# ## Optional SSL Config (will be used if tls=custom parameter specified in server uri)
1910# ssl_ca = "/etc/telegraf/ca.pem"
1911# ssl_cert = "/etc/telegraf/cert.pem"
1912# ssl_key = "/etc/telegraf/key.pem"
1913
1914
1915# # Read metrics about network interface usage
1916[[inputs.net]]
1917# ## By default, telegraf gathers stats from any up interface (excluding loopback)
1918# ## Setting interfaces will tell it to gather these explicit interfaces,
1919# ## regardless of status.
1920# ##
1921#interfaces = ["eth0","eth1","eth2","eth3"]
1922
1923# # TCP or UDP 'ping' given url and collect response time in seconds
1924# [[inputs.net_response]]
1925# ## Protocol, must be "tcp" or "udp"
1926# ## NOTE: because the "udp" protocol does not respond to requests, it requires
1927# ## a send/expect string pair (see below).
1928# protocol = "tcp"
1929# ## Server address (default localhost)
1930# address = "localhost:80"
1931# ## Set timeout
1932# timeout = "1s"
1933#
1934# ## Set read timeout (only used if expecting a response)
1935# read_timeout = "1s"
1936#
1937# ## The following options are required for UDP checks. For TCP, they are
1938# ## optional. The plugin will send the given string to the server and then
1939# ## expect to receive the given 'expect' string back.
1940# ## string sent to the server
1941# # send = "ssh"
1942# ## expected string in answer
1943# # expect = "ssh"
1944
1945
1946# # Read TCP metrics such as established, time wait and sockets counts.
1947# [[inputs.netstat]]
1948# # no configuration
1949
1950
1951# # Read Nginx's basic status information (ngx_http_stub_status_module)
1952# [[inputs.nginx]]
1953# # An array of Nginx stub_status URI to gather stats.
1954# urls = ["http://localhost/server_status"]
1955#
1956# # TLS/SSL configuration
1957# ssl_ca = "/etc/telegraf/ca.pem"
1958# ssl_cert = "/etc/telegraf/cert.cer"
1959# ssl_key = "/etc/telegraf/key.key"
1960# insecure_skip_verify = false
1961#
1962# # HTTP response timeout (default: 5s)
1963# response_timeout = "5s"
1964
1965
1966# # Read Nginx Plus' full status information (ngx_http_status_module)
1967# [[inputs.nginx_plus]]
1968# ## An array of ngx_http_status_module or status URI to gather stats.
1969# urls = ["http://localhost/status"]
1970#
1971# # HTTP response timeout (default: 5s)
1972# response_timeout = "5s"
1973
1974
1975# # Read NSQ topic and channel statistics.
1976# [[inputs.nsq]]
1977# ## An array of NSQD HTTP API endpoints
1978# endpoints = ["http://localhost:4151"]
1979
1980
1981# # Collect kernel snmp counters and network interface statistics
1982# [[inputs.nstat]]
1983# ## file paths for proc files. If empty default paths will be used:
1984# ## /proc/net/netstat, /proc/net/snmp, /proc/net/snmp6
1985# ## These can also be overridden with env variables, see README.
1986# proc_net_netstat = "/proc/net/netstat"
1987# proc_net_snmp = "/proc/net/snmp"
1988# proc_net_snmp6 = "/proc/net/snmp6"
1989# ## dump metrics with 0 values too
1990# dump_zeros = true
1991
1992
1993# # Get standard NTP query metrics, requires ntpq executable.
1994# [[inputs.ntpq]]
1995# ## If false, set the -n ntpq flag. Can reduce metric gather time.
1996# dns_lookup = true
1997
1998
1999# # OpenLDAP cn=Monitor plugin
2000# [[inputs.openldap]]
2001# host = "localhost"
2002# port = 389
2003#
2004# # ldaps, starttls, or no encryption. default is an empty string, disabling all encryption.
2005# # note that port will likely need to be changed to 636 for ldaps
2006# # valid options: "" | "starttls" | "ldaps"
2007# ssl = ""
2008#
2009# # skip peer certificate verification. Default is false.
2010# insecure_skip_verify = false
2011#
2012# # Path to PEM-encoded Root certificate to use to verify server certificate
2013# ssl_ca = "/etc/ssl/certs.pem"
2014#
2015# # dn/password to bind with. If bind_dn is empty, an anonymous bind is performed.
2016# bind_dn = ""
2017# bind_password = ""
2018
2019
2020# # A plugin to collect stats from Opensmtpd - a validating, recursive, and caching DNS resolver
2021# [[inputs.opensmtpd]]
2022# ## If running as a restricted user you can prepend sudo for additional access:
2023# #use_sudo = false
2024#
2025# ## The default location of the smtpctl binary can be overridden with:
2026# binary = "/usr/sbin/smtpctl"
2027#
2028# ## The default timeout of 1000ms can be overriden with (in milliseconds):
2029# timeout = 1000
2030
2031
2032# # Read metrics of passenger using passenger-status
2033# [[inputs.passenger]]
2034# ## Path of passenger-status.
2035# ##
2036# ## Plugin gather metric via parsing XML output of passenger-status
2037# ## More information about the tool:
2038# ## https://www.phusionpassenger.com/library/admin/apache/overall_status_report.html
2039# ##
2040# ## If no path is specified, then the plugin simply execute passenger-status
2041# ## hopefully it can be found in your PATH
2042# command = "passenger-status -v --show=xml"
2043
2044
2045# # Gather counters from PF
2046# [[inputs.pf]]
2047# ## PF require root access on most systems.
2048# ## Setting 'use_sudo' to true will make use of sudo to run pfctl.
2049# ## Users must configure sudo to allow telegraf user to run pfctl with no password.
2050# ## pfctl can be restricted to only list command "pfctl -s info".
2051# use_sudo = false
2052
2053
2054# # Read metrics of phpfpm, via HTTP status page or socket
2055# [[inputs.phpfpm]]
2056# ## An array of addresses to gather stats about. Specify an ip or hostname
2057# ## with optional port and path
2058# ##
2059# ## Plugin can be configured in three modes (either can be used):
2060# ## - http: the URL must start with http:// or https://, ie:
2061# ## "http://localhost/status"
2062# ## "http://192.168.130.1/status?full"
2063# ##
2064# ## - unixsocket: path to fpm socket, ie:
2065# ## "/var/run/php5-fpm.sock"
2066# ## or using a custom fpm status path:
2067# ## "/var/run/php5-fpm.sock:fpm-custom-status-path"
2068# ##
2069# ## - fcgi: the URL must start with fcgi:// or cgi://, and port must be present, ie:
2070# ## "fcgi://10.0.0.12:9000/status"
2071# ## "cgi://10.0.10.12:9001/status"
2072# ##
2073# ## Example of multiple gathering from local socket and remove host
2074# ## urls = ["http://192.168.1.20/status", "/tmp/fpm.sock"]
2075# urls = ["http://localhost/status"]
2076
2077
2078# # Ping given url(s) and return statistics
2079# [[inputs.ping]]
2080# ## NOTE: this plugin forks the ping command. You may need to set capabilities
2081# ## via setcap cap_net_raw+p /bin/ping
2082# #
2083# ## List of urls to ping
2084# urls = ["www.google.com"] # required
2085# ## number of pings to send per collection (ping -c <COUNT>)
2086# # count = 1
2087# ## interval, in s, at which to ping. 0 == default (ping -i <PING_INTERVAL>)
2088# # ping_interval = 1.0
2089# ## per-ping timeout, in s. 0 == no timeout (ping -W <TIMEOUT>)
2090# # timeout = 1.0
2091# ## interface to send ping from (ping -I <INTERFACE>)
2092# # interface = ""
2093
2094
2095# # Measure postfix queue statistics
2096# [[inputs.postfix]]
2097# ## Postfix queue directory. If not provided, telegraf will try to use
2098# ## 'postconf -h queue_directory' to determine it.
2099# # queue_directory = "/var/spool/postfix"
2100
2101
2102# # Read metrics from one or many postgresql servers
2103# [[inputs.postgresql]]
2104# ## specify address via a url matching:
2105# ## postgres://[pqgotest[:password]]@localhost[/dbname]\
2106# ## ?sslmode=[disable|verify-ca|verify-full]
2107# ## or a simple string:
2108# ## host=localhost user=pqotest password=... sslmode=... dbname=app_production
2109# ##
2110# ## All connection parameters are optional.
2111# ##
2112# ## Without the dbname parameter, the driver will default to a database
2113# ## with the same name as the user. This dbname is just for instantiating a
2114# ## connection with the server and doesn't restrict the databases we are trying
2115# ## to grab metrics for.
2116# ##
2117# address = "host=localhost user=postgres sslmode=disable"
2118#
2119# ## A list of databases to explicitly ignore. If not specified, metrics for all
2120# ## databases are gathered. Do NOT use with the 'databases' option.
2121# # ignored_databases = ["postgres", "template0", "template1"]
2122#
2123# ## A list of databases to pull metrics about. If not specified, metrics for all
2124# ## databases are gathered. Do NOT use with the 'ignored_databases' option.
2125# # databases = ["app_production", "testing"]
2126
2127
2128# # Read metrics from one or many postgresql servers
2129# [[inputs.postgresql_extensible]]
2130# ## specify address via a url matching:
2131# ## postgres://[pqgotest[:password]]@localhost[/dbname]\
2132# ## ?sslmode=[disable|verify-ca|verify-full]
2133# ## or a simple string:
2134# ## host=localhost user=pqotest password=... sslmode=... dbname=app_production
2135# #
2136# ## All connection parameters are optional. #
2137# ## Without the dbname parameter, the driver will default to a database
2138# ## with the same name as the user. This dbname is just for instantiating a
2139# ## connection with the server and doesn't restrict the databases we are trying
2140# ## to grab metrics for.
2141# #
2142# address = "host=localhost user=postgres sslmode=disable"
2143# ## A list of databases to pull metrics about. If not specified, metrics for all
2144# ## databases are gathered.
2145# ## databases = ["app_production", "testing"]
2146# #
2147# # outputaddress = "db01"
2148# ## A custom name for the database that will be used as the "server" tag in the
2149# ## measurement output. If not specified, a default one generated from
2150# ## the connection address is used.
2151# #
2152# ## Define the toml config where the sql queries are stored
2153# ## New queries can be added, if the withdbname is set to true and there is no
2154# ## databases defined in the 'databases field', the sql query is ended by a
2155# ## 'is not null' in order to make the query succeed.
2156# ## Example :
2157# ## The sqlquery : "SELECT * FROM pg_stat_database where datname" become
2158# ## "SELECT * FROM pg_stat_database where datname IN ('postgres', 'pgbench')"
2159# ## because the databases variable was set to ['postgres', 'pgbench' ] and the
2160# ## withdbname was true. Be careful that if the withdbname is set to false you
2161# ## don't have to define the where clause (aka with the dbname) the tagvalue
2162# ## field is used to define custom tags (separated by commas)
2163# ## The optional "measurement" value can be used to override the default
2164# ## output measurement name ("postgresql").
2165# #
2166# ## Structure :
2167# ## [[inputs.postgresql_extensible.query]]
2168# ## sqlquery string
2169# ## version string
2170# ## withdbname boolean
2171# ## tagvalue string (comma separated)
2172# ## measurement string
2173# [[inputs.postgresql_extensible.query]]
2174# sqlquery="SELECT * FROM pg_stat_database"
2175# version=901
2176# withdbname=false
2177# tagvalue=""
2178# measurement=""
2179# [[inputs.postgresql_extensible.query]]
2180# sqlquery="SELECT * FROM pg_stat_bgwriter"
2181# version=901
2182# withdbname=false
2183# tagvalue="postgresql.stats"
2184
2185
2186# # Read metrics from one or many PowerDNS servers
2187# [[inputs.powerdns]]
2188# ## An array of sockets to gather stats about.
2189# ## Specify a path to unix socket.
2190# unix_sockets = ["/var/run/pdns.controlsocket"]
2191
2192
2193# # Monitor process cpu and memory usage
2194# [[inputs.procstat]]
2195# ## Must specify one of: pid_file, exe, or pattern
2196# ## PID file to monitor process
2197# pid_file = "/var/run/nginx.pid"
2198# ## executable name (ie, pgrep <exe>)
2199# # exe = "nginx"
2200# ## pattern as argument for pgrep (ie, pgrep -f <pattern>)
2201# # pattern = "nginx"
2202# ## user as argument for pgrep (ie, pgrep -u <user>)
2203# # user = "nginx"
2204# ## Systemd unit name
2205# # systemd_unit = "nginx.service"
2206# ## CGroup name or path
2207# # cgroup = "systemd/system.slice/nginx.service"
2208#
2209# ## override for process_name
2210# ## This is optional; default is sourced from /proc/<pid>/status
2211# # process_name = "bar"
2212# ## Field name prefix
2213# prefix = ""
2214# ## comment this out if you want raw cpu_time stats
2215# fielddrop = ["cpu_time_*"]
2216# ## This is optional; moves pid into a tag instead of a field
2217# pid_tag = false
2218
2219
2220# # Read metrics from one or many prometheus clients
2221# [[inputs.prometheus]]
2222# ## An array of urls to scrape metrics from.
2223# urls = ["http://localhost:9100/metrics"]
2224#
2225# ## An array of Kubernetes services to scrape metrics from.
2226# # kubernetes_services = ["http://my-service-dns.my-namespace:9100/metrics"]
2227#
2228# ## Use bearer token for authorization
2229# # bearer_token = /path/to/bearer/token
2230#
2231# ## Specify timeout duration for slower prometheus clients (default is 3s)
2232# # response_timeout = "3s"
2233#
2234# ## Optional SSL Config
2235# # ssl_ca = /path/to/cafile
2236# # ssl_cert = /path/to/certfile
2237# # ssl_key = /path/to/keyfile
2238# ## Use SSL but skip chain & host verification
2239# # insecure_skip_verify = false
2240
2241
2242# # Reads last_run_summary.yaml file and converts to measurments
2243# [[inputs.puppetagent]]
2244# ## Location of puppet last run summary file
2245# location = "/var/lib/puppet/state/last_run_summary.yaml"
2246
2247
2248# # Reads metrics from RabbitMQ servers via the Management Plugin
2249# [[inputs.rabbitmq]]
2250# ## Management Plugin url. (default: http://localhost:15672)
2251# # url = "http://localhost:15672"
2252# ## Tag added to rabbitmq_overview series; deprecated: use tags
2253# # name = "rmq-server-1"
2254# ## Credentials
2255# # username = "guest"
2256# # password = "guest"
2257#
2258# ## Optional SSL Config
2259# # ssl_ca = "/etc/telegraf/ca.pem"
2260# # ssl_cert = "/etc/telegraf/cert.pem"
2261# # ssl_key = "/etc/telegraf/key.pem"
2262# ## Use SSL but skip chain & host verification
2263# # insecure_skip_verify = false
2264#
2265# ## Optional request timeouts
2266# ##
2267# ## ResponseHeaderTimeout, if non-zero, specifies the amount of time to wait
2268# ## for a server's response headers after fully writing the request.
2269# # header_timeout = "3s"
2270# ##
2271# ## client_timeout specifies a time limit for requests made by this client.
2272# ## Includes connection time, any redirects, and reading the response body.
2273# # client_timeout = "4s"
2274#
2275# ## A list of nodes to gather as the rabbitmq_node measurement. If not
2276# ## specified, metrics for all nodes are gathered.
2277# # nodes = ["rabbit@node1", "rabbit@node2"]
2278#
2279# ## A list of queues to gather as the rabbitmq_queue measurement. If not
2280# ## specified, metrics for all queues are gathered.
2281# # queues = ["telegraf"]
2282
2283
2284# # Read raindrops stats (raindrops - real-time stats for preforking Rack servers)
2285# [[inputs.raindrops]]
2286# ## An array of raindrops middleware URI to gather stats.
2287# urls = ["http://localhost:8080/_raindrops"]
2288
2289
2290# # Read metrics from one or many redis servers
2291# [[inputs.redis]]
2292# ## specify servers via a url matching:
2293# ## [protocol://][:password]@address[:port]
2294# ## e.g.
2295# ## tcp://localhost:6379
2296# ## tcp://:password@192.168.99.100
2297# ## unix:///var/run/redis.sock
2298# ##
2299# ## If no servers are specified, then localhost is used as the host.
2300# ## If no port is specified, 6379 is used
2301# servers = ["tcp://localhost:6379"]
2302
2303
2304# # Read metrics from one or many RethinkDB servers
2305# [[inputs.rethinkdb]]
2306# ## An array of URI to gather stats about. Specify an ip or hostname
2307# ## with optional port add password. ie,
2308# ## rethinkdb://user:auth_key@10.10.3.30:28105,
2309# ## rethinkdb://10.10.3.33:18832,
2310# ## 10.0.0.1:10000, etc.
2311# servers = ["127.0.0.1:28015"]
2312# ##
2313# ## If you use actual rethinkdb of > 2.3.0 with username/password authorization,
2314# ## protocol have to be named "rethinkdb2" - it will use 1_0 H.
2315# # servers = ["rethinkdb2://username:password@127.0.0.1:28015"]
2316# ##
2317# ## If you use older versions of rethinkdb (<2.2) with auth_key, protocol
2318# ## have to be named "rethinkdb".
2319# # servers = ["rethinkdb://username:auth_key@127.0.0.1:28015"]
2320
2321
2322# # Read metrics one or many Riak servers
2323# [[inputs.riak]]
2324# # Specify a list of one or more riak http servers
2325# servers = ["http://localhost:8098"]
2326
2327
2328# # Read API usage and limits for a Salesforce organisation
2329# [[inputs.salesforce]]
2330# ## specify your credentials
2331# ##
2332# username = "your_username"
2333# password = "your_password"
2334# ##
2335# ## (optional) security token
2336# # security_token = "your_security_token"
2337# ##
2338# ## (optional) environment type (sandbox or production)
2339# ## default is: production
2340# ##
2341# # environment = "production"
2342# ##
2343# ## (optional) API version (default: "39.0")
2344# ##
2345# # version = "39.0"
2346
2347
2348# # Monitor sensors, requires lm-sensors package
2349#[[inputs.sensors]]
2350# ## Remove numbers from field names.
2351# ## If true, a field name like 'temp1_input' will be changed to 'temp_input'.
2352# # remove_numbers = true
2353
2354
2355# # Read metrics from storage devices supporting S.M.A.R.T.
2356# [[inputs.smart]]
2357# ## Optionally specify the path to the smartctl executable
2358# # path = "/usr/bin/smartctl"
2359# #
2360# ## On most platforms smartctl requires root access.
2361# ## Setting 'use_sudo' to true will make use of sudo to run smartctl.
2362# ## Sudo must be configured to to allow the telegraf user to run smartctl
2363# ## with out password.
2364# # use_sudo = false
2365# #
2366# ## Skip checking disks in this power mode. Defaults to
2367# ## "standby" to not wake up disks that have stoped rotating.
2368# ## See --nocheck in the man pages for smartctl.
2369# ## smartctl version 5.41 and 5.42 have faulty detection of
2370# ## power mode and might require changing this value to
2371# ## "never" depending on your disks.
2372# # nocheck = "standby"
2373# #
2374# ## Gather detailed metrics for each SMART Attribute.
2375# ## Defaults to "false"
2376# ##
2377# # attributes = false
2378# #
2379# ## Optionally specify devices to exclude from reporting.
2380# # excludes = [ "/dev/pass6" ]
2381# #
2382# ## Optionally specify devices and device type, if unset
2383# ## a scan (smartctl --scan) for S.M.A.R.T. devices will
2384# ## done and all found will be included except for the
2385# ## excluded in excludes.
2386# # devices = [ "/dev/ada0 -d atacam" ]
2387
2388
2389# # Retrieves SNMP values from remote agents
2390# [[inputs.snmp]]
2391# agents = [ "127.0.0.1:161" ]
2392# ## Timeout for each SNMP query.
2393# timeout = "5s"
2394# ## Number of retries to attempt within timeout.
2395# retries = 3
2396# ## SNMP version, values can be 1, 2, or 3
2397# version = 2
2398#
2399# ## SNMP community string.
2400# community = "public"
2401#
2402# ## The GETBULK max-repetitions parameter
2403# max_repetitions = 10
2404#
2405# ## SNMPv3 auth parameters
2406# #sec_name = "myuser"
2407# #auth_protocol = "md5" # Values: "MD5", "SHA", ""
2408# #auth_password = "pass"
2409# #sec_level = "authNoPriv" # Values: "noAuthNoPriv", "authNoPriv", "authPriv"
2410# #context_name = ""
2411# #priv_protocol = "" # Values: "DES", "AES", ""
2412# #priv_password = ""
2413#
2414# ## measurement name
2415# name = "system"
2416# [[inputs.snmp.field]]
2417# name = "hostname"
2418# oid = ".1.0.0.1.1"
2419# [[inputs.snmp.field]]
2420# name = "uptime"
2421# oid = ".1.0.0.1.2"
2422# [[inputs.snmp.field]]
2423# name = "load"
2424# oid = ".1.0.0.1.3"
2425# [[inputs.snmp.field]]
2426# oid = "HOST-RESOURCES-MIB::hrMemorySize"
2427#
2428# [[inputs.snmp.table]]
2429# ## measurement name
2430# name = "remote_servers"
2431# inherit_tags = [ "hostname" ]
2432# [[inputs.snmp.table.field]]
2433# name = "server"
2434# oid = ".1.0.0.0.1.0"
2435# is_tag = true
2436# [[inputs.snmp.table.field]]
2437# name = "connections"
2438# oid = ".1.0.0.0.1.1"
2439# [[inputs.snmp.table.field]]
2440# name = "latency"
2441# oid = ".1.0.0.0.1.2"
2442#
2443# [[inputs.snmp.table]]
2444# ## auto populate table's fields using the MIB
2445# oid = "HOST-RESOURCES-MIB::hrNetworkTable"
2446
2447
2448# # DEPRECATED! PLEASE USE inputs.snmp INSTEAD.
2449# [[inputs.snmp_legacy]]
2450# ## Use 'oids.txt' file to translate oids to names
2451# ## To generate 'oids.txt' you need to run:
2452# ## snmptranslate -m all -Tz -On | sed -e 's/"//g' > /tmp/oids.txt
2453# ## Or if you have an other MIB folder with custom MIBs
2454# ## snmptranslate -M /mycustommibfolder -Tz -On -m all | sed -e 's/"//g' > oids.txt
2455# snmptranslate_file = "/tmp/oids.txt"
2456# [[inputs.snmp.host]]
2457# address = "192.168.2.2:161"
2458# # SNMP community
2459# community = "public" # default public
2460# # SNMP version (1, 2 or 3)
2461# # Version 3 not supported yet
2462# version = 2 # default 2
2463# # SNMP response timeout
2464# timeout = 2.0 # default 2.0
2465# # SNMP request retries
2466# retries = 2 # default 2
2467# # Which get/bulk do you want to collect for this host
2468# collect = ["mybulk", "sysservices", "sysdescr"]
2469# # Simple list of OIDs to get, in addition to "collect"
2470# get_oids = []
2471#
2472# [[inputs.snmp.host]]
2473# address = "192.168.2.3:161"
2474# community = "public"
2475# version = 2
2476# timeout = 2.0
2477# retries = 2
2478# collect = ["mybulk"]
2479# get_oids = [
2480# "ifNumber",
2481# ".1.3.6.1.2.1.1.3.0",
2482# ]
2483#
2484# [[inputs.snmp.get]]
2485# name = "ifnumber"
2486# oid = "ifNumber"
2487#
2488# [[inputs.snmp.get]]
2489# name = "interface_speed"
2490# oid = "ifSpeed"
2491# instance = "0"
2492#
2493# [[inputs.snmp.get]]
2494# name = "sysuptime"
2495# oid = ".1.3.6.1.2.1.1.3.0"
2496# unit = "second"
2497#
2498# [[inputs.snmp.bulk]]
2499# name = "mybulk"
2500# max_repetition = 127
2501# oid = ".1.3.6.1.2.1.1"
2502#
2503# [[inputs.snmp.bulk]]
2504# name = "ifoutoctets"
2505# max_repetition = 127
2506# oid = "ifOutOctets"
2507#
2508# [[inputs.snmp.host]]
2509# address = "192.168.2.13:161"
2510# #address = "127.0.0.1:161"
2511# community = "public"
2512# version = 2
2513# timeout = 2.0
2514# retries = 2
2515# #collect = ["mybulk", "sysservices", "sysdescr", "systype"]
2516# collect = ["sysuptime" ]
2517# [[inputs.snmp.host.table]]
2518# name = "iftable3"
2519# include_instances = ["enp5s0", "eth1"]
2520#
2521# # SNMP TABLEs
2522# # table without mapping neither subtables
2523# [[inputs.snmp.table]]
2524# name = "iftable1"
2525# oid = ".1.3.6.1.2.1.31.1.1.1"
2526#
2527# # table without mapping but with subtables
2528# [[inputs.snmp.table]]
2529# name = "iftable2"
2530# oid = ".1.3.6.1.2.1.31.1.1.1"
2531# sub_tables = [".1.3.6.1.2.1.2.2.1.13"]
2532#
2533# # table with mapping but without subtables
2534# [[inputs.snmp.table]]
2535# name = "iftable3"
2536# oid = ".1.3.6.1.2.1.31.1.1.1"
2537# # if empty. get all instances
2538# mapping_table = ".1.3.6.1.2.1.31.1.1.1.1"
2539# # if empty, get all subtables
2540#
2541# # table with both mapping and subtables
2542# [[inputs.snmp.table]]
2543# name = "iftable4"
2544# oid = ".1.3.6.1.2.1.31.1.1.1"
2545# # if empty get all instances
2546# mapping_table = ".1.3.6.1.2.1.31.1.1.1.1"
2547# # if empty get all subtables
2548# # sub_tables could be not "real subtables"
2549# sub_tables=[".1.3.6.1.2.1.2.2.1.13", "bytes_recv", "bytes_send"]
2550
2551
2552# # Read stats from one or more Solr servers or cores
2553# [[inputs.solr]]
2554# ## specify a list of one or more Solr servers
2555# servers = ["http://localhost:8983"]
2556#
2557# ## specify a list of one or more Solr cores (default - all)
2558# # cores = ["main"]
2559
2560
2561# # Read metrics from Microsoft SQL Server
2562# [[inputs.sqlserver]]
2563# ## Specify instances to monitor with a list of connection strings.
2564# ## All connection parameters are optional.
2565# ## By default, the host is localhost, listening on default port, TCP 1433.
2566# ## for Windows, the user is the currently running AD user (SSO).
2567# ## See https://github.com/denisenkom/go-mssqldb for detailed connection
2568# ## parameters.
2569# # servers = [
2570# # "Server=192.168.1.10;Port=1433;User Id=<user>;Password=<pw>;app name=telegraf;log=1;",
2571# # ]
2572
2573
2574# # Sysstat metrics collector
2575# [[inputs.sysstat]]
2576# ## Path to the sadc command.
2577# #
2578# ## Common Defaults:
2579# ## Debian/Ubuntu: /usr/lib/sysstat/sadc
2580# ## Arch: /usr/lib/sa/sadc
2581# ## RHEL/CentOS: /usr/lib64/sa/sadc
2582# sadc_path = "/usr/lib/sa/sadc" # required
2583# #
2584# #
2585# ## Path to the sadf command, if it is not in PATH
2586# # sadf_path = "/usr/bin/sadf"
2587# #
2588# #
2589# ## Activities is a list of activities, that are passed as argument to the
2590# ## sadc collector utility (e.g: DISK, SNMP etc...)
2591# ## The more activities that are added, the more data is collected.
2592# # activities = ["DISK"]
2593# #
2594# #
2595# ## Group metrics to measurements.
2596# ##
2597# ## If group is false each metric will be prefixed with a description
2598# ## and represents itself a measurement.
2599# ##
2600# ## If Group is true, corresponding metrics are grouped to a single measurement.
2601# # group = true
2602# #
2603# #
2604# ## Options for the sadf command. The values on the left represent the sadf
2605# ## options and the values on the right their description (which are used for
2606# ## grouping and prefixing metrics).
2607# ##
2608# ## Run 'sar -h' or 'man sar' to find out the supported options for your
2609# ## sysstat version.
2610# [inputs.sysstat.options]
2611# -C = "cpu"
2612# -B = "paging"
2613# -b = "io"
2614# -d = "disk" # requires DISK activity
2615# "-n ALL" = "network"
2616# "-P ALL" = "per_cpu"
2617# -q = "queue"
2618# -R = "mem"
2619# -r = "mem_util"
2620# -S = "swap_util"
2621# -u = "cpu_util"
2622# -v = "inode"
2623# -W = "swap"
2624# -w = "task"
2625# # -H = "hugepages" # only available for newer linux distributions
2626# # "-I ALL" = "interrupts" # requires INT activity
2627# #
2628# #
2629# ## Device tags can be used to add additional tags for devices.
2630# ## For example the configuration below adds a tag vg with value rootvg for
2631# ## all metrics with sda devices.
2632# # [[inputs.sysstat.device_tags.sda]]
2633# # vg = "rootvg"
2634
2635
2636# # Reads metrics from a Teamspeak 3 Server via ServerQuery
2637# [[inputs.teamspeak]]
2638# ## Server address for Teamspeak 3 ServerQuery
2639# # server = "127.0.0.1:10011"
2640# ## Username for ServerQuery
2641# username = "serverqueryuser"
2642# ## Password for ServerQuery
2643# password = "secret"
2644# ## Array of virtual servers
2645# # virtual_servers = [1]
2646
2647
2648# # Gather metrics from the Tomcat server status page.
2649# [[inputs.tomcat]]
2650# ## URL of the Tomcat server status
2651# # url = "http://127.0.0.1:8080/manager/status/all?XML=true"
2652#
2653# ## HTTP Basic Auth Credentials
2654# # username = "tomcat"
2655# # password = "s3cret"
2656#
2657# ## Request timeout
2658# # timeout = "5s"
2659#
2660# ## Optional SSL Config
2661# # ssl_ca = "/etc/telegraf/ca.pem"
2662# # ssl_cert = "/etc/telegraf/cert.pem"
2663# # ssl_key = "/etc/telegraf/key.pem"
2664# ## Use SSL but skip chain & host verification
2665# # insecure_skip_verify = false
2666
2667
2668# # Inserts sine and cosine waves for demonstration purposes
2669# [[inputs.trig]]
2670# ## Set the amplitude
2671# amplitude = 10.0
2672
2673
2674# # Read Twemproxy stats data
2675# [[inputs.twemproxy]]
2676# ## Twemproxy stats address and port (no scheme)
2677# addr = "localhost:22222"
2678# ## Monitor pool name
2679# pools = ["redis_pool", "mc_pool"]
2680
2681
2682# # A plugin to collect stats from Unbound - a validating, recursive, and caching DNS resolver
2683# [[inputs.unbound]]
2684# ## If running as a restricted user you can prepend sudo for additional access:
2685# #use_sudo = false
2686#
2687# ## The default location of the unbound-control binary can be overridden with:
2688# binary = "/usr/sbin/unbound-control"
2689#
2690# ## The default timeout of 1s can be overriden with:
2691# timeout = "1s"
2692#
2693# ## Use the builtin fielddrop/fieldpass telegraf filters in order to keep/remove specific fields
2694# fieldpass = ["total_*", "num_*","time_up", "mem_*"]
2695
2696
2697# # A plugin to collect stats from Varnish HTTP Cache
2698# [[inputs.varnish]]
2699# ## If running as a restricted user you can prepend sudo for additional access:
2700# #use_sudo = false
2701#
2702# ## The default location of the varnishstat binary can be overridden with:
2703# binary = "/usr/bin/varnishstat"
2704#
2705# ## By default, telegraf gather stats for 3 metric points.
2706# ## Setting stats will override the defaults shown below.
2707# ## Glob matching can be used, ie, stats = ["MAIN.*"]
2708# ## stats may also be set to ["*"], which will collect all stats
2709# stats = ["MAIN.cache_hit", "MAIN.cache_miss", "MAIN.uptime"]
2710#
2711# ## Optional name for the varnish instance (or working directory) to query
2712# ## Usually appened after -n in varnish cli
2713# #name = instanceName
2714
2715
2716# # Read metrics of ZFS from arcstats, zfetchstats, vdev_cache_stats, and pools
2717# [[inputs.zfs]]
2718# ## ZFS kstat path. Ignored on FreeBSD
2719# ## If not specified, then default is:
2720# # kstatPath = "/proc/spl/kstat/zfs"
2721#
2722# ## By default, telegraf gather all zfs stats
2723# ## If not specified, then default is:
2724# # kstatMetrics = ["arcstats", "zfetchstats", "vdev_cache_stats"]
2725#
2726# ## By default, don't gather zpool stats
2727# # poolMetrics = false
2728
2729
2730# # Reads 'mntr' stats from one or many zookeeper servers
2731# [[inputs.zookeeper]]
2732# ## An array of address to gather stats about. Specify an ip or hostname
2733# ## with port. ie localhost:2181, 10.0.0.1:2181, etc.
2734#
2735# ## If no servers are specified, then localhost is used as the host.
2736# ## If no port is specified, 2181 is used
2737# servers = [":2181"]
2738
2739
2740
2741###############################################################################
2742# SERVICE INPUT PLUGINS #
2743###############################################################################
2744
2745# # AMQP consumer plugin
2746# [[inputs.amqp_consumer]]
2747# ## AMQP url
2748# url = "amqp://localhost:5672/influxdb"
2749# ## AMQP exchange
2750# exchange = "telegraf"
2751# ## AMQP queue name
2752# queue = "telegraf"
2753# ## Binding Key
2754# binding_key = "#"
2755#
2756# ## Maximum number of messages server should give to the worker.
2757# prefetch_count = 50
2758#
2759# ## Auth method. PLAIN and EXTERNAL are supported
2760# ## Using EXTERNAL requires enabling the rabbitmq_auth_mechanism_ssl plugin as
2761# ## described here: https://www.rabbitmq.com/plugins.html
2762# # auth_method = "PLAIN"
2763#
2764# ## Optional SSL Config
2765# # ssl_ca = "/etc/telegraf/ca.pem"
2766# # ssl_cert = "/etc/telegraf/cert.pem"
2767# # ssl_key = "/etc/telegraf/key.pem"
2768# ## Use SSL but skip chain & host verification
2769# # insecure_skip_verify = false
2770#
2771# ## Data format to consume.
2772# ## Each data format has its own unique set of configuration options, read
2773# ## more about them here:
2774# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
2775# data_format = "influx"
2776
2777
2778# # Influx HTTP write listener
2779# [[inputs.http_listener]]
2780# ## Address and port to host HTTP listener on
2781# service_address = ":8186"
2782#
2783# ## maximum duration before timing out read of the request
2784# read_timeout = "10s"
2785# ## maximum duration before timing out write of the response
2786# write_timeout = "10s"
2787#
2788# ## Maximum allowed http request body size in bytes.
2789# ## 0 means to use the default of 536,870,912 bytes (500 mebibytes)
2790# max_body_size = 0
2791#
2792# ## Maximum line size allowed to be sent in bytes.
2793# ## 0 means to use the default of 65536 bytes (64 kibibytes)
2794# max_line_size = 0
2795#
2796# ## Set one or more allowed client CA certificate file names to
2797# ## enable mutually authenticated TLS connections
2798# tls_allowed_cacerts = ["/etc/telegraf/clientca.pem"]
2799#
2800# ## Add service certificate and key
2801# tls_cert = "/etc/telegraf/cert.pem"
2802# tls_key = "/etc/telegraf/key.pem"
2803
2804
2805# # Read metrics from Kafka topic(s)
2806# [[inputs.kafka_consumer]]
2807# ## kafka servers
2808# brokers = ["localhost:9092"]
2809# ## topic(s) to consume
2810# topics = ["telegraf"]
2811#
2812# ## Optional SSL Config
2813# # ssl_ca = "/etc/telegraf/ca.pem"
2814# # ssl_cert = "/etc/telegraf/cert.pem"
2815# # ssl_key = "/etc/telegraf/key.pem"
2816# ## Use SSL but skip chain & host verification
2817# # insecure_skip_verify = false
2818#
2819# ## Optional SASL Config
2820# # sasl_username = "kafka"
2821# # sasl_password = "secret"
2822#
2823# ## the name of the consumer group
2824# consumer_group = "telegraf_metrics_consumers"
2825# ## Offset (must be either "oldest" or "newest")
2826# offset = "oldest"
2827#
2828# ## Data format to consume.
2829# ## Each data format has its own unique set of configuration options, read
2830# ## more about them here:
2831# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
2832# data_format = "influx"
2833#
2834# ## Maximum length of a message to consume, in bytes (default 0/unlimited);
2835# ## larger messages are dropped
2836# max_message_len = 65536
2837
2838
2839# # Read metrics from Kafka topic(s)
2840# [[inputs.kafka_consumer_legacy]]
2841# ## topic(s) to consume
2842# topics = ["telegraf"]
2843# ## an array of Zookeeper connection strings
2844# zookeeper_peers = ["localhost:2181"]
2845# ## Zookeeper Chroot
2846# zookeeper_chroot = ""
2847# ## the name of the consumer group
2848# consumer_group = "telegraf_metrics_consumers"
2849# ## Offset (must be either "oldest" or "newest")
2850# offset = "oldest"
2851#
2852# ## Data format to consume.
2853# ## Each data format has its own unique set of configuration options, read
2854# ## more about them here:
2855# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
2856# data_format = "influx"
2857#
2858# ## Maximum length of a message to consume, in bytes (default 0/unlimited);
2859# ## larger messages are dropped
2860# max_message_len = 65536
2861
2862
2863# # Stream and parse log file(s).
2864# [[inputs.logparser]]
2865# ## Log files to parse.
2866# ## These accept standard unix glob matching rules, but with the addition of
2867# ## ** as a "super asterisk". ie:
2868# ## /var/log/**.log -> recursively find all .log files in /var/log
2869# ## /var/log/*/*.log -> find all .log files with a parent dir in /var/log
2870# ## /var/log/apache.log -> only tail the apache log file
2871# files = ["/var/log/apache/access.log"]
2872#
2873# ## Read files that currently exist from the beginning. Files that are created
2874# ## while telegraf is running (and that match the "files" globs) will always
2875# ## be read from the beginning.
2876# from_beginning = false
2877#
2878# ## Method used to watch for file updates. Can be either "inotify" or "poll".
2879# # watch_method = "inotify"
2880#
2881# ## Parse logstash-style "grok" patterns:
2882# ## Telegraf built-in parsing patterns: https://goo.gl/dkay10
2883# [inputs.logparser.grok]
2884# ## This is a list of patterns to check the given log file(s) for.
2885# ## Note that adding patterns here increases processing time. The most
2886# ## efficient configuration is to have one pattern per logparser.
2887# ## Other common built-in patterns are:
2888# ## %{COMMON_LOG_FORMAT} (plain apache & nginx access logs)
2889# ## %{COMBINED_LOG_FORMAT} (access logs + referrer & agent)
2890# patterns = ["%{COMBINED_LOG_FORMAT}"]
2891#
2892# ## Name of the outputted measurement name.
2893# measurement = "apache_access_log"
2894#
2895# ## Full path(s) to custom pattern files.
2896# custom_pattern_files = []
2897#
2898# ## Custom patterns can also be defined here. Put one pattern per line.
2899# custom_patterns = '''
2900#
2901# ## Timezone allows you to provide an override for timestamps that
2902# ## don't already include an offset
2903# ## e.g. 04/06/2016 12:41:45 data one two 5.43µs
2904# ##
2905# ## Default: "" which renders UTC
2906# ## Options are as follows:
2907# ## 1. Local -- interpret based on machine localtime
2908# ## 2. "Canada/Eastern" -- Unix TZ values like those found in https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
2909# ## 3. UTC -- or blank/unspecified, will return timestamp in UTC
2910# timezone = "Canada/Eastern"
2911# '''
2912
2913
2914# # Read metrics from MQTT topic(s)
2915# [[inputs.mqtt_consumer]]
2916# ## MQTT broker URLs to be used. The format should be scheme://host:port,
2917# ## schema can be tcp, ssl, or ws.
2918# servers = ["tcp://localhost:1883"]
2919#
2920# ## MQTT QoS, must be 0, 1, or 2
2921# qos = 0
2922# ## Connection timeout for initial connection in seconds
2923# connection_timeout = "30s"
2924#
2925# ## Topics to subscribe to
2926# topics = [
2927# "telegraf/host01/cpu",
2928# "telegraf/+/mem",
2929# "sensors/#",
2930# ]
2931#
2932# # if true, messages that can't be delivered while the subscriber is offline
2933# # will be delivered when it comes back (such as on service restart).
2934# # NOTE: if true, client_id MUST be set
2935# persistent_session = false
2936# # If empty, a random client ID will be generated.
2937# client_id = ""
2938#
2939# ## username and password to connect MQTT server.
2940# # username = "telegraf"
2941# # password = "metricsmetricsmetricsmetrics"
2942#
2943# ## Optional SSL Config
2944# # ssl_ca = "/etc/telegraf/ca.pem"
2945# # ssl_cert = "/etc/telegraf/cert.pem"
2946# # ssl_key = "/etc/telegraf/key.pem"
2947# ## Use SSL but skip chain & host verification
2948# # insecure_skip_verify = false
2949#
2950# ## Data format to consume.
2951# ## Each data format has its own unique set of configuration options, read
2952# ## more about them here:
2953# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
2954# data_format = "influx"
2955
2956
2957# # Read metrics from NATS subject(s)
2958# [[inputs.nats_consumer]]
2959# ## urls of NATS servers
2960# # servers = ["nats://localhost:4222"]
2961# ## Use Transport Layer Security
2962# # secure = false
2963# ## subject(s) to consume
2964# # subjects = ["telegraf"]
2965# ## name a queue group
2966# # queue_group = "telegraf_consumers"
2967#
2968# ## Sets the limits for pending msgs and bytes for each subscription
2969# ## These shouldn't need to be adjusted except in very high throughput scenarios
2970# # pending_message_limit = 65536
2971# # pending_bytes_limit = 67108864
2972#
2973# ## Data format to consume.
2974# ## Each data format has its own unique set of configuration options, read
2975# ## more about them here:
2976# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
2977# data_format = "influx"
2978
2979
2980# # Read NSQ topic for metrics.
2981# [[inputs.nsq_consumer]]
2982# ## Server option still works but is deprecated, we just prepend it to the nsqd array.
2983# # server = "localhost:4150"
2984# ## An array representing the NSQD TCP HTTP Endpoints
2985# nsqd = ["localhost:4150"]
2986# ## An array representing the NSQLookupd HTTP Endpoints
2987# nsqlookupd = ["localhost:4161"]
2988# topic = "telegraf"
2989# channel = "consumer"
2990# max_in_flight = 100
2991#
2992# ## Data format to consume.
2993# ## Each data format has its own unique set of configuration options, read
2994# ## more about them here:
2995# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
2996# data_format = "influx"
2997
2998
2999# # Generic socket listener capable of handling multiple socket types.
3000# [[inputs.socket_listener]]
3001# ## URL to listen on
3002# # service_address = "tcp://:8094"
3003# # service_address = "tcp://127.0.0.1:http"
3004# # service_address = "tcp4://:8094"
3005# # service_address = "tcp6://:8094"
3006# # service_address = "tcp6://[2001:db8::1]:8094"
3007# # service_address = "udp://:8094"
3008# # service_address = "udp4://:8094"
3009# # service_address = "udp6://:8094"
3010# # service_address = "unix:///tmp/telegraf.sock"
3011# # service_address = "unixgram:///tmp/telegraf.sock"
3012#
3013# ## Maximum number of concurrent connections.
3014# ## Only applies to stream sockets (e.g. TCP).
3015# ## 0 (default) is unlimited.
3016# # max_connections = 1024
3017#
3018# ## Read timeout.
3019# ## Only applies to stream sockets (e.g. TCP).
3020# ## 0 (default) is unlimited.
3021# # read_timeout = "30s"
3022#
3023# ## Maximum socket buffer size in bytes.
3024# ## For stream sockets, once the buffer fills up, the sender will start backing up.
3025# ## For datagram sockets, once the buffer fills up, metrics will start dropping.
3026# ## Defaults to the OS default.
3027# # read_buffer_size = 65535
3028#
3029# ## Period between keep alive probes.
3030# ## Only applies to TCP sockets.
3031# ## 0 disables keep alive probes.
3032# ## Defaults to the OS configuration.
3033# # keep_alive_period = "5m"
3034#
3035# ## Data format to consume.
3036# ## Each data format has its own unique set of configuration options, read
3037# ## more about them here:
3038# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
3039# # data_format = "influx"
3040
3041
3042# # Statsd UDP/TCP Server
3043# [[inputs.statsd]]
3044# ## Protocol, must be "tcp", "udp", "udp4" or "udp6" (default=udp)
3045# protocol = "udp"
3046#
3047# ## MaxTCPConnection - applicable when protocol is set to tcp (default=250)
3048# max_tcp_connections = 250
3049#
3050# ## Address and port to host UDP listener on
3051# service_address = ":8125"
3052#
3053# ## The following configuration options control when telegraf clears it's cache
3054# ## of previous values. If set to false, then telegraf will only clear it's
3055# ## cache when the daemon is restarted.
3056# ## Reset gauges every interval (default=true)
3057# delete_gauges = true
3058# ## Reset counters every interval (default=true)
3059# delete_counters = true
3060# ## Reset sets every interval (default=true)
3061# delete_sets = true
3062# ## Reset timings & histograms every interval (default=true)
3063# delete_timings = true
3064#
3065# ## Percentiles to calculate for timing & histogram stats
3066# percentiles = [90]
3067#
3068# ## separator to use between elements of a statsd metric
3069# metric_separator = "_"
3070#
3071# ## Parses tags in the datadog statsd format
3072# ## http://docs.datadoghq.com/guides/dogstatsd/
3073# parse_data_dog_tags = false
3074#
3075# ## Statsd data translation templates, more info can be read here:
3076# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md#graphite
3077# # templates = [
3078# # "cpu.* measurement*"
3079# # ]
3080#
3081# ## Number of UDP messages allowed to queue up, once filled,
3082# ## the statsd server will start dropping packets
3083# allowed_pending_messages = 10000
3084#
3085# ## Number of timing/histogram values to track per-measurement in the
3086# ## calculation of percentiles. Raising this limit increases the accuracy
3087# ## of percentiles but also increases the memory usage and cpu time.
3088# percentile_limit = 1000
3089
3090
3091# # Stream a log file, like the tail -f command
3092# [[inputs.tail]]
3093# ## files to tail.
3094# ## These accept standard unix glob matching rules, but with the addition of
3095# ## ** as a "super asterisk". ie:
3096# ## "/var/log/**.log" -> recursively find all .log files in /var/log
3097# ## "/var/log/*/*.log" -> find all .log files with a parent dir in /var/log
3098# ## "/var/log/apache.log" -> just tail the apache log file
3099# ##
3100# ## See https://github.com/gobwas/glob for more examples
3101# ##
3102# files = ["/var/mymetrics.out"]
3103# ## Read file from beginning.
3104# from_beginning = false
3105# ## Whether file is a named pipe
3106# pipe = false
3107#
3108# ## Method used to watch for file updates. Can be either "inotify" or "poll".
3109# # watch_method = "inotify"
3110#
3111# ## Data format to consume.
3112# ## Each data format has its own unique set of configuration options, read
3113# ## more about them here:
3114# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
3115# data_format = "influx"
3116
3117
3118# # Generic TCP listener
3119# [[inputs.tcp_listener]]
3120# # DEPRECATED: the TCP listener plugin has been deprecated in favor of the
3121# # socket_listener plugin
3122# # see https://github.com/influxdata/telegraf/tree/master/plugins/inputs/socket_listener
3123
3124
3125# # Generic UDP listener
3126# [[inputs.udp_listener]]
3127# # DEPRECATED: the TCP listener plugin has been deprecated in favor of the
3128# # socket_listener plugin
3129# # see https://github.com/influxdata/telegraf/tree/master/plugins/inputs/socket_listener
3130
3131
3132# # A Webhooks Event collector
3133# [[inputs.webhooks]]
3134# ## Address and port to host Webhook listener on
3135# service_address = ":1619"
3136#
3137# [inputs.webhooks.filestack]
3138# path = "/filestack"
3139#
3140# [inputs.webhooks.github]
3141# path = "/github"
3142# # secret = ""
3143#
3144# [inputs.webhooks.mandrill]
3145# path = "/mandrill"
3146#
3147# [inputs.webhooks.rollbar]
3148# path = "/rollbar"
3149#
3150# [inputs.webhooks.papertrail]
3151# path = "/papertrail"
3152#
3153# [inputs.webhooks.particle]
3154# path = "/particle"
3155
3156
3157# # This plugin implements the Zipkin http server to gather trace and timing data needed to troubleshoot latency problems in microservice architectures.
3158# [[inputs.zipkin]]
3159# # path = "/api/v1/spans" # URL path for span data
3160# # port = 9411 # Port on which Telegraf listens