Skip to content

Instantly share code, notes, and snippets.

@burdandrei
Last active August 20, 2021 10:01
Show Gist options
  • Save burdandrei/692a23698e355b7fdac6342b4342b171 to your computer and use it in GitHub Desktop.
Save burdandrei/692a23698e355b7fdac6342b4342b171 to your computer and use it in GitHub Desktop.
Receive consul and nomad telemetry in influx in usable form
# Templates are updated to be compatible with nomad > 0.7.1
[agent]
interval = "10s"
round_interval = true
metric_batch_size = 1000
metric_buffer_limit = 10000
collection_jitter = "0s"
flush_interval = "10s"
flush_jitter = "3s"
precision = ""
debug = false
quiet = false
hostname = ""
omit_hostname = true
[[outputs.influxdb]]
urls = ["http://influxdb.service.consul:8086"] # required
database = "statsd" # required
retention_policy = ""
timeout = "5s"
# Statistics of number of events received and processing time
[[inputs.internal]]
[inputs.internal.tags]
host = "telegraf-statsd-receiver"
[[inputs.statsd]]
service_address = ":8125"
delete_gauges = false
delete_counters = false
delete_sets = false
delete_timings = true
percentiles = [90]
metric_separator = "_"
templates = [
"consul.consul.* measurement.field*",
"consul.dns.* measurement.measurement.field*",
"consul.memberlist.* measurement.measurement.field*",
"consul.raft.* measurement.measurement.field*",
"consul.runtime.* measurement.measurement.field*",
"consul.serf.queue.* measurement.measurement..queue.field*",
"consul.serf.* measurement.measurement.field*",
"consul.*.runtime.* measurement.host.measurement.field*",
"consul.*.memberlist.* measurement.host.measurement.field",
"consul.* measurement.field*",
"nomad.client.allocated.network.* measurement.measurement.field.field.node-id.datacenter.interface.hostname",
"nomad.client.allocated.* measurement.measurement.field.field.node-id.datacenter.hostname",
"nomad.client.allocations.* measurement.measurement.field.field.node-id.datacenter.hostname",
"nomad.client.allocs.complete.* measurement.measurement.measurement.field.job.task-group.alloc-id.task.hostname",
"nomad.client.allocs.destroy.* measurement.measurement.measurement.field.job.task-group.alloc-id.task.hostname",
"nomad.client.allocs.restart.* measurement.measurement.measurement.field.job.task-group.alloc-id.task.hostname",
"nomad.client.allocs.running.* measurement.measurement.measurement.field.job.task-group.alloc-id.task.hostname",
"nomad.client.allocs.start.* measurement.measurement.measurement.field.job.task-group.alloc-id.task.hostname",
"nomad.client.allocs.* measurement.measurement.measurement.field.field.job.task-group.alloc-id.task.hostname",
"nomad.client.consul.checks.* measurement.measurement.field.hostname",
"nomad.client.consul.services.* measurement.measurement.field.hostname",
"nomad.client.consul.* measurement.measurement.field.field.hostname",
"nomad.client.host.cpu.* measurement.measurement.measurement.field.field.node-id.datacenter.cpu-core.hostname",
"nomad.client.host.disk.* measurement.measurement.measurement.field.field.node-id.datacenter.device-name.hostname",
"nomad.client.host.memory.* measurement.measurement.measurement.field.field.node-id.datacenter.hostname",
"nomad.client.unallocated.* measurement.measurement.field.field.node-id.datacenter.hostname",
"nomad.uptime.* measurement.field.hostname",
"nomad.memberlist.tcp.* measurement.measurement.field.field.hostname",
"nomad.memberlist.udp.* measurement.measurement.field.field.hostname",
"nomad.memberlist.* measurement.measurement.field*",
"nomad.nomad.job_summary.* measurement.nomad.field.field.job.task-group.hostname",
"nomad.nomad.* measurement.nomad.field.field.hostname",
"nomad.raft.replication.*.*.*.*.*.* measurement.field.field.field.ip.ip.ip.ip.hostname",
"nomad.raft.replication.*.*.*.*.*.*.* measurement.field.field.field.field.ip.ip.ip.ip.hostname",
"nomad.raft.*.* measurement.field.fieldhostname",
"nomad.raft.*.*.* measurement.field.field.field.hostname",
"nomad.runtime.* measurement.field.field.hostname",
"nomad.serf.* measurement.field.field.hostname"
]
parse_data_dog_tags = false
allowed_pending_messages = 10000
percentile_limit = 1000
@76creates
Copy link

if you have issues with allocations showing after being deleted:

delete_gauges = true

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment