· 6 years ago · May 07, 2019, 01:16 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 = "60s"
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 = "60s"
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, precision will be set to the same timestamp order as the
59 ## collection interval, with the maximum being 1s.
60 ## Precision will NOT be used for service inputs, such as logparser and statsd.
61 ## Valid values are "ns", "us" (or "µs"), "ms", "s".
62 precision = ""
63
64 ## Logging configuration:
65 ## Run telegraf with debug log messages.
66 debug = false
67 ## Run telegraf in quiet mode (error log messages only).
68 quiet = false
69 ## Specify the log file name. The empty string means to log to stderr.
70 logfile = ""
71
72 ## Override default hostname, if empty use os.Hostname()
73 hostname = ""
74 ## If set to true, do no set the "host" tag in the telegraf agent.
75 omit_hostname = false
76
77
78###############################################################################
79# OUTPUT PLUGINS #
80###############################################################################
81
82# Configuration for influxdb server to send metrics to
83[[outputs.influxdb]]
84 ## The full HTTP or UDP endpoint URL for your InfluxDB instance.
85 ## Multiple urls can be specified as part of the same cluster,
86 ## this means that only ONE of the urls will be written to each interval.
87 # urls = ["udp://localhost:8089"] # UDP endpoint example
88 urls = ["http://192.168.0.51:8086"] # required
89 ## The target database for metrics (telegraf will create it if not exists).
90 database = "metrics" # required
91
92 ## Retention policy to write to. Empty string writes to the default rp.
93 retention_policy = ""
94 ## Write consistency (clusters only), can be: "any", "one", "quorum", "all"
95 write_consistency = "any"
96
97 ## Write timeout (for the InfluxDB client), formatted as a string.
98 ## If not provided, will default to 5s. 0s means no timeout (not recommended).
99 timeout = "10s"
100 # username = "telegraf"
101 # password = "metricsmetricsmetricsmetrics"
102 ## Set the user agent for HTTP POSTs (can be useful for log differentiation)
103 # user_agent = "telegraf"
104 ## Set UDP payload size, defaults to InfluxDB UDP Client default (512 bytes)
105 # udp_payload = 512
106
107 ## Optional SSL Config
108 # ssl_ca = "/etc/telegraf/ca.pem"
109 # ssl_cert = "/etc/telegraf/cert.pem"
110 # ssl_key = "/etc/telegraf/key.pem"
111 ## Use SSL but skip chain & host verification
112 # insecure_skip_verify = false
113
114
115# # Configuration for Amon Server to send metrics to.
116# [[outputs.amon]]
117# ## Amon Server Key
118# server_key = "my-server-key" # required.
119#
120# ## Amon Instance URL
121# amon_instance = "https://youramoninstance" # required
122#
123# ## Connection timeout.
124# # timeout = "5s"
125
126
127# # Configuration for the AMQP server to send metrics to
128# [[outputs.amqp]]
129# ## AMQP url
130# url = "amqp://localhost:5672/influxdb"
131# ## AMQP exchange
132# exchange = "telegraf"
133# ## Auth method. PLAIN and EXTERNAL are supported
134# # auth_method = "PLAIN"
135# ## Telegraf tag to use as a routing key
136# ## ie, if this tag exists, it's value will be used as the routing key
137# routing_tag = "host"
138#
139# ## InfluxDB retention policy
140# # retention_policy = "default"
141# ## InfluxDB database
142# # database = "telegraf"
143#
144# ## Optional SSL Config
145# # ssl_ca = "/etc/telegraf/ca.pem"
146# # ssl_cert = "/etc/telegraf/cert.pem"
147# # ssl_key = "/etc/telegraf/key.pem"
148# ## Use SSL but skip chain & host verification
149# # insecure_skip_verify = false
150#
151# ## Data format to output.
152# ## Each data format has it's own unique set of configuration options, read
153# ## more about them here:
154# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
155# data_format = "influx"
156
157
158# # Configuration for AWS CloudWatch output.
159# [[outputs.cloudwatch]]
160# ## Amazon REGION
161# region = "us-east-1"
162#
163# ## Amazon Credentials
164# ## Credentials are loaded in the following order
165# ## 1) Assumed credentials via STS if role_arn is specified
166# ## 2) explicit credentials from 'access_key' and 'secret_key'
167# ## 3) shared profile from 'profile'
168# ## 4) environment variables
169# ## 5) shared credentials file
170# ## 6) EC2 Instance Profile
171# #access_key = ""
172# #secret_key = ""
173# #token = ""
174# #role_arn = ""
175# #profile = ""
176# #shared_credential_file = ""
177#
178# ## Namespace for the CloudWatch MetricDatums
179# namespace = "InfluxData/Telegraf"
180
181
182# # Configuration for DataDog API to send metrics to.
183# [[outputs.datadog]]
184# ## Datadog API key
185# apikey = "my-secret-key" # required.
186#
187# ## Connection timeout.
188# # timeout = "5s"
189
190
191# # Send metrics to nowhere at all
192# [[outputs.discard]]
193# # no configuration
194
195
196# # Send telegraf metrics to file(s)
197# [[outputs.file]]
198# ## Files to write to, "stdout" is a specially handled file.
199# files = ["stdout", "/tmp/metrics.out"]
200#
201# ## Data format to output.
202# ## Each data format has it's own unique set of configuration options, read
203# ## more about them here:
204# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
205# data_format = "influx"
206
207
208# # Configuration for Graphite server to send metrics to
209# [[outputs.graphite]]
210# ## TCP endpoint for your graphite instance.
211# ## If multiple endpoints are configured, output will be load balanced.
212# ## Only one of the endpoints will be written to with each iteration.
213# servers = ["localhost:2003"]
214# ## Prefix metrics name
215# prefix = ""
216# ## Graphite output template
217# ## see https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
218# template = "host.tags.measurement.field"
219# ## timeout in seconds for the write connection to graphite
220# timeout = 2
221
222
223# # Send telegraf metrics to graylog(s)
224# [[outputs.graylog]]
225# ## UDP endpoint for your graylog instance.
226# servers = ["127.0.0.1:12201", "192.168.1.1:12201"]
227
228
229# # Configuration for sending metrics to an Instrumental project
230# [[outputs.instrumental]]
231# ## Project API Token (required)
232# api_token = "API Token" # required
233# ## Prefix the metrics with a given name
234# prefix = ""
235# ## Stats output template (Graphite formatting)
236# ## see https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md#graphite
237# template = "host.tags.measurement.field"
238# ## Timeout in seconds to connect
239# timeout = "2s"
240# ## Display Communcation to Instrumental
241# debug = false
242
243
244# # Configuration for the Kafka server to send metrics to
245# [[outputs.kafka]]
246# ## URLs of kafka brokers
247# brokers = ["localhost:9092"]
248# ## Kafka topic for producer messages
249# topic = "telegraf"
250# ## Telegraf tag to use as a routing key
251# ## ie, if this tag exists, it's value will be used as the routing key
252# routing_tag = "host"
253#
254# ## CompressionCodec represents the various compression codecs recognized by
255# ## Kafka in messages.
256# ## 0 : No compression
257# ## 1 : Gzip compression
258# ## 2 : Snappy compression
259# compression_codec = 0
260#
261# ## RequiredAcks is used in Produce Requests to tell the broker how many
262# ## replica acknowledgements it must see before responding
263# ## 0 : the producer never waits for an acknowledgement from the broker.
264# ## This option provides the lowest latency but the weakest durability
265# ## guarantees (some data will be lost when a server fails).
266# ## 1 : the producer gets an acknowledgement after the leader replica has
267# ## received the data. This option provides better durability as the
268# ## client waits until the server acknowledges the request as successful
269# ## (only messages that were written to the now-dead leader but not yet
270# ## replicated will be lost).
271# ## -1: the producer gets an acknowledgement after all in-sync replicas have
272# ## received the data. This option provides the best durability, we
273# ## guarantee that no messages will be lost as long as at least one in
274# ## sync replica remains.
275# required_acks = -1
276#
277# ## The total number of times to retry sending a message
278# max_retry = 3
279#
280# ## Optional SSL Config
281# # ssl_ca = "/etc/telegraf/ca.pem"
282# # ssl_cert = "/etc/telegraf/cert.pem"
283# # ssl_key = "/etc/telegraf/key.pem"
284# ## Use SSL but skip chain & host verification
285# # insecure_skip_verify = false
286#
287# ## Data format to output.
288# ## Each data format has it's own unique set of configuration options, read
289# ## more about them here:
290# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
291# data_format = "influx"
292
293
294# # Configuration for the AWS Kinesis output.
295# [[outputs.kinesis]]
296# ## Amazon REGION of kinesis endpoint.
297# region = "ap-southeast-2"
298#
299# ## Amazon Credentials
300# ## Credentials are loaded in the following order
301# ## 1) Assumed credentials via STS if role_arn is specified
302# ## 2) explicit credentials from 'access_key' and 'secret_key'
303# ## 3) shared profile from 'profile'
304# ## 4) environment variables
305# ## 5) shared credentials file
306# ## 6) EC2 Instance Profile
307# #access_key = ""
308# #secret_key = ""
309# #token = ""
310# #role_arn = ""
311# #profile = ""
312# #shared_credential_file = ""
313#
314# ## Kinesis StreamName must exist prior to starting telegraf.
315# streamname = "StreamName"
316# ## PartitionKey as used for sharding data.
317# partitionkey = "PartitionKey"
318#
319# ## Data format to output.
320# ## Each data format has it's own unique set of configuration options, read
321# ## more about them here:
322# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
323# data_format = "influx"
324#
325# ## debug will show upstream aws messages.
326# debug = false
327
328
329# # Configuration for Librato API to send metrics to.
330# [[outputs.librato]]
331# ## Librator API Docs
332# ## http://dev.librato.com/v1/metrics-authentication
333# ## Librato API user
334# api_user = "telegraf@influxdb.com" # required.
335# ## Librato API token
336# api_token = "my-secret-token" # required.
337# ## Debug
338# # debug = false
339# ## Connection timeout.
340# # timeout = "5s"
341# ## Output source Template (same as graphite buckets)
342# ## see https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md#graphite
343# ## This template is used in librato's source (not metric's name)
344# template = "host"
345#
346
347
348# # Configuration for MQTT server to send metrics to
349# [[outputs.mqtt]]
350# servers = ["localhost:1883"] # required.
351#
352# ## MQTT outputs send metrics to this topic format
353# ## "<topic_prefix>/<hostname>/<pluginname>/"
354# ## ex: prefix/web01.example.com/mem
355# topic_prefix = "telegraf"
356#
357# ## username and password to connect MQTT server.
358# # username = "telegraf"
359# # password = "metricsmetricsmetricsmetrics"
360#
361# ## client ID, if not set a random ID is generated
362# # client_id = ""
363#
364# ## Optional SSL Config
365# # ssl_ca = "/etc/telegraf/ca.pem"
366# # ssl_cert = "/etc/telegraf/cert.pem"
367# # ssl_key = "/etc/telegraf/key.pem"
368# ## Use SSL but skip chain & host verification
369# # insecure_skip_verify = false
370#
371# ## Data format to output.
372# ## Each data format has it's own unique set of configuration options, read
373# ## more about them here:
374# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
375# data_format = "influx"
376
377
378# # Send telegraf measurements to NATS
379# [[outputs.nats]]
380# ## URLs of NATS servers
381# servers = ["nats://localhost:4222"]
382# ## Optional credentials
383# # username = ""
384# # password = ""
385# ## NATS subject for producer messages
386# subject = "telegraf"
387#
388# ## Optional SSL Config
389# # ssl_ca = "/etc/telegraf/ca.pem"
390# # ssl_cert = "/etc/telegraf/cert.pem"
391# # ssl_key = "/etc/telegraf/key.pem"
392# ## Use SSL but skip chain & host verification
393# # insecure_skip_verify = false
394#
395# ## Data format to output.
396# ## Each data format has it's own unique set of configuration options, read
397# ## more about them here:
398# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
399# data_format = "influx"
400
401
402# # Send telegraf measurements to NSQD
403# [[outputs.nsq]]
404# ## Location of nsqd instance listening on TCP
405# server = "localhost:4150"
406# ## NSQ topic for producer messages
407# topic = "telegraf"
408#
409# ## Data format to output.
410# ## Each data format has it's own unique set of configuration options, read
411# ## more about them here:
412# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
413# data_format = "influx"
414
415
416# # Configuration for OpenTSDB server to send metrics to
417# [[outputs.opentsdb]]
418# ## prefix for metrics keys
419# prefix = "my.specific.prefix."
420#
421# ## DNS name of the OpenTSDB server
422# ## Using "opentsdb.example.com" or "tcp://opentsdb.example.com" will use the
423# ## telnet API. "http://opentsdb.example.com" will use the Http API.
424# host = "opentsdb.example.com"
425#
426# ## Port of the OpenTSDB server
427# port = 4242
428#
429# ## Number of data points to send to OpenTSDB in Http requests.
430# ## Not used with telnet API.
431# httpBatchSize = 50
432#
433# ## Debug true - Prints OpenTSDB communication
434# debug = false
435
436
437# # Configuration for the Prometheus client to spawn
438# [[outputs.prometheus_client]]
439# ## Address to listen on
440# # listen = ":9126"
441#
442# ## Interval to expire metrics and not deliver to prometheus, 0 == no expiration
443# # expiration_interval = "60s"
444
445
446# # Configuration for the Riemann server to send metrics to
447# [[outputs.riemann]]
448# ## URL of server
449# url = "localhost:5555"
450# ## transport protocol to use either tcp or udp
451# transport = "tcp"
452# ## separator to use between input name and field name in Riemann service name
453# separator = " "
454
455
456
457###############################################################################
458# PROCESSOR PLUGINS #
459###############################################################################
460
461# # Print all metrics that pass through this filter.
462# [[processors.printer]]
463
464
465
466###############################################################################
467# AGGREGATOR PLUGINS #
468###############################################################################
469
470# # Keep the aggregate min/max of each metric passing through.
471# [[aggregators.minmax]]
472# ## General Aggregator Arguments:
473# ## The period on which to flush & clear the aggregator.
474# period = "30s"
475# ## If true, the original metric will be dropped by the
476# ## aggregator and will not get sent to the output plugins.
477# drop_original = false
478
479
480
481###############################################################################
482# INPUT PLUGINS #
483###############################################################################
484
485
486[[inputs.exec]]
487 commands = ["awk '{print \"lxcuptime uptime=\" substr($1, 1, length($1)-3)}' /proc/uptime"]
488 name_override = "lxcuptime"
489 interval = "60s"
490 timeout = "10s"
491 data_format = "influx"
492
493# Read metrics about cpu usage
494[[inputs.cpu]]
495 ## Whether to report per-cpu stats or not
496 percpu = false
497 ## Whether to report total system cpu stats or not
498 totalcpu = true
499 ## If true, collect raw CPU time metrics.
500 collect_cpu_time = false
501 fielddrop = ["usage_guest", "usage_guest_nice", "usage_idle", "usage_iowait", "usage_nice", "usage_softirq", "usage_steal"]
502
503
504# Read metrics about disk usage by mount point
505[[inputs.disk]]
506 ## By default, telegraf gather stats for all mountpoints.
507 ## Setting mountpoints will restrict the stats to the specified mountpoints.
508 # mount_points = ["/"]
509
510 ## Ignore some mountpoints by filesystem type. For example (dev)tmpfs (usually
511 ## present on /run, /var/run, /dev/shm or /dev).
512 ignore_fs = ["tmpfs", "devtmpfs"]
513 fielddrop = ["inodes_free", "inodes_total", "inodes_used"]
514 tagexclude = ["device", "fstype"]
515
516
517# Read metrics about disk IO by device
518#[[inputs.diskio]]
519 ## By default, telegraf will gather stats for all devices including
520 ## disk partitions.
521 ## Setting devices will restrict the stats to the specified devices.
522 # devices = ["sda", "sdb"]
523 ## Uncomment the following line if you need disk serial numbers.
524 # skip_serial_number = false
525
526
527# Get kernel statistics from /proc/stat
528#[[inputs.kernel]]
529 # no configuration
530
531
532# Read metrics about memory usage
533[[inputs.mem]]
534 # no configuration
535 fielddrop = ["active", "buffered", "inactive"]
536
537
538# Get the number of processes and group them by status
539[[inputs.processes]]
540 # no configuration
541
542
543# Read metrics about swap memory usage
544[[inputs.swap]]
545 # no configuration
546 fielddrop = ["in", "out"]
547
548
549# Read metrics about system load & uptime
550[[inputs.system]]
551 # no configuration
552 fielddrop = ["n_cpus", "n_users", "uptime", "uptime_format"]
553
554
555# # Read stats from aerospike server(s)
556# [[inputs.aerospike]]
557# ## Aerospike servers to connect to (with port)
558# ## This plugin will query all namespaces the aerospike
559# ## server has configured and get stats for them.
560# servers = ["localhost:3000"]
561
562
563# # Read Apache status information (mod_status)
564# [[inputs.apache]]
565# ## An array of Apache status URI to gather stats.
566# ## Default is "http://localhost/server-status?auto".
567# urls = ["http://localhost/server-status?auto"]
568# ## user credentials for basic HTTP authentication
569# username = "myuser"
570# password = "mypassword"
571#
572# ## Timeout to the complete conection and reponse time in seconds
573# response_timeout = "25s" ## default to 5 seconds
574#
575# ## Optional SSL Config
576# # ssl_ca = "/etc/telegraf/ca.pem"
577# # ssl_cert = "/etc/telegraf/cert.pem"
578# # ssl_key = "/etc/telegraf/key.pem"
579# ## Use SSL but skip chain & host verification
580# # insecure_skip_verify = false
581
582
583# # Read metrics of bcache from stats_total and dirty_data
584# [[inputs.bcache]]
585# ## Bcache sets path
586# ## If not specified, then default is:
587# bcachePath = "/sys/fs/bcache"
588#
589# ## By default, telegraf gather stats for all bcache devices
590# ## Setting devices will restrict the stats to the specified
591# ## bcache devices.
592# bcacheDevs = ["bcache0"]
593
594
595# # Read Cassandra metrics through Jolokia
596# [[inputs.cassandra]]
597# # This is the context root used to compose the jolokia url
598# context = "/jolokia/read"
599# ## List of cassandra servers exposing jolokia read service
600# servers = ["myuser:mypassword@10.10.10.1:8778","10.10.10.2:8778",":8778"]
601# ## List of metrics collected on above servers
602# ## Each metric consists of a jmx path.
603# ## This will collect all heap memory usage metrics from the jvm and
604# ## ReadLatency metrics for all keyspaces and tables.
605# ## "type=Table" in the query works with Cassandra3.0. Older versions might
606# ## need to use "type=ColumnFamily"
607# metrics = [
608# "/java.lang:type=Memory/HeapMemoryUsage",
609# "/org.apache.cassandra.metrics:type=Table,keyspace=*,scope=*,name=ReadLatency"
610# ]
611
612
613# # Collects performance metrics from the MON and OSD nodes in a Ceph storage cluster.
614# [[inputs.ceph]]
615# ## This is the recommended interval to poll. Too frequent and you will lose
616# ## data points due to timeouts during rebalancing and recovery
617# interval = '1m'
618#
619# ## All configuration values are optional, defaults are shown below
620#
621# ## location of ceph binary
622# ceph_binary = "/usr/bin/ceph"
623#
624# ## directory in which to look for socket files
625# socket_dir = "/var/run/ceph"
626#
627# ## prefix of MON and OSD socket files, used to determine socket type
628# mon_prefix = "ceph-mon"
629# osd_prefix = "ceph-osd"
630#
631# ## suffix used to identify socket files
632# socket_suffix = "asok"
633#
634# ## Ceph user to authenticate as
635# ceph_user = "client.admin"
636#
637# ## Ceph configuration to use to locate the cluster
638# ceph_config = "/etc/ceph/ceph.conf"
639#
640# ## Whether to gather statistics via the admin socket
641# gather_admin_socket_stats = true
642#
643# ## Whether to gather statistics via ceph commands
644# gather_cluster_stats = true
645
646
647# # Read specific statistics per cgroup
648# [[inputs.cgroup]]
649# ## Directories in which to look for files, globs are supported.
650# ## Consider restricting paths to the set of cgroups you really
651# ## want to monitor if you have a large number of cgroups, to avoid
652# ## any cardinality issues.
653# # paths = [
654# # "/cgroup/memory",
655# # "/cgroup/memory/child1",
656# # "/cgroup/memory/child2/*",
657# # ]
658# ## cgroup stat fields, as file names, globs are supported.
659# ## these file names are appended to each path from above.
660# # files = ["memory.*usage*", "memory.limit_in_bytes"]
661
662
663# # Pull Metric Statistics from Amazon CloudWatch
664# [[inputs.cloudwatch]]
665# ## Amazon Region
666# region = "us-east-1"
667#
668# ## Amazon Credentials
669# ## Credentials are loaded in the following order
670# ## 1) Assumed credentials via STS if role_arn is specified
671# ## 2) explicit credentials from 'access_key' and 'secret_key'
672# ## 3) shared profile from 'profile'
673# ## 4) environment variables
674# ## 5) shared credentials file
675# ## 6) EC2 Instance Profile
676# #access_key = ""
677# #secret_key = ""
678# #token = ""
679# #role_arn = ""
680# #profile = ""
681# #shared_credential_file = ""
682#
683# # The minimum period for Cloudwatch metrics is 1 minute (60s). However not all
684# # metrics are made available to the 1 minute period. Some are collected at
685# # 3 minute and 5 minutes intervals. See https://aws.amazon.com/cloudwatch/faqs/#monitoring.
686# # Note that if a period is configured that is smaller than the minimum for a
687# # particular metric, that metric will not be returned by the Cloudwatch API
688# # and will not be collected by Telegraf.
689# #
690# ## Requested CloudWatch aggregation Period (required - must be a multiple of 60s)
691# period = "5m"
692#
693# ## Collection Delay (required - must account for metrics availability via CloudWatch API)
694# delay = "5m"
695#
696# ## Recomended: use metric 'interval' that is a multiple of 'period' to avoid
697# ## gaps or overlap in pulled data
698# interval = "5m"
699#
700# ## Configure the TTL for the internal cache of metrics.
701# ## Defaults to 1 hr if not specified
702# #cache_ttl = "10m"
703#
704# ## Metric Statistic Namespace (required)
705# namespace = "AWS/ELB"
706#
707# ## Maximum requests per second. Note that the global default AWS rate limit is
708# ## 10 reqs/sec, so if you define multiple namespaces, these should add up to a
709# ## maximum of 10. Optional - default value is 10.
710# ratelimit = 10
711#
712# ## Metrics to Pull (optional)
713# ## Defaults to all Metrics in Namespace if nothing is provided
714# ## Refreshes Namespace available metrics every 1h
715# #[[inputs.cloudwatch.metrics]]
716# # names = ["Latency", "RequestCount"]
717# #
718# # ## Dimension filters for Metric (optional)
719# # [[inputs.cloudwatch.metrics.dimensions]]
720# # name = "LoadBalancerName"
721# # value = "p-example"
722
723
724# # Gather health check statuses from services registered in Consul
725# [[inputs.consul]]
726# ## Most of these values defaults to the one configured on a Consul's agent level.
727# ## Optional Consul server address (default: "localhost")
728# # address = "localhost"
729# ## Optional URI scheme for the Consul server (default: "http")
730# # scheme = "http"
731# ## Optional ACL token used in every request (default: "")
732# # token = ""
733# ## Optional username used for request HTTP Basic Authentication (default: "")
734# # username = ""
735# ## Optional password used for HTTP Basic Authentication (default: "")
736# # password = ""
737# ## Optional data centre to query the health checks from (default: "")
738# # datacentre = ""
739
740
741# # Read metrics from one or many couchbase clusters
742# [[inputs.couchbase]]
743# ## specify servers via a url matching:
744# ## [protocol://][:password]@address[:port]
745# ## e.g.
746# ## http://couchbase-0.example.com/
747# ## http://admin:secret@couchbase-0.example.com:8091/
748# ##
749# ## If no servers are specified, then localhost is used as the host.
750# ## If no protocol is specifed, HTTP is used.
751# ## If no port is specified, 8091 is used.
752# servers = ["http://localhost:8091"]
753
754
755# # Read CouchDB Stats from one or more servers
756# [[inputs.couchdb]]
757# ## Works with CouchDB stats endpoints out of the box
758# ## Multiple HOSTs from which to read CouchDB stats:
759# hosts = ["http://localhost:8086/_stats"]
760
761
762# # Read metrics from one or many disque servers
763# [[inputs.disque]]
764# ## An array of URI to gather stats about. Specify an ip or hostname
765# ## with optional port and password.
766# ## ie disque://localhost, disque://10.10.3.33:18832, 10.0.0.1:10000, etc.
767# ## If no servers are specified, then localhost is used as the host.
768# servers = ["localhost"]
769
770
771# # Query given DNS server and gives statistics
772# [[inputs.dns_query]]
773# ## servers to query
774# servers = ["8.8.8.8"] # required
775#
776# ## Domains or subdomains to query. "."(root) is default
777# domains = ["."] # optional
778#
779# ## Query record type. Default is "A"
780# ## Posible values: A, AAAA, CNAME, MX, NS, PTR, TXT, SOA, SPF, SRV.
781# record_type = "A" # optional
782#
783# ## Dns server port. 53 is default
784# port = 53 # optional
785#
786# ## Query timeout in seconds. Default is 2 seconds
787# timeout = 2 # optional
788
789
790# # Read metrics about docker containers
791# [[inputs.docker]]
792# ## Docker Endpoint
793# ## To use TCP, set endpoint = "tcp://[ip]:[port]"
794# ## To use environment variables (ie, docker-machine), set endpoint = "ENV"
795# endpoint = "unix:///var/run/docker.sock"
796# ## Only collect metrics for these containers, collect all if empty
797# container_names = []
798# ## Timeout for docker list, info, and stats commands
799# timeout = "5s"
800#
801# ## Whether to report for each container per-device blkio (8:0, 8:1...) and
802# ## network (eth0, eth1, ...) stats or not
803# perdevice = true
804# ## Whether to report for each container total blkio and network stats or not
805# total = false
806#
807
808
809# # Read statistics from one or many dovecot servers
810# [[inputs.dovecot]]
811# ## specify dovecot servers via an address:port list
812# ## e.g.
813# ## localhost:24242
814# ##
815# ## If no servers are specified, then localhost is used as the host.
816# servers = ["localhost:24242"]
817# ## Type is one of "user", "domain", "ip", or "global"
818# type = "global"
819# ## Wildcard matches like "*.com". An empty string "" is same as "*"
820# ## If type = "ip" filters should be <IP/network>
821# filters = [""]
822
823
824# # Read stats from one or more Elasticsearch servers or clusters
825# [[inputs.elasticsearch]]
826# ## specify a list of one or more Elasticsearch servers
827# # you can add username and password to your url to use basic authentication:
828# # servers = ["http://user:pass@localhost:9200"]
829# servers = ["http://localhost:9200"]
830#
831# ## Timeout for HTTP requests to the elastic search server(s)
832# http_timeout = "5s"
833#
834# ## When local is true (the default), the node will read only its own stats.
835# ## Set local to false when you want to read the node stats from all nodes
836# ## of the cluster.
837# local = true
838#
839# ## Set cluster_health to true when you want to also obtain cluster health stats
840# cluster_health = false
841#
842# ## Set cluster_stats to true when you want to also obtain cluster stats from the
843# ## Master node.
844# cluster_stats = false
845#
846# ## Optional SSL Config
847# # ssl_ca = "/etc/telegraf/ca.pem"
848# # ssl_cert = "/etc/telegraf/cert.pem"
849# # ssl_key = "/etc/telegraf/key.pem"
850# ## Use SSL but skip chain & host verification
851# # insecure_skip_verify = false
852
853
854# # Read metrics from one or more commands that can output to stdout
855# [[inputs.exec]]
856# ## Commands array
857# commands = [
858# "/tmp/test.sh",
859# "/usr/bin/mycollector --foo=bar",
860# "/tmp/collect_*.sh"
861# ]
862#
863# ## Timeout for each command to complete.
864# timeout = "5s"
865#
866# ## measurement name suffix (for separating different commands)
867# name_suffix = "_mycollector"
868#
869# ## Data format to consume.
870# ## Each data format has it's own unique set of configuration options, read
871# ## more about them here:
872# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
873# data_format = "influx"
874
875
876# # Read stats about given file(s)
877# [[inputs.filestat]]
878# ## Files to gather stats about.
879# ## These accept standard unix glob matching rules, but with the addition of
880# ## ** as a "super asterisk". ie:
881# ## "/var/log/**.log" -> recursively find all .log files in /var/log
882# ## "/var/log/*/*.log" -> find all .log files with a parent dir in /var/log
883# ## "/var/log/apache.log" -> just tail the apache log file
884# ##
885# ## See https://github.com/gobwas/glob for more examples
886# ##
887# files = ["/var/log/**.log"]
888# ## If true, read the entire file and calculate an md5 checksum.
889# md5 = false
890
891
892# # Read flattened metrics from one or more GrayLog HTTP endpoints
893# [[inputs.graylog]]
894# ## API endpoint, currently supported API:
895# ##
896# ## - multiple (Ex http://<host>:12900/system/metrics/multiple)
897# ## - namespace (Ex http://<host>:12900/system/metrics/namespace/{namespace})
898# ##
899# ## For namespace endpoint, the metrics array will be ignored for that call.
900# ## Endpoint can contain namespace and multiple type calls.
901# ##
902# ## Please check http://[graylog-server-ip]:12900/api-browser for full list
903# ## of endpoints
904# servers = [
905# "http://[graylog-server-ip]:12900/system/metrics/multiple",
906# ]
907#
908# ## Metrics list
909# ## List of metrics can be found on Graylog webservice documentation.
910# ## Or by hitting the the web service api at:
911# ## http://[graylog-host]:12900/system/metrics
912# metrics = [
913# "jvm.cl.loaded",
914# "jvm.memory.pools.Metaspace.committed"
915# ]
916#
917# ## Username and password
918# username = ""
919# password = ""
920#
921# ## Optional SSL Config
922# # ssl_ca = "/etc/telegraf/ca.pem"
923# # ssl_cert = "/etc/telegraf/cert.pem"
924# # ssl_key = "/etc/telegraf/key.pem"
925# ## Use SSL but skip chain & host verification
926# # insecure_skip_verify = false
927
928
929# # Read metrics of haproxy, via socket or csv stats page
930# [[inputs.haproxy]]
931# ## An array of address to gather stats about. Specify an ip on hostname
932# ## with optional port. ie localhost, 10.10.3.33:1936, etc.
933# ## Make sure you specify the complete path to the stats endpoint
934# ## including the protocol, ie http://10.10.3.33:1936/haproxy?stats
935# #
936# ## If no servers are specified, then default to 127.0.0.1:1936/haproxy?stats
937# servers = ["http://myhaproxy.com:1936/haproxy?stats"]
938# ##
939# ## You can also use local socket with standard wildcard globbing.
940# ## Server address not starting with 'http' will be treated as a possible
941# ## socket, so both examples below are valid.
942# ## servers = ["socket:/run/haproxy/admin.sock", "/run/haproxy/*.sock"]
943
944
945# # HTTP/HTTPS request given an address a method and a timeout
946# [[inputs.http_response]]
947# ## Server address (default http://localhost)
948# address = "http://github.com"
949# ## Set response_timeout (default 5 seconds)
950# response_timeout = "5s"
951# ## HTTP Request Method
952# method = "GET"
953# ## Whether to follow redirects from the server (defaults to false)
954# follow_redirects = true
955# ## HTTP Request Headers (all values must be strings)
956# # [inputs.http_response.headers]
957# # Host = "github.com"
958# ## Optional HTTP Request Body
959# # body = '''
960# # {'fake':'data'}
961# # '''
962#
963# ## Optional SSL Config
964# # ssl_ca = "/etc/telegraf/ca.pem"
965# # ssl_cert = "/etc/telegraf/cert.pem"
966# # ssl_key = "/etc/telegraf/key.pem"
967# ## Use SSL but skip chain & host verification
968# # insecure_skip_verify = false
969
970
971# # Read flattened metrics from one or more JSON HTTP endpoints
972# [[inputs.httpjson]]
973# ## NOTE This plugin only reads numerical measurements, strings and booleans
974# ## will be ignored.
975#
976# ## a name for the service being polled
977# name = "webserver_stats"
978#
979# ## URL of each server in the service's cluster
980# servers = [
981# "http://localhost:9999/stats/",
982# "http://localhost:9998/stats/",
983# ]
984# ## Set response_timeout (default 5 seconds)
985# response_timeout = "5s"
986#
987# ## HTTP method to use: GET or POST (case-sensitive)
988# method = "GET"
989#
990# ## List of tag names to extract from top-level of JSON server response
991# # tag_keys = [
992# # "my_tag_1",
993# # "my_tag_2"
994# # ]
995#
996# ## HTTP parameters (all values must be strings)
997# [inputs.httpjson.parameters]
998# event_type = "cpu_spike"
999# threshold = "0.75"
1000#
1001# ## HTTP Header parameters (all values must be strings)
1002# # [inputs.httpjson.headers]
1003# # X-Auth-Token = "my-xauth-token"
1004# # apiVersion = "v1"
1005#
1006# ## Optional SSL Config
1007# # ssl_ca = "/etc/telegraf/ca.pem"
1008# # ssl_cert = "/etc/telegraf/cert.pem"
1009# # ssl_key = "/etc/telegraf/key.pem"
1010# ## Use SSL but skip chain & host verification
1011# # insecure_skip_verify = false
1012
1013
1014# # Read InfluxDB-formatted JSON metrics from one or more HTTP endpoints
1015# [[inputs.influxdb]]
1016# ## Works with InfluxDB debug endpoints out of the box,
1017# ## but other services can use this format too.
1018# ## See the influxdb plugin's README for more details.
1019#
1020# ## Multiple URLs from which to read InfluxDB-formatted JSON
1021# ## Default is "http://localhost:8086/debug/vars".
1022# urls = [
1023# "http://localhost:8086/debug/vars"
1024# ]
1025#
1026# ## http request & header timeout
1027# timeout = "5s"
1028
1029
1030# # Collect statistics about itself
1031# [[inputs.internal]]
1032# ## If true, collect telegraf memory stats.
1033# # collect_memstats = true
1034
1035
1036# # Read metrics from one or many bare metal servers
1037# [[inputs.ipmi_sensor]]
1038# ## specify servers via a url matching:
1039# ## [username[:password]@][protocol[(address)]]
1040# ## e.g.
1041# ## root:passwd@lan(127.0.0.1)
1042# ##
1043# servers = ["USERID:PASSW0RD@lan(192.168.1.1)"]
1044
1045
1046# # Read JMX metrics through Jolokia
1047# [[inputs.jolokia]]
1048# ## This is the context root used to compose the jolokia url
1049# ## NOTE that Jolokia requires a trailing slash at the end of the context root
1050# ## NOTE that your jolokia security policy must allow for POST requests.
1051# context = "/jolokia/"
1052#
1053# ## This specifies the mode used
1054# # mode = "proxy"
1055# #
1056# ## When in proxy mode this section is used to specify further
1057# ## proxy address configurations.
1058# ## Remember to change host address to fit your environment.
1059# # [inputs.jolokia.proxy]
1060# # host = "127.0.0.1"
1061# # port = "8080"
1062#
1063# ## Optional http timeouts
1064# ##
1065# ## response_header_timeout, if non-zero, specifies the amount of time to wait
1066# ## for a server's response headers after fully writing the request.
1067# # response_header_timeout = "3s"
1068# ##
1069# ## client_timeout specifies a time limit for requests made by this client.
1070# ## Includes connection time, any redirects, and reading the response body.
1071# # client_timeout = "4s"
1072#
1073# ## List of servers exposing jolokia read service
1074# [[inputs.jolokia.servers]]
1075# name = "as-server-01"
1076# host = "127.0.0.1"
1077# port = "8080"
1078# # username = "myuser"
1079# # password = "mypassword"
1080#
1081# ## List of metrics collected on above servers
1082# ## Each metric consists in a name, a jmx path and either
1083# ## a pass or drop slice attribute.
1084# ##Â This collect all heap memory usage metrics.
1085# [[inputs.jolokia.metrics]]
1086# name = "heap_memory_usage"
1087# mbean = "java.lang:type=Memory"
1088# attribute = "HeapMemoryUsage"
1089#
1090# ##Â This collect thread counts metrics.
1091# [[inputs.jolokia.metrics]]
1092# name = "thread_count"
1093# mbean = "java.lang:type=Threading"
1094# attribute = "TotalStartedThreadCount,ThreadCount,DaemonThreadCount,PeakThreadCount"
1095#
1096# ##Â This collect number of class loaded/unloaded counts metrics.
1097# [[inputs.jolokia.metrics]]
1098# name = "class_count"
1099# mbean = "java.lang:type=ClassLoading"
1100# attribute = "LoadedClassCount,UnloadedClassCount,TotalLoadedClassCount"
1101
1102
1103# # Read metrics from the kubernetes kubelet api
1104# [[inputs.kubernetes]]
1105# ## URL for the kubelet
1106# url = "http://1.1.1.1:10255"
1107#
1108# ## Use bearer token for authorization
1109# # bearer_token = /path/to/bearer/token
1110#
1111# ## Optional SSL Config
1112# # ssl_ca = /path/to/cafile
1113# # ssl_cert = /path/to/certfile
1114# # ssl_key = /path/to/keyfile
1115# ## Use SSL but skip chain & host verification
1116# # insecure_skip_verify = false
1117
1118
1119# # Read metrics from a LeoFS Server via SNMP
1120# [[inputs.leofs]]
1121# ## An array of URI to gather stats about LeoFS.
1122# ## Specify an ip or hostname with port. ie 127.0.0.1:4020
1123# servers = ["127.0.0.1:4021"]
1124
1125
1126# # Read metrics from local Lustre service on OST, MDS
1127# [[inputs.lustre2]]
1128# ## An array of /proc globs to search for Lustre stats
1129# ## If not specified, the default will work on Lustre 2.5.x
1130# ##
1131# # ost_procfiles = [
1132# # "/proc/fs/lustre/obdfilter/*/stats",
1133# # "/proc/fs/lustre/osd-ldiskfs/*/stats",
1134# # "/proc/fs/lustre/obdfilter/*/job_stats",
1135# # ]
1136# # mds_procfiles = [
1137# # "/proc/fs/lustre/mdt/*/md_stats",
1138# # "/proc/fs/lustre/mdt/*/job_stats",
1139# # ]
1140
1141
1142# # Gathers metrics from the /3.0/reports MailChimp API
1143# [[inputs.mailchimp]]
1144# ## MailChimp API key
1145# ## get from https://admin.mailchimp.com/account/api/
1146# api_key = "" # required
1147# ## Reports for campaigns sent more than days_old ago will not be collected.
1148# ## 0 means collect all.
1149# days_old = 0
1150# ## Campaign ID to get, if empty gets all campaigns, this option overrides days_old
1151# # campaign_id = ""
1152
1153
1154# # Read metrics from one or many memcached servers
1155# [[inputs.memcached]]
1156# ## An array of address to gather stats about. Specify an ip on hostname
1157# ## with optional port. ie localhost, 10.0.0.1:11211, etc.
1158# servers = ["localhost:11211"]
1159# # unix_sockets = ["/var/run/memcached.sock"]
1160
1161
1162# # Telegraf plugin for gathering metrics from N Mesos masters
1163# [[inputs.mesos]]
1164# ## Timeout, in ms.
1165# timeout = 100
1166# ## A list of Mesos masters.
1167# masters = ["localhost:5050"]
1168# ## Master metrics groups to be collected, by default, all enabled.
1169# master_collections = [
1170# "resources",
1171# "master",
1172# "system",
1173# "agents",
1174# "frameworks",
1175# "tasks",
1176# "messages",
1177# "evqueue",
1178# "registrar",
1179# ]
1180# ## A list of Mesos slaves, default is []
1181# # slaves = []
1182# ## Slave metrics groups to be collected, by default, all enabled.
1183# # slave_collections = [
1184# # "resources",
1185# # "agent",
1186# # "system",
1187# # "executors",
1188# # "tasks",
1189# # "messages",
1190# # ]
1191
1192
1193# # Read metrics from one or many MongoDB servers
1194# [[inputs.mongodb]]
1195# ## An array of URI to gather stats about. Specify an ip or hostname
1196# ## with optional port add password. ie,
1197# ## mongodb://user:auth_key@10.10.3.30:27017,
1198# ## mongodb://10.10.3.33:18832,
1199# ## 10.0.0.1:10000, etc.
1200# servers = ["127.0.0.1:27017"]
1201# gather_perdb_stats = false
1202
1203
1204# # Read metrics from one or many mysql servers
1205# [[inputs.mysql]]
1206# ## specify servers via a url matching:
1207# ## [username[:password]@][protocol[(address)]]/[?tls=[true|false|skip-verify]]
1208# ## see https://github.com/go-sql-driver/mysql#dsn-data-source-name
1209# ## e.g.
1210# ## servers = ["user:passwd@tcp(127.0.0.1:3306)/?tls=false"]
1211# ## servers = ["user@tcp(127.0.0.1:3306)/?tls=false"]
1212# #
1213# ## If no servers are specified, then localhost is used as the host.
1214# servers = ["tcp(127.0.0.1:3306)/"]
1215# ## the limits for metrics form perf_events_statements
1216# perf_events_statements_digest_text_limit = 120
1217# perf_events_statements_limit = 250
1218# perf_events_statements_time_limit = 86400
1219# #
1220# ## if the list is empty, then metrics are gathered from all databasee tables
1221# table_schema_databases = []
1222# #
1223# ## gather metrics from INFORMATION_SCHEMA.TABLES for databases provided above list
1224# gather_table_schema = false
1225# #
1226# ## gather thread state counts from INFORMATION_SCHEMA.PROCESSLIST
1227# gather_process_list = true
1228# #
1229# ## gather auto_increment columns and max values from information schema
1230# gather_info_schema_auto_inc = true
1231# #
1232# ## gather metrics from SHOW SLAVE STATUS command output
1233# gather_slave_status = true
1234# #
1235# ## gather metrics from SHOW BINARY LOGS command output
1236# gather_binary_logs = false
1237# #
1238# ## gather metrics from PERFORMANCE_SCHEMA.TABLE_IO_WAITS_SUMMARY_BY_TABLE
1239# gather_table_io_waits = false
1240# #
1241# ## gather metrics from PERFORMANCE_SCHEMA.TABLE_LOCK_WAITS
1242# gather_table_lock_waits = false
1243# #
1244# ## gather metrics from PERFORMANCE_SCHEMA.TABLE_IO_WAITS_SUMMARY_BY_INDEX_USAGE
1245# gather_index_io_waits = false
1246# #
1247# ## gather metrics from PERFORMANCE_SCHEMA.EVENT_WAITS
1248# gather_event_waits = false
1249# #
1250# ## gather metrics from PERFORMANCE_SCHEMA.FILE_SUMMARY_BY_EVENT_NAME
1251# gather_file_events_stats = false
1252# #
1253# ## gather metrics from PERFORMANCE_SCHEMA.EVENTS_STATEMENTS_SUMMARY_BY_DIGEST
1254# gather_perf_events_statements = false
1255# #
1256# ## Some queries we may want to run less often (such as SHOW GLOBAL VARIABLES)
1257# interval_slow = "30m"
1258
1259
1260# # Read metrics about network interface usage
1261 [[inputs.net]]
1262# ## By default, telegraf gathers stats from any up interface (excluding loopback)
1263# ## Setting interfaces will tell it to gather these explicit interfaces,
1264# ## regardless of status.
1265# ##
1266 interfaces = ["eth0"]
1267 fielddrop = ["err_in", "err_out", "icmp_*", "ip_*", "tcp_*", "udp_*", "udplite_*"]
1268 [inputs.net.tagdrop]
1269 interface = ["all"]
1270
1271
1272# # TCP or UDP 'ping' given url and collect response time in seconds
1273# [[inputs.net_response]]
1274# ## Protocol, must be "tcp" or "udp"
1275# ## NOTE: because the "udp" protocol does not respond to requests, it requires
1276# ## a send/expect string pair (see below).
1277# protocol = "tcp"
1278# ## Server address (default localhost)
1279# address = "localhost:80"
1280# ## Set timeout
1281# timeout = "1s"
1282#
1283# ## Set read timeout (only used if expecting a response)
1284# read_timeout = "1s"
1285#
1286# ## The following options are required for UDP checks. For TCP, they are
1287# ## optional. The plugin will send the given string to the server and then
1288# ## expect to receive the given 'expect' string back.
1289# ## string sent to the server
1290# # send = "ssh"
1291# ## expected string in answer
1292# # expect = "ssh"
1293
1294
1295# # Read TCP metrics such as established, time wait and sockets counts.
1296# [[inputs.netstat]]
1297# # no configuration
1298
1299
1300# # Read Nginx's basic status information (ngx_http_stub_status_module)
1301# [[inputs.nginx]]
1302# ## An array of Nginx stub_status URI to gather stats.
1303# urls = ["http://localhost/status"]
1304
1305
1306# # Read NSQ topic and channel statistics.
1307# [[inputs.nsq]]
1308# ## An array of NSQD HTTP API endpoints
1309# endpoints = ["http://localhost:4151"]
1310
1311
1312# # Collect kernel snmp counters and network interface statistics
1313# [[inputs.nstat]]
1314# ## file paths for proc files. If empty default paths will be used:
1315# ## /proc/net/netstat, /proc/net/snmp, /proc/net/snmp6
1316# ## These can also be overridden with env variables, see README.
1317# proc_net_netstat = "/proc/net/netstat"
1318# proc_net_snmp = "/proc/net/snmp"
1319# proc_net_snmp6 = "/proc/net/snmp6"
1320# ## dump metrics with 0 values too
1321# dump_zeros = true
1322
1323
1324# # Get standard NTP query metrics, requires ntpq executable.
1325# [[inputs.ntpq]]
1326# ## If false, set the -n ntpq flag. Can reduce metric gather time.
1327# dns_lookup = true
1328
1329
1330# # Read metrics of passenger using passenger-status
1331# [[inputs.passenger]]
1332# ## Path of passenger-status.
1333# ##
1334# ## Plugin gather metric via parsing XML output of passenger-status
1335# ## More information about the tool:
1336# ## https://www.phusionpassenger.com/library/admin/apache/overall_status_report.html
1337# ##
1338# ## If no path is specified, then the plugin simply execute passenger-status
1339# ## hopefully it can be found in your PATH
1340# command = "passenger-status -v --show=xml"
1341
1342
1343# # Read metrics of phpfpm, via HTTP status page or socket
1344# [[inputs.phpfpm]]
1345# ## An array of addresses to gather stats about. Specify an ip or hostname
1346# ## with optional port and path
1347# ##
1348# ## Plugin can be configured in three modes (either can be used):
1349# ## - http: the URL must start with http:// or https://, ie:
1350# ## "http://localhost/status"
1351# ## "http://192.168.130.1/status?full"
1352# ##
1353# ## - unixsocket: path to fpm socket, ie:
1354# ## "/var/run/php5-fpm.sock"
1355# ## or using a custom fpm status path:
1356# ## "/var/run/php5-fpm.sock:fpm-custom-status-path"
1357# ##
1358# ## - fcgi: the URL must start with fcgi:// or cgi://, and port must be present, ie:
1359# ## "fcgi://10.0.0.12:9000/status"
1360# ## "cgi://10.0.10.12:9001/status"
1361# ##
1362# ## Example of multiple gathering from local socket and remove host
1363# ## urls = ["http://192.168.1.20/status", "/tmp/fpm.sock"]
1364# urls = ["http://localhost/status"]
1365
1366
1367# # Ping given url(s) and return statistics
1368 [[inputs.ping]]
1369# ## NOTE: this plugin forks the ping command. You may need to set capabilities
1370# ## via setcap cap_net_raw+p /bin/ping
1371# #
1372# ## urls to ping
1373 urls = ["192.168.0.50"] # required
1374# ## number of pings to send per collection (ping -c <COUNT>)
1375 count = 3
1376# ## interval, in s, at which to ping. 0 == default (ping -i <PING_INTERVAL>)
1377 ping_interval = 1.0
1378# ## per-ping timeout, in s. 0 == no timeout (ping -W <TIMEOUT>)
1379 timeout = 1.0
1380# ## interface to send ping from (ping -I <INTERFACE>)
1381 interface = "eth0"
1382 fielddrop = ["percent_packet_loss", "standard_deviation_ms", "url"]
1383 tagexclude = ["url"]
1384
1385
1386# # Read metrics from one or many postgresql servers
1387# [[inputs.postgresql]]
1388# ## specify address via a url matching:
1389# ## postgres://[pqgotest[:password]]@localhost[/dbname]\
1390# ## ?sslmode=[disable|verify-ca|verify-full]
1391# ## or a simple string:
1392# ## host=localhost user=pqotest password=... sslmode=... dbname=app_production
1393# ##
1394# ## All connection parameters are optional.
1395# ##
1396# ## Without the dbname parameter, the driver will default to a database
1397# ## with the same name as the user. This dbname is just for instantiating a
1398# ## connection with the server and doesn't restrict the databases we are trying
1399# ## to grab metrics for.
1400# ##
1401# address = "host=localhost user=postgres sslmode=disable"
1402#
1403# ## A list of databases to explicitly ignore. If not specified, metrics for all
1404# ## databases are gathered. Do NOT use with the 'databases' option.
1405# # ignored_databases = ["postgres", "template0", "template1"]
1406#
1407# ## A list of databases to pull metrics about. If not specified, metrics for all
1408# ## databases are gathered. Do NOT use with the 'ignore_databases' option.
1409# # databases = ["app_production", "testing"]
1410
1411
1412# # Read metrics from one or many postgresql servers
1413# [[inputs.postgresql_extensible]]
1414# ## specify address via a url matching:
1415# ## postgres://[pqgotest[:password]]@localhost[/dbname]\
1416# ## ?sslmode=[disable|verify-ca|verify-full]
1417# ## or a simple string:
1418# ## host=localhost user=pqotest password=... sslmode=... dbname=app_production
1419# #
1420# ## All connection parameters are optional. #
1421# ## Without the dbname parameter, the driver will default to a database
1422# ## with the same name as the user. This dbname is just for instantiating a
1423# ## connection with the server and doesn't restrict the databases we are trying
1424# ## to grab metrics for.
1425# #
1426# address = "host=localhost user=postgres sslmode=disable"
1427# ## A list of databases to pull metrics about. If not specified, metrics for all
1428# ## databases are gathered.
1429# ## databases = ["app_production", "testing"]
1430# #
1431# # outputaddress = "db01"
1432# ## A custom name for the database that will be used as the "server" tag in the
1433# ## measurement output. If not specified, a default one generated from
1434# ## the connection address is used.
1435# #
1436# ## Define the toml config where the sql queries are stored
1437# ## New queries can be added, if the withdbname is set to true and there is no
1438# ## databases defined in the 'databases field', the sql query is ended by a
1439# ## 'is not null' in order to make the query succeed.
1440# ## Example :
1441# ## The sqlquery : "SELECT * FROM pg_stat_database where datname" become
1442# ## "SELECT * FROM pg_stat_database where datname IN ('postgres', 'pgbench')"
1443# ## because the databases variable was set to ['postgres', 'pgbench' ] and the
1444# ## withdbname was true. Be careful that if the withdbname is set to false you
1445# ## don't have to define the where clause (aka with the dbname) the tagvalue
1446# ## field is used to define custom tags (separated by commas)
1447# ## The optional "measurement" value can be used to override the default
1448# ## output measurement name ("postgresql").
1449# #
1450# ## Structure :
1451# ## [[inputs.postgresql_extensible.query]]
1452# ## sqlquery string
1453# ## version string
1454# ## withdbname boolean
1455# ## tagvalue string (comma separated)
1456# ## measurement string
1457# [[inputs.postgresql_extensible.query]]
1458# sqlquery="SELECT * FROM pg_stat_database"
1459# version=901
1460# withdbname=false
1461# tagvalue=""
1462# measurement=""
1463# [[inputs.postgresql_extensible.query]]
1464# sqlquery="SELECT * FROM pg_stat_bgwriter"
1465# version=901
1466# withdbname=false
1467# tagvalue="postgresql.stats"
1468
1469
1470# # Read metrics from one or many PowerDNS servers
1471# [[inputs.powerdns]]
1472# ## An array of sockets to gather stats about.
1473# ## Specify a path to unix socket.
1474# unix_sockets = ["/var/run/pdns.controlsocket"]
1475
1476
1477# # Monitor process cpu and memory usage
1478# [[inputs.procstat]]
1479# ## Must specify one of: pid_file, exe, or pattern
1480# ## PID file to monitor process
1481# pid_file = "/var/run/nginx.pid"
1482# ## executable name (ie, pgrep <exe>)
1483# # exe = "nginx"
1484# ## pattern as argument for pgrep (ie, pgrep -f <pattern>)
1485# # pattern = "nginx"
1486# ## user as argument for pgrep (ie, pgrep -u <user>)
1487# # user = "nginx"
1488#
1489# ## override for process_name
1490# ## This is optional; default is sourced from /proc/<pid>/status
1491# # process_name = "bar"
1492# ## Field name prefix
1493# prefix = ""
1494# ## comment this out if you want raw cpu_time stats
1495# fielddrop = ["cpu_time_*"]
1496# ## This is optional; moves pid into a tag instead of a field
1497# pid_tag = false
1498
1499
1500# # Read metrics from one or many prometheus clients
1501# [[inputs.prometheus]]
1502# ## An array of urls to scrape metrics from.
1503# urls = ["http://localhost:9100/metrics"]
1504#
1505# ## Use bearer token for authorization
1506# # bearer_token = /path/to/bearer/token
1507#
1508# ## Specify timeout duration for slower prometheus clients (default is 3s)
1509# # response_timeout = "3s"
1510#
1511# ## Optional SSL Config
1512# # ssl_ca = /path/to/cafile
1513# # ssl_cert = /path/to/certfile
1514# # ssl_key = /path/to/keyfile
1515# ## Use SSL but skip chain & host verification
1516# # insecure_skip_verify = false
1517
1518
1519# # Reads last_run_summary.yaml file and converts to measurments
1520# [[inputs.puppetagent]]
1521# ## Location of puppet last run summary file
1522# location = "/var/lib/puppet/state/last_run_summary.yaml"
1523
1524
1525# # Read metrics from one or many RabbitMQ servers via the management API
1526# [[inputs.rabbitmq]]
1527# # url = "http://localhost:15672"
1528# # name = "rmq-server-1" # optional tag
1529# # username = "guest"
1530# # password = "guest"
1531#
1532# ## Optional SSL Config
1533# # ssl_ca = "/etc/telegraf/ca.pem"
1534# # ssl_cert = "/etc/telegraf/cert.pem"
1535# # ssl_key = "/etc/telegraf/key.pem"
1536# ## Use SSL but skip chain & host verification
1537# # insecure_skip_verify = false
1538#
1539# ## Optional request timeouts
1540# ##
1541# ## ResponseHeaderTimeout, if non-zero, specifies the amount of time to wait
1542# ## for a server's response headers after fully writing the request.
1543# # header_timeout = "3s"
1544# ##
1545# ## client_timeout specifies a time limit for requests made by this client.
1546# ## Includes connection time, any redirects, and reading the response body.
1547# # client_timeout = "4s"
1548#
1549# ## A list of nodes to pull metrics about. If not specified, metrics for
1550# ## all nodes are gathered.
1551# # nodes = ["rabbit@node1", "rabbit@node2"]
1552
1553
1554# # Read raindrops stats (raindrops - real-time stats for preforking Rack servers)
1555# [[inputs.raindrops]]
1556# ## An array of raindrops middleware URI to gather stats.
1557# urls = ["http://localhost:8080/_raindrops"]
1558
1559
1560# # Read metrics from one or many redis servers
1561# [[inputs.redis]]
1562# ## specify servers via a url matching:
1563# ## [protocol://][:password]@address[:port]
1564# ## e.g.
1565# ## tcp://localhost:6379
1566# ## tcp://:password@192.168.99.100
1567# ## unix:///var/run/redis.sock
1568# ##
1569# ## If no servers are specified, then localhost is used as the host.
1570# ## If no port is specified, 6379 is used
1571# servers = ["tcp://localhost:6379"]
1572
1573
1574# # Read metrics from one or many RethinkDB servers
1575# [[inputs.rethinkdb]]
1576# ## An array of URI to gather stats about. Specify an ip or hostname
1577# ## with optional port add password. ie,
1578# ## rethinkdb://user:auth_key@10.10.3.30:28105,
1579# ## rethinkdb://10.10.3.33:18832,
1580# ## 10.0.0.1:10000, etc.
1581# servers = ["127.0.0.1:28015"]
1582
1583
1584# # Read metrics one or many Riak servers
1585# [[inputs.riak]]
1586# # Specify a list of one or more riak http servers
1587# servers = ["http://localhost:8098"]
1588
1589
1590# # Retrieves SNMP values from remote agents
1591# [[inputs.snmp]]
1592# agents = [ "127.0.0.1:161" ]
1593# ## Timeout for each SNMP query.
1594# timeout = "5s"
1595# ## Number of retries to attempt within timeout.
1596# retries = 3
1597# ## SNMP version, values can be 1, 2, or 3
1598# version = 2
1599#
1600# ## SNMP community string.
1601# community = "public"
1602#
1603# ## The GETBULK max-repetitions parameter
1604# max_repetitions = 10
1605#
1606# ## SNMPv3 auth parameters
1607# #sec_name = "myuser"
1608# #auth_protocol = "md5" # Values: "MD5", "SHA", ""
1609# #auth_password = "pass"
1610# #sec_level = "authNoPriv" # Values: "noAuthNoPriv", "authNoPriv", "authPriv"
1611# #context_name = ""
1612# #priv_protocol = "" # Values: "DES", "AES", ""
1613# #priv_password = ""
1614#
1615# ## measurement name
1616# name = "system"
1617# [[inputs.snmp.field]]
1618# name = "hostname"
1619# oid = ".1.0.0.1.1"
1620# [[inputs.snmp.field]]
1621# name = "uptime"
1622# oid = ".1.0.0.1.2"
1623# [[inputs.snmp.field]]
1624# name = "load"
1625# oid = ".1.0.0.1.3"
1626# [[inputs.snmp.field]]
1627# oid = "HOST-RESOURCES-MIB::hrMemorySize"
1628#
1629# [[inputs.snmp.table]]
1630# ## measurement name
1631# name = "remote_servers"
1632# inherit_tags = [ "hostname" ]
1633# [[inputs.snmp.table.field]]
1634# name = "server"
1635# oid = ".1.0.0.0.1.0"
1636# is_tag = true
1637# [[inputs.snmp.table.field]]
1638# name = "connections"
1639# oid = ".1.0.0.0.1.1"
1640# [[inputs.snmp.table.field]]
1641# name = "latency"
1642# oid = ".1.0.0.0.1.2"
1643#
1644# [[inputs.snmp.table]]
1645# ## auto populate table's fields using the MIB
1646# oid = "HOST-RESOURCES-MIB::hrNetworkTable"
1647
1648
1649# # DEPRECATED! PLEASE USE inputs.snmp INSTEAD.
1650# [[inputs.snmp_legacy]]
1651# ## Use 'oids.txt' file to translate oids to names
1652# ## To generate 'oids.txt' you need to run:
1653# ## snmptranslate -m all -Tz -On | sed -e 's/"//g' > /tmp/oids.txt
1654# ## Or if you have an other MIB folder with custom MIBs
1655# ## snmptranslate -M /mycustommibfolder -Tz -On -m all | sed -e 's/"//g' > oids.txt
1656# snmptranslate_file = "/tmp/oids.txt"
1657# [[inputs.snmp.host]]
1658# address = "192.168.2.2:161"
1659# # SNMP community
1660# community = "public" # default public
1661# # SNMP version (1, 2 or 3)
1662# # Version 3 not supported yet
1663# version = 2 # default 2
1664# # SNMP response timeout
1665# timeout = 2.0 # default 2.0
1666# # SNMP request retries
1667# retries = 2 # default 2
1668# # Which get/bulk do you want to collect for this host
1669# collect = ["mybulk", "sysservices", "sysdescr"]
1670# # Simple list of OIDs to get, in addition to "collect"
1671# get_oids = []
1672#
1673# [[inputs.snmp.host]]
1674# address = "192.168.2.3:161"
1675# community = "public"
1676# version = 2
1677# timeout = 2.0
1678# retries = 2
1679# collect = ["mybulk"]
1680# get_oids = [
1681# "ifNumber",
1682# ".1.3.6.1.2.1.1.3.0",
1683# ]
1684#
1685# [[inputs.snmp.get]]
1686# name = "ifnumber"
1687# oid = "ifNumber"
1688#
1689# [[inputs.snmp.get]]
1690# name = "interface_speed"
1691# oid = "ifSpeed"
1692# instance = "0"
1693#
1694# [[inputs.snmp.get]]
1695# name = "sysuptime"
1696# oid = ".1.3.6.1.2.1.1.3.0"
1697# unit = "second"
1698#
1699# [[inputs.snmp.bulk]]
1700# name = "mybulk"
1701# max_repetition = 127
1702# oid = ".1.3.6.1.2.1.1"
1703#
1704# [[inputs.snmp.bulk]]
1705# name = "ifoutoctets"
1706# max_repetition = 127
1707# oid = "ifOutOctets"
1708#
1709# [[inputs.snmp.host]]
1710# address = "192.168.2.13:161"
1711# #address = "127.0.0.1:161"
1712# community = "public"
1713# version = 2
1714# timeout = 2.0
1715# retries = 2
1716# #collect = ["mybulk", "sysservices", "sysdescr", "systype"]
1717# collect = ["sysuptime" ]
1718# [[inputs.snmp.host.table]]
1719# name = "iftable3"
1720# include_instances = ["enp5s0", "eth1"]
1721#
1722# # SNMP TABLEs
1723# # table without mapping neither subtables
1724# [[inputs.snmp.table]]
1725# name = "iftable1"
1726# oid = ".1.3.6.1.2.1.31.1.1.1"
1727#
1728# # table without mapping but with subtables
1729# [[inputs.snmp.table]]
1730# name = "iftable2"
1731# oid = ".1.3.6.1.2.1.31.1.1.1"
1732# sub_tables = [".1.3.6.1.2.1.2.2.1.13"]
1733#
1734# # table with mapping but without subtables
1735# [[inputs.snmp.table]]
1736# name = "iftable3"
1737# oid = ".1.3.6.1.2.1.31.1.1.1"
1738# # if empty. get all instances
1739# mapping_table = ".1.3.6.1.2.1.31.1.1.1.1"
1740# # if empty, get all subtables
1741#
1742# # table with both mapping and subtables
1743# [[inputs.snmp.table]]
1744# name = "iftable4"
1745# oid = ".1.3.6.1.2.1.31.1.1.1"
1746# # if empty get all instances
1747# mapping_table = ".1.3.6.1.2.1.31.1.1.1.1"
1748# # if empty get all subtables
1749# # sub_tables could be not "real subtables"
1750# sub_tables=[".1.3.6.1.2.1.2.2.1.13", "bytes_recv", "bytes_send"]
1751
1752
1753# # Read metrics from Microsoft SQL Server
1754# [[inputs.sqlserver]]
1755# ## Specify instances to monitor with a list of connection strings.
1756# ## All connection parameters are optional.
1757# ## By default, the host is localhost, listening on default port, TCP 1433.
1758# ## for Windows, the user is the currently running AD user (SSO).
1759# ## See https://github.com/denisenkom/go-mssqldb for detailed connection
1760# ## parameters.
1761# # servers = [
1762# # "Server=192.168.1.10;Port=1433;User Id=<user>;Password=<pw>;app name=telegraf;log=1;",
1763# # ]
1764
1765[[inputs.sysstat]]
1766 sadc_path = "/usr/lib/sysstat/sadc" # required
1767 fieldpass = ["device", "host", "*drop_per_s", "*kB_per_s", "*pck_per_s"]
1768 [inputs.sysstat.options]
1769 "-n ALL" = "network"
1770 [inputs.sysstat.tagpass]
1771 device = ["eth0"]
1772
1773
1774# # Inserts sine and cosine waves for demonstration purposes
1775# [[inputs.trig]]
1776# ## Set the amplitude
1777# amplitude = 10.0
1778
1779
1780# # Read Twemproxy stats data
1781# [[inputs.twemproxy]]
1782# ## Twemproxy stats address and port (no scheme)
1783# addr = "localhost:22222"
1784# ## Monitor pool name
1785# pools = ["redis_pool", "mc_pool"]
1786
1787
1788# # A plugin to collect stats from Varnish HTTP Cache
1789# [[inputs.varnish]]
1790# ## The default location of the varnishstat binary can be overridden with:
1791# binary = "/usr/bin/varnishstat"
1792#
1793# ## By default, telegraf gather stats for 3 metric points.
1794# ## Setting stats will override the defaults shown below.
1795# ## Glob matching can be used, ie, stats = ["MAIN.*"]
1796# ## stats may also be set to ["*"], which will collect all stats
1797# stats = ["MAIN.cache_hit", "MAIN.cache_miss", "MAIN.uptime"]
1798
1799
1800# # Read metrics of ZFS from arcstats, zfetchstats, vdev_cache_stats, and pools
1801# [[inputs.zfs]]
1802# ## ZFS kstat path. Ignored on FreeBSD
1803# ## If not specified, then default is:
1804# # kstatPath = "/proc/spl/kstat/zfs"
1805#
1806# ## By default, telegraf gather all zfs stats
1807# ## If not specified, then default is:
1808# # kstatMetrics = ["arcstats", "zfetchstats", "vdev_cache_stats"]
1809#
1810# ## By default, don't gather zpool stats
1811# # poolMetrics = false
1812
1813
1814# # Reads 'mntr' stats from one or many zookeeper servers
1815# [[inputs.zookeeper]]
1816# ## An array of address to gather stats about. Specify an ip or hostname
1817# ## with port. ie localhost:2181, 10.0.0.1:2181, etc.
1818#
1819# ## If no servers are specified, then localhost is used as the host.
1820# ## If no port is specified, 2181 is used
1821# servers = [":2181"]
1822
1823
1824
1825###############################################################################
1826# SERVICE INPUT PLUGINS #
1827###############################################################################
1828
1829# # Influx HTTP write listener
1830# [[inputs.http_listener]]
1831# ## Address and port to host HTTP listener on
1832# service_address = ":8186"
1833#
1834# ## maximum duration before timing out read of the request
1835# read_timeout = "10s"
1836# ## maximum duration before timing out write of the response
1837# write_timeout = "10s"
1838#
1839# ## Maximum allowed http request body size in bytes.
1840# ## 0 means to use the default of 536,870,912 bytes (500 mebibytes)
1841# max_body_size = 0
1842#
1843# ## Maximum line size allowed to be sent in bytes.
1844# ## 0 means to use the default of 65536 bytes (64 kibibytes)
1845# max_line_size = 0
1846
1847
1848# # Read metrics from Kafka topic(s)
1849# [[inputs.kafka_consumer]]
1850# ## topic(s) to consume
1851# topics = ["telegraf"]
1852# ## an array of Zookeeper connection strings
1853# zookeeper_peers = ["localhost:2181"]
1854# ## Zookeeper Chroot
1855# zookeeper_chroot = ""
1856# ## the name of the consumer group
1857# consumer_group = "telegraf_metrics_consumers"
1858# ## Offset (must be either "oldest" or "newest")
1859# offset = "oldest"
1860#
1861# ## Data format to consume.
1862# ## Each data format has it's own unique set of configuration options, read
1863# ## more about them here:
1864# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
1865# data_format = "influx"
1866
1867
1868# # Stream and parse log file(s).
1869# [[inputs.logparser]]
1870# ## Log files to parse.
1871# ## These accept standard unix glob matching rules, but with the addition of
1872# ## ** as a "super asterisk". ie:
1873# ## /var/log/**.log -> recursively find all .log files in /var/log
1874# ## /var/log/*/*.log -> find all .log files with a parent dir in /var/log
1875# ## /var/log/apache.log -> only tail the apache log file
1876# files = ["/var/log/apache/access.log"]
1877# ## Read file from beginning.
1878# from_beginning = false
1879#
1880# ## Parse logstash-style "grok" patterns:
1881# ## Telegraf built-in parsing patterns: https://goo.gl/dkay10
1882# [inputs.logparser.grok]
1883# ## This is a list of patterns to check the given log file(s) for.
1884# ## Note that adding patterns here increases processing time. The most
1885# ## efficient configuration is to have one pattern per logparser.
1886# ## Other common built-in patterns are:
1887# ## %{COMMON_LOG_FORMAT} (plain apache & nginx access logs)
1888# ## %{COMBINED_LOG_FORMAT} (access logs + referrer & agent)
1889# patterns = ["%{COMBINED_LOG_FORMAT}"]
1890# ## Name of the outputted measurement name.
1891# measurement = "apache_access_log"
1892# ## Full path(s) to custom pattern files.
1893# custom_pattern_files = []
1894# ## Custom patterns can also be defined here. Put one pattern per line.
1895# custom_patterns = '''
1896# '''
1897
1898
1899# # Read metrics from MQTT topic(s)
1900# [[inputs.mqtt_consumer]]
1901# servers = ["localhost:1883"]
1902# ## MQTT QoS, must be 0, 1, or 2
1903# qos = 0
1904#
1905# ## Topics to subscribe to
1906# topics = [
1907# "telegraf/host01/cpu",
1908# "telegraf/+/mem",
1909# "sensors/#",
1910# ]
1911#
1912# # if true, messages that can't be delivered while the subscriber is offline
1913# # will be delivered when it comes back (such as on service restart).
1914# # NOTE: if true, client_id MUST be set
1915# persistent_session = false
1916# # If empty, a random client ID will be generated.
1917# client_id = ""
1918#
1919# ## username and password to connect MQTT server.
1920# # username = "telegraf"
1921# # password = "metricsmetricsmetricsmetrics"
1922#
1923# ## Optional SSL Config
1924# # ssl_ca = "/etc/telegraf/ca.pem"
1925# # ssl_cert = "/etc/telegraf/cert.pem"
1926# # ssl_key = "/etc/telegraf/key.pem"
1927# ## Use SSL but skip chain & host verification
1928# # insecure_skip_verify = false
1929#
1930# ## Data format to consume.
1931# ## Each data format has it's own unique set of configuration options, read
1932# ## more about them here:
1933# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
1934# data_format = "influx"
1935
1936
1937# # Read metrics from NATS subject(s)
1938# [[inputs.nats_consumer]]
1939# ## urls of NATS servers
1940# # servers = ["nats://localhost:4222"]
1941# ## Use Transport Layer Security
1942# # secure = false
1943# ## subject(s) to consume
1944# # subjects = ["telegraf"]
1945# ## name a queue group
1946# # queue_group = "telegraf_consumers"
1947#
1948# ## Sets the limits for pending msgs and bytes for each subscription
1949# ## These shouldn't need to be adjusted except in very high throughput scenarios
1950# # pending_message_limit = 65536
1951# # pending_bytes_limit = 67108864
1952#
1953# ## Data format to consume.
1954# ## Each data format has it's own unique set of configuration options, read
1955# ## more about them here:
1956# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
1957# data_format = "influx"
1958
1959
1960# # Read NSQ topic for metrics.
1961# [[inputs.nsq_consumer]]
1962# ## An string representing the NSQD TCP Endpoint
1963# server = "localhost:4150"
1964# topic = "telegraf"
1965# channel = "consumer"
1966# max_in_flight = 100
1967#
1968# ## Data format to consume.
1969# ## Each data format has it's own unique set of configuration options, read
1970# ## more about them here:
1971# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
1972# data_format = "influx"
1973
1974
1975# # Statsd Server
1976# [[inputs.statsd]]
1977# ## Address and port to host UDP listener on
1978# service_address = ":8125"
1979#
1980# ## The following configuration options control when telegraf clears it's cache
1981# ## of previous values. If set to false, then telegraf will only clear it's
1982# ## cache when the daemon is restarted.
1983# ## Reset gauges every interval (default=true)
1984# delete_gauges = true
1985# ## Reset counters every interval (default=true)
1986# delete_counters = true
1987# ## Reset sets every interval (default=true)
1988# delete_sets = true
1989# ## Reset timings & histograms every interval (default=true)
1990# delete_timings = true
1991#
1992# ## Percentiles to calculate for timing & histogram stats
1993# percentiles = [90]
1994#
1995# ## separator to use between elements of a statsd metric
1996# metric_separator = "_"
1997#
1998# ## Parses tags in the datadog statsd format
1999# ## http://docs.datadoghq.com/guides/dogstatsd/
2000# parse_data_dog_tags = false
2001#
2002# ## Statsd data translation templates, more info can be read here:
2003# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md#graphite
2004# # templates = [
2005# # "cpu.* measurement*"
2006# # ]
2007#
2008# ## Number of UDP messages allowed to queue up, once filled,
2009# ## the statsd server will start dropping packets
2010# allowed_pending_messages = 10000
2011#
2012# ## Number of timing/histogram values to track per-measurement in the
2013# ## calculation of percentiles. Raising this limit increases the accuracy
2014# ## of percentiles but also increases the memory usage and cpu time.
2015# percentile_limit = 1000
2016
2017
2018# # Stream a log file, like the tail -f command
2019# [[inputs.tail]]
2020# ## files to tail.
2021# ## These accept standard unix glob matching rules, but with the addition of
2022# ## ** as a "super asterisk". ie:
2023# ## "/var/log/**.log" -> recursively find all .log files in /var/log
2024# ## "/var/log/*/*.log" -> find all .log files with a parent dir in /var/log
2025# ## "/var/log/apache.log" -> just tail the apache log file
2026# ##
2027# ## See https://github.com/gobwas/glob for more examples
2028# ##
2029# files = ["/var/mymetrics.out"]
2030# ## Read file from beginning.
2031# from_beginning = false
2032# ## Whether file is a named pipe
2033# pipe = false
2034#
2035# ## Data format to consume.
2036# ## Each data format has it's own unique set of configuration options, read
2037# ## more about them here:
2038# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
2039# data_format = "influx"
2040
2041
2042# # Generic TCP listener
2043# [[inputs.tcp_listener]]
2044# ## Address and port to host TCP listener on
2045# # service_address = ":8094"
2046#
2047# ## Number of TCP messages allowed to queue up. Once filled, the
2048# ## TCP listener will start dropping packets.
2049# # allowed_pending_messages = 10000
2050#
2051# ## Maximum number of concurrent TCP connections to allow
2052# # max_tcp_connections = 250
2053#
2054# ## Data format to consume.
2055# ## Each data format has it's own unique set of configuration options, read
2056# ## more about them here:
2057# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
2058# data_format = "influx"
2059
2060
2061# # Generic UDP listener
2062# [[inputs.udp_listener]]
2063# ## Address and port to host UDP listener on
2064# # service_address = ":8092"
2065#
2066# ## Number of UDP messages allowed to queue up. Once filled, the
2067# ## UDP listener will start dropping packets.
2068# # allowed_pending_messages = 10000
2069#
2070# ## Set the buffer size of the UDP connection outside of OS default (in bytes)
2071# ## If set to 0, take OS default
2072# udp_buffer_size = 16777216
2073#
2074# ## Data format to consume.
2075# ## Each data format has it's own unique set of configuration options, read
2076# ## more about them here:
2077# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
2078# data_format = "influx"
2079
2080
2081# # A Webhooks Event collector
2082# [[inputs.webhooks]]
2083# ## Address and port to host Webhook listener on
2084# service_address = ":1619"
2085#
2086# [inputs.webhooks.filestack]
2087# path = "/filestack"
2088#
2089# [inputs.webhooks.github]
2090# path = "/github"
2091#
2092# [inputs.webhooks.mandrill]
2093# path = "/mandrill"
2094#
2095# [inputs.webhooks.rollbar]
2096# path = "/rollbar"