# 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 surround # 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] [agent] interval = "10s" round_interval = true metric_batch_size = 1000 metric_buffer_limit = 10000 collection_jitter = "0s" flush_interval = '10s' flush_jitter = "0s" precision = "" hostname = '' omit_hostname = false [[outputs.influxdb]] setting1 = '#'#test setting2 = '''#'''#test setting3 = "#"#test setting4 = """#"""#test wicked1 = "\""#test wicked2 = """\""""#test [[inputs.cpu]] percpu = true #totalcpu = true # collect_cpu_time = false ## report_active = false [[a.plugin]] mylist = [ "value 1", # a good value "value 2", # a better value "value 3", "value 4", 'value5', """tagwith#value""", ] # Should work [[some.stuff]] a = 'not a #comment' b = '''not a #comment''' c = "not a #comment" d = """not a #comment""" e = '''not a #comment containing "quotes"''' f = '''not a #comment containing 'quotes'?''' g = """not a #comment containing "quotes"?""" # Issue #14237 [[inputs.myplugin]] value = '''This isn't a #comment.''' [[processors.starlark]] script = """ # Drop fields if they contain a string. # # Example Input: # measurement,host=hostname a=1,b="somestring" 1597255410000000000 # # Example Output: # measurement,host=hostname a=1 1597255410000000000 def apply(metric): for k, v in metric.fields.items(): if type(v) == "string": metric.fields.pop(k) return metric """ [[processors.starlark]] script = ''' # Drop fields if they contain a string. # # Example Input: # measurement,host=hostname a=1,b="somestring" 1597255410000000000 # # Example Output: # measurement,host=hostname a=1 1597255410000000000 def apply(metric): for k, v in metric.fields.items(): if type(v) == "string": metric.fields.pop(k) return metric '''