Created
November 27, 2018 01:35
-
-
Save neofob/0777d98d8b61019dda14980ae546a114 to your computer and use it in GitHub Desktop.
telegraf config
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Telegraf Configuration | |
# | |
# Telegraf is entirely plugin driven. All metrics are gathered from the | |
# declared inputs, and sent to the declared outputs. | |
# | |
# Plugins must be declared in here to be active. | |
# To deactivate a plugin, comment out the name and any variables. | |
# | |
# Use 'telegraf -config telegraf.conf -test' to see what metrics a config | |
# file would generate. | |
# | |
# Environment variables can be used anywhere in this config file, simply prepend | |
# them with $. For strings the variable must be within quotes (ie, "$STR_VAR"), | |
# for numbers and booleans they should be plain (ie, $INT_VAR, $BOOL_VAR) | |
# Global tags can be specified here in key="value" format. | |
[global_tags] | |
# dc = "us-east-1" # will tag all metrics with dc=us-east-1 | |
# rack = "1a" | |
## Environment variables can be used as tags, and throughout the config file | |
# user = "$USER" | |
# Configuration for telegraf agent | |
[agent] | |
## Default data collection interval for all inputs | |
interval = "10s" | |
## Rounds collection interval to 'interval' | |
## ie, if interval="10s" then always collect on :00, :10, :20, etc. | |
round_interval = true | |
## Telegraf will send metrics to outputs in batches of at most | |
## metric_batch_size metrics. | |
## This controls the size of writes that Telegraf sends to output plugins. | |
metric_batch_size = 1000 | |
## For failed writes, telegraf will cache metric_buffer_limit metrics for each | |
## output, and will flush this buffer on a successful write. Oldest metrics | |
## are dropped first when this buffer fills. | |
## This buffer only fills when writes fail to output plugin(s). | |
metric_buffer_limit = 10000 | |
## Collection jitter is used to jitter the collection by a random amount. | |
## Each plugin will sleep for a random time within jitter before collecting. | |
## This can be used to avoid many plugins querying things like sysfs at the | |
## same time, which can have a measurable effect on the system. | |
collection_jitter = "0s" | |
## Default flushing interval for all outputs. You shouldn't set this below | |
## interval. Maximum flush_interval will be flush_interval + flush_jitter | |
flush_interval = "10s" | |
## Jitter the flush interval by a random amount. This is primarily to avoid | |
## large write spikes for users running a large number of telegraf instances. | |
## ie, a jitter of 5s and interval 10s means flushes will happen every 10-15s | |
flush_jitter = "0s" | |
## By default or when set to "0s", precision will be set to the same | |
## timestamp order as the collection interval, with the maximum being 1s. | |
## ie, when interval = "10s", precision will be "1s" | |
## when interval = "250ms", precision will be "1ms" | |
## Precision will NOT be used for service inputs. It is up to each individual | |
## service input to set the timestamp at the appropriate precision. | |
## Valid time units are "ns", "us" (or "µs"), "ms", "s". | |
precision = "" | |
## Logging configuration: | |
## Run telegraf with debug log messages. | |
debug = false | |
## Run telegraf in quiet mode (error log messages only). | |
quiet = false | |
## Specify the log file name. The empty string means to log to stderr. | |
logfile = "" | |
## Override default hostname, if empty use os.Hostname() | |
hostname = "" | |
## If set to true, do no set the "host" tag in the telegraf agent. | |
omit_hostname = false | |
############################################################################### | |
# OUTPUT PLUGINS # | |
############################################################################### | |
# # Configuration for Graphite server to send metrics to | |
[[outputs.graphite]] | |
# ## TCP endpoint for your graphite instance. | |
# ## If multiple endpoints are configured, output will be load balanced. | |
# ## Only one of the endpoints will be written to with each iteration. | |
servers = ["graphite:2003"] | |
# ## Prefix metrics name | |
# prefix = "" | |
# ## Graphite output template | |
# ## see https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md | |
# template = "host.tags.measurement.field" | |
# ## timeout in seconds for the write connection to graphite | |
# timeout = 2 | |
# | |
# ## Optional SSL Config | |
# # ssl_ca = "/etc/telegraf/ca.pem" | |
# # ssl_cert = "/etc/telegraf/cert.pem" | |
# # ssl_key = "/etc/telegraf/key.pem" | |
# ## Use SSL but skip chain & host verification | |
# # insecure_skip_verify = false | |
# # Configuration for Librato API to send metrics to. | |
# [[outputs.librato]] | |
# ## Librator API Docs | |
# ## http://dev.librato.com/v1/metrics-authentication | |
# ## Librato API user | |
# api_user = "telegraf@influxdb.com" # required. | |
# ## Librato API token | |
# api_token = "my-secret-token" # required. | |
# ## Debug | |
# # debug = false | |
# ## Connection timeout. | |
# # timeout = "5s" | |
# ## Output source Template (same as graphite buckets) | |
# ## see https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md#graphite | |
# ## This template is used in librato's source (not metric's name) | |
# template = "host" | |
# | |
############################################################################### | |
# PROCESSOR PLUGINS # | |
############################################################################### | |
# # Print all metrics that pass through this filter. | |
# [[processors.printer]] | |
############################################################################### | |
# AGGREGATOR PLUGINS # | |
############################################################################### | |
# # Keep the aggregate basicstats of each metric passing through. | |
# [[aggregators.basicstats]] | |
# ## General Aggregator Arguments: | |
# ## The period on which to flush & clear the aggregator. | |
# period = "30s" | |
# ## If true, the original metric will be dropped by the | |
# ## aggregator and will not get sent to the output plugins. | |
# drop_original = false | |
# # Create aggregate histograms. | |
# [[aggregators.histogram]] | |
# ## The period in which to flush the aggregator. | |
# period = "30s" | |
# | |
# ## If true, the original metric will be dropped by the | |
# ## aggregator and will not get sent to the output plugins. | |
# drop_original = false | |
# | |
# ## Example config that aggregates all fields of the metric. | |
# # [[aggregators.histogram.config]] | |
# # ## The set of buckets. | |
# # buckets = [0.0, 15.6, 34.5, 49.1, 71.5, 80.5, 94.5, 100.0] | |
# # ## The name of metric. | |
# # measurement_name = "cpu" | |
# | |
# ## Example config that aggregates only specific fields of the metric. | |
# # [[aggregators.histogram.config]] | |
# # ## The set of buckets. | |
# # buckets = [0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0, 100.0] | |
# # ## The name of metric. | |
# # measurement_name = "diskio" | |
# # ## The concrete fields of metric | |
# # fields = ["io_time", "read_time", "write_time"] | |
# # Keep the aggregate min/max of each metric passing through. | |
# [[aggregators.minmax]] | |
# ## General Aggregator Arguments: | |
# ## The period on which to flush & clear the aggregator. | |
# period = "30s" | |
# ## If true, the original metric will be dropped by the | |
# ## aggregator and will not get sent to the output plugins. | |
# drop_original = false | |
############################################################################### | |
# INPUT PLUGINS # | |
############################################################################### | |
# Read metrics about cpu usage | |
[[inputs.cpu]] | |
## Whether to report per-cpu stats or not | |
percpu = false | |
## Whether to report total system cpu stats or not | |
totalcpu = true | |
## If true, collect raw CPU time metrics. | |
collect_cpu_time = false | |
## If true, compute and report the sum of all non-idle CPU states. | |
report_active = false | |
# Read metrics about disk usage by mount point | |
[[inputs.disk]] | |
## By default, telegraf gather stats for all mountpoints. | |
## Setting mountpoints will restrict the stats to the specified mountpoints. | |
mount_points = ["/"] | |
## Ignore some mountpoints by filesystem type. For example (dev)tmpfs (usually | |
## present on /run, /var/run, /dev/shm or /dev). | |
ignore_fs = ["tmpfs", "devtmpfs", "devfs"] | |
# Read metrics about disk IO by device | |
#[[inputs.diskio]] | |
## By default, telegraf will gather stats for all devices including | |
## disk partitions. | |
## Setting devices will restrict the stats to the specified devices. | |
# devices = ["sda", "sdb"] | |
## Uncomment the following line if you need disk serial numbers. | |
# skip_serial_number = false | |
# | |
## On systems which support it, device metadata can be added in the form of | |
## tags. | |
## Currently only Linux is supported via udev properties. You can view | |
## available properties for a device by running: | |
## 'udevadm info -q property -n /dev/sda' | |
# device_tags = ["ID_FS_TYPE", "ID_FS_USAGE"] | |
# | |
## Using the same metadata source as device_tags, you can also customize the | |
## name of the device via templates. | |
## The 'name_templates' parameter is a list of templates to try and apply to | |
## the device. The template may contain variables in the form of '$PROPERTY' or | |
## '${PROPERTY}'. The first template which does not contain any variables not | |
## present for the device is used as the device name tag. | |
## The typical use case is for LVM volumes, to get the VG/LV name instead of | |
## the near-meaningless DM-0 name. | |
# name_templates = ["$ID_FS_LABEL","$DM_VG_NAME/$DM_LV_NAME"] | |
# Get kernel statistics from /proc/stat | |
# [[inputs.kernel]] | |
# no configuration | |
# Read metrics about memory usage | |
[[inputs.mem]] | |
# no configuration | |
# Get the number of processes and group them by status | |
# [[inputs.processes]] | |
# no configuration | |
# Read metrics about swap memory usage | |
[[inputs.swap]] | |
# no configuration | |
# Read metrics about system load & uptime | |
# [[inputs.system]] | |
# no configuration | |
# # Read metrics of bcache from stats_total and dirty_data | |
# [[inputs.bcache]] | |
# ## Bcache sets path | |
# ## If not specified, then default is: | |
# bcachePath = "/sys/fs/bcache" | |
# | |
# ## By default, telegraf gather stats for all bcache devices | |
# ## Setting devices will restrict the stats to the specified | |
# ## bcache devices. | |
# bcacheDevs = ["bcache0"] | |
# # Collect bond interface status, slaves statuses and failures count | |
# [[inputs.bond]] | |
# ## Sets 'proc' directory path | |
# ## If not specified, then default is /proc | |
# # host_proc = "/proc" | |
# | |
# ## By default, telegraf gather stats for all bond interfaces | |
# ## Setting interfaces will restrict the stats to the specified | |
# ## bond interfaces. | |
# # bond_interfaces = ["bond0"] | |
# # Read metrics about docker containers | |
# [[inputs.docker]] | |
# ## Docker Endpoint | |
# ## To use TCP, set endpoint = "tcp://[ip]:[port]" | |
# ## To use environment variables (ie, docker-machine), set endpoint = "ENV" | |
# endpoint = "unix:///var/run/docker.sock" | |
# | |
# ## Set to true to collect Swarm metrics(desired_replicas, running_replicas) | |
# gather_services = false | |
# | |
# ## Only collect metrics for these containers, collect all if empty | |
# container_names = [] | |
# | |
# ## Containers to include and exclude. Globs accepted. | |
# ## Note that an empty array for both will include all containers | |
# container_name_include = [] | |
# container_name_exclude = ["telegraf"] | |
# | |
# ## Timeout for docker list, info, and stats commands | |
# timeout = "5s" | |
# | |
# ## Whether to report for each container per-device blkio (8:0, 8:1...) and | |
# ## network (eth0, eth1, ...) stats or not | |
# perdevice = true | |
# ## Whether to report for each container total blkio and network stats or not | |
# total = false | |
# ## Which environment variables should we use as a tag | |
# ##tag_env = ["JAVA_HOME", "HEAP_SIZE"] | |
# | |
# ## docker labels to include and exclude as tags. Globs accepted. | |
# ## Note that an empty array for both will include all labels as tags | |
# docker_label_include = [] | |
# docker_label_exclude = [] | |
# | |
# ## Optional SSL Config | |
# # ssl_ca = "/etc/telegraf/ca.pem" | |
# # ssl_cert = "/etc/telegraf/cert.pem" | |
# # ssl_key = "/etc/telegraf/key.pem" | |
# ## Use SSL but skip chain & host verification | |
# # insecure_skip_verify = false | |
# # Read metrics about network interface usage | |
# [[inputs.net]] | |
# ## By default, telegraf gathers stats from any up interface (excluding loopback) | |
# ## Setting interfaces will tell it to gather these explicit interfaces, | |
# ## regardless of status. | |
# ## | |
# interfaces = ["eth0"] | |
# # Collect kernel snmp counters and network interface statistics | |
# [[inputs.nstat]] | |
# ## file paths for proc files. If empty default paths will be used: | |
# ## /proc/net/netstat, /proc/net/snmp, /proc/net/snmp6 | |
# ## These can also be overridden with env variables, see README. | |
# proc_net_netstat = "/proc/net/netstat" | |
# proc_net_snmp = "/proc/net/snmp" | |
# proc_net_snmp6 = "/proc/net/snmp6" | |
# ## dump metrics with 0 values too | |
# dump_zeros = true | |
# # Monitor sensors, requires lm-sensors package | |
[[inputs.sensors]] | |
# ## Remove numbers from field names. | |
# ## If true, a field name like 'temp1_input' will be changed to 'temp_input'. | |
# # remove_numbers = true | |
# [[inputs.nvidia_smi]] | |
# # Read metrics from storage devices supporting S.M.A.R.T. | |
# [[inputs.smart]] | |
# ## Optionally specify the path to the smartctl executable | |
# # path = "/usr/bin/smartctl" | |
# # | |
# ## On most platforms smartctl requires root access. | |
# ## Setting 'use_sudo' to true will make use of sudo to run smartctl. | |
# ## Sudo must be configured to to allow the telegraf user to run smartctl | |
# ## with out password. | |
# # use_sudo = false | |
# # | |
# ## Skip checking disks in this power mode. Defaults to | |
# ## "standby" to not wake up disks that have stoped rotating. | |
# ## See --nocheck in the man pages for smartctl. | |
# ## smartctl version 5.41 and 5.42 have faulty detection of | |
# ## power mode and might require changing this value to | |
# ## "never" depending on your disks. | |
# # nocheck = "standby" | |
# # | |
# ## Gather detailed metrics for each SMART Attribute. | |
# ## Defaults to "false" | |
# ## | |
# # attributes = false | |
# # | |
# ## Optionally specify devices to exclude from reporting. | |
# # excludes = [ "/dev/pass6" ] | |
# # | |
# ## Optionally specify devices and device type, if unset | |
# ## a scan (smartctl --scan) for S.M.A.R.T. devices will | |
# ## done and all found will be included except for the | |
# ## excluded in excludes. | |
# # devices = [ "/dev/ada0 -d atacam" ] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment