diff --git a/etc/telegraf.conf b/etc/telegraf.conf
index a6058434cf64824a7c9815f279933a9316d6d01c..3d0cdfd3acad2783a69ce5c67aac12354f2f2adc 100644
--- a/etc/telegraf.conf
+++ b/etc/telegraf.conf
@@ -140,8 +140,6 @@
 #   # retention_policy = "default"
 #   ## InfluxDB database
 #   # database = "telegraf"
-#   ## InfluxDB precision
-#   # precision = "s"
 #
 #   ## Optional SSL Config
 #   # ssl_ca = "/etc/telegraf/ca.pem"
@@ -190,6 +188,11 @@
 #   # timeout = "5s"
 
 
+# # Send metrics to nowhere at all
+# [[outputs.discard]]
+#   # no configuration
+
+
 # # Send telegraf metrics to file(s)
 # [[outputs.file]]
 #   ## Files to write to, "stdout" is a specially handled file.
@@ -219,7 +222,7 @@
 
 # # Send telegraf metrics to graylog(s)
 # [[outputs.graylog]]
-#   ## Udp endpoint for your graylog instance.
+#   ## UDP endpoint for your graylog instance.
 #   servers = ["127.0.0.1:12201", "192.168.1.1:12201"]
 
 
@@ -312,9 +315,13 @@
 #   streamname = "StreamName"
 #   ## PartitionKey as used for sharding data.
 #   partitionkey = "PartitionKey"
-#   ## format of the Data payload in the kinesis PutRecord, supported
-#   ## String and Custom.
-#   format = "string"
+#
+#   ## Data format to output.
+#   ## Each data format has it's own unique set of configuration options, read
+#   ## more about them here:
+#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
+#   data_format = "influx"
+#
 #   ## debug will show upstream aws messages.
 #   debug = false
 
@@ -351,6 +358,9 @@
 #   # username = "telegraf"
 #   # password = "metricsmetricsmetricsmetrics"
 #
+#   ## client ID, if not set a random ID is generated
+#   # client_id = ""
+#
 #   ## Optional SSL Config
 #   # ssl_ca = "/etc/telegraf/ca.pem"
 #   # ssl_cert = "/etc/telegraf/cert.pem"
@@ -428,6 +438,9 @@
 # [[outputs.prometheus_client]]
 #   ## Address to listen on
 #   # listen = ":9126"
+#
+#   ## Interval to expire metrics and not deliver to prometheus, 0 == no expiration
+#   # expiration_interval = "60s"
 
 
 # # Configuration for the Riemann server to send metrics to
@@ -538,6 +551,19 @@
 #   ## An array of Apache status URI to gather stats.
 #   ## Default is "http://localhost/server-status?auto".
 #   urls = ["http://localhost/server-status?auto"]
+#   ## user credentials for basic HTTP authentication
+#   username = "myuser"
+#   password = "mypassword"
+#
+#   ## Timeout to the complete conection and reponse time in seconds
+#   response_timeout = "25s" ## default to 5 seconds
+#
+#   ## 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 of bcache from stats_total and dirty_data
@@ -640,6 +666,13 @@
 #   #profile = ""
 #   #shared_credential_file = ""
 #
+#   # The minimum period for Cloudwatch metrics is 1 minute (60s). However not all
+#   # metrics are made available to the 1 minute period. Some are collected at
+#   # 3 minute and 5 minutes intervals. See https://aws.amazon.com/cloudwatch/faqs/#monitoring.
+#   # Note that if a period is configured that is smaller than the minimum for a
+#   # particular metric, that metric will not be returned by the Cloudwatch API
+#   # and will not be collected by Telegraf.
+#   #
 #   ## Requested CloudWatch aggregation Period (required - must be a multiple of 60s)
 #   period = "5m"
 #
@@ -789,13 +822,13 @@
 #   ## of the cluster.
 #   local = true
 #
-#   ## set cluster_health to true when you want to also obtain cluster health stats
+#   ## Set cluster_health to true when you want to also obtain cluster health stats
 #   cluster_health = false
 #
-#   ## Set cluster_stats to true when you want to obtain cluster stats from the
+#   ## Set cluster_stats to true when you want to also obtain cluster stats from the
 #   ## Master node.
 #   cluster_stats = false
-
+#
 #   ## Optional SSL Config
 #   # ssl_ca = "/etc/telegraf/ca.pem"
 #   # ssl_cert = "/etc/telegraf/cert.pem"
@@ -980,6 +1013,12 @@
 #   timeout = "5s"
 
 
+# # Collect statistics about itself
+# [[inputs.internal]]
+#   ## If true, collect telegraf memory stats.
+#   # collect_memstats = true
+
+
 # # Read metrics from one or many bare metal servers
 # [[inputs.ipmi_sensor]]
 #   ## specify servers via a url matching:
@@ -993,8 +1032,9 @@
 # # Read JMX metrics through Jolokia
 # [[inputs.jolokia]]
 #   ## This is the context root used to compose the jolokia url
+#   ## NOTE that Jolokia requires a trailing slash at the end of the context root
 #   ## NOTE that your jolokia security policy must allow for POST requests.
-#   context = "/jolokia"
+#   context = "/jolokia/"
 #
 #   ## This specifies the mode used
 #   # mode = "proxy"
@@ -1006,6 +1046,15 @@
 #   #   host = "127.0.0.1"
 #   #   port = "8080"
 #
+#   ## Optional http timeouts
+#   ##
+#   ## response_header_timeout, if non-zero, specifies the amount of time to wait
+#   ## for a server's response headers after fully writing the request.
+#   # response_header_timeout = "3s"
+#   ##
+#   ## client_timeout specifies a time limit for requests made by this client.
+#   ## Includes connection time, any redirects, and reading the response body.
+#   # client_timeout = "4s"
 #
 #   ## List of servers exposing jolokia read service
 #   [[inputs.jolokia.servers]]
@@ -1144,8 +1193,8 @@
 #   ##  [username[:password]@][protocol[(address)]]/[?tls=[true|false|skip-verify]]
 #   ##  see https://github.com/go-sql-driver/mysql#dsn-data-source-name
 #   ##  e.g.
-#   ##    db_user:passwd@tcp(127.0.0.1:3306)/?tls=false
-#   ##    db_user@tcp(127.0.0.1:3306)/?tls=false
+#   ##    servers = ["user:passwd@tcp(127.0.0.1:3306)/?tls=false"]
+#   ##    servers = ["user@tcp(127.0.0.1:3306)/?tls=false"]
 #   #
 #   ## If no servers are specified, then localhost is used as the host.
 #   servers = ["tcp(127.0.0.1:3306)/"]
@@ -1206,18 +1255,24 @@
 # # TCP or UDP 'ping' given url and collect response time in seconds
 # [[inputs.net_response]]
 #   ## Protocol, must be "tcp" or "udp"
+#   ## NOTE: because the "udp" protocol does not respond to requests, it requires
+#   ## a send/expect string pair (see below).
 #   protocol = "tcp"
 #   ## Server address (default localhost)
-#   address = "github.com:80"
+#   address = "localhost:80"
 #   ## Set timeout
 #   timeout = "1s"
 #
-#   ## Optional string sent to the server
-#   # send = "ssh"
-#   ## Optional expected string in answer
-#   # expect = "ssh"
 #   ## Set read timeout (only used if expecting a response)
 #   read_timeout = "1s"
+#
+#   ## The following options are required for UDP checks. For TCP, they are
+#   ## optional. The plugin will send the given string to the server and then
+#   ## expect to receive the given 'expect' string back.
+#   ## string sent to the server
+#   # send = "ssh"
+#   ## expected string in answer
+#   # expect = "ssh"
 
 
 # # Read TCP metrics such as established, time wait and sockets counts.
@@ -1419,6 +1474,8 @@
 #   prefix = ""
 #   ## comment this out if you want raw cpu_time stats
 #   fielddrop = ["cpu_time_*"]
+#   ## This is optional; moves pid into a tag instead of a field
+#   pid_tag = false
 
 
 # # Read metrics from one or many prometheus clients
@@ -1429,6 +1486,9 @@
 #   ## Use bearer token for authorization
 #   # bearer_token = /path/to/bearer/token
 #
+#   ## Specify timeout duration for slower prometheus clients (default is 3s)
+#   # response_timeout = "3s"
+#
 #   ## Optional SSL Config
 #   # ssl_ca = /path/to/cafile
 #   # ssl_cert = /path/to/certfile
@@ -1457,6 +1517,16 @@
 #   ## Use SSL but skip chain & host verification
 #   # insecure_skip_verify = false
 #
+#   ## Optional request timeouts
+#   ##
+#   ## ResponseHeaderTimeout, if non-zero, specifies the amount of time to wait
+#   ## for a server's response headers after fully writing the request.
+#   # header_timeout = "3s"
+#   ##
+#   ## client_timeout specifies a time limit for requests made by this client.
+#   ## Includes connection time, any redirects, and reading the response body.
+#   # client_timeout = "4s"
+#
 #   ## A list of nodes to pull metrics about. If not specified, metrics for
 #   ## all nodes are gathered.
 #   # nodes = ["rabbit@node1", "rabbit@node2"]
@@ -1879,14 +1949,19 @@
 # [[inputs.statsd]]
 #   ## Address and port to host UDP listener on
 #   service_address = ":8125"
-#   ## Delete gauges every interval (default=false)
-#   delete_gauges = false
-#   ## Delete counters every interval (default=false)
-#   delete_counters = false
-#   ## Delete sets every interval (default=false)
-#   delete_sets = false
-#   ## Delete timings & histograms every interval (default=true)
+#
+#   ## The following configuration options control when telegraf clears it's cache
+#   ## of previous values. If set to false, then telegraf will only clear it's
+#   ## cache when the daemon is restarted.
+#   ## Reset gauges every interval (default=true)
+#   delete_gauges = true
+#   ## Reset counters every interval (default=true)
+#   delete_counters = true
+#   ## Reset sets every interval (default=true)
+#   delete_sets = true
+#   ## Reset timings & histograms every interval (default=true)
 #   delete_timings = true
+#
 #   ## Percentiles to calculate for timing & histogram stats
 #   percentiles = [90]
 #
@@ -1927,6 +2002,8 @@
 #   files = ["/var/mymetrics.out"]
 #   ## Read file from beginning.
 #   from_beginning = false
+#   ## Whether file is a named pipe
+#   pipe = false
 #
 #   ## Data format to consume.
 #   ## Each data format has it's own unique set of configuration options, read
@@ -1963,6 +2040,10 @@
 #   ## UDP listener will start dropping packets.
 #   # allowed_pending_messages = 10000
 #
+#   ## Set the buffer size of the UDP connection outside of OS default (in bytes)
+#   ## If set to 0, take OS default
+#   udp_buffer_size = 16777216
+#
 #   ## Data format to consume.
 #   ## Each data format has it's own unique set of configuration options, read
 #   ## more about them here:
@@ -1986,3 +2067,4 @@
 #
 #   [inputs.webhooks.rollbar]
 #     path = "/rollbar"
+