Telegraf data is being sent to multiple bucket

Hi, Ive installed InfluxDB 2.1 on a VM and i’ve been toying with it for the last few days. I was able to get the LinuxOS template running. But when i try to add another .conf file, to receive data stream from a Cisco device onto a specific bucket, both bucket are being populated with the Measurements.

I am running only one instances of Telegraf on the linux machine hosting InfluxDB. I’ve seen similar post but they are dated back more than 1 year.

Thank you!

Can you please share all your Telegraf configurations please, minus any credentials. It would make it much easier to spot errors or issues. Otherwise we are only going to be able to guess.

Also if you do paste your config please paste it between at the start and at the end to ensure it gets formatted correctly.

So it’s in 3 .conf file… the main is /etc/telegraf/telegraf.conf

[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

Then i have the linux one /etc/telegraf/telegraf.d/linux_monitoring.conf::

[[outputs.influxdb_v2]]
  urls = ["http://10.54.2.70:8086"]
  token = "xxxxxxxxxxxxxxxxxxxxxxx"
  organization = "telegraf"
  bucket = "linux_os"

[[inputs.cpu]]
  percpu = true
  totalcpu = true
  collect_cpu_time = false
  report_active = false
[[inputs.disk]]
  ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]
[[inputs.diskio]]
[[inputs.kernel]]
[[inputs.mem]]
[[inputs.net]]
[[inputs.processes]]
[[inputs.swap]]
[[inputs.system]]

And lastly i have the cisco one /etc/telegraf/telegraf.d/cisco.conf ::

[[outputs.influxdb_v2]]
  urls = ["http://10.54.2.70:8086"]
  token = "xxxxxxxxxxxxxxxxxxxxxxx"
  organization = "telegraf"
  bucket = "cisco_telemetry"
[[inputs.cisco_telemetry_mdt]]
 transport = "grpc"
 service_address = ":57000"
 max_msg_size = 20000000

Hope it helps!

1 Like

It does help! Thanks!

In telegraf, by default, all inputs are sent to all outputs. So, in this case, all our system, CPU, mem etc. inputs as well as the cisco telemetry are all going to both influxdb outputs.

You can use metric filtering values to determine what metrics go to what outputs.

On the influxdb output for cisco telemetry you could add the following to only accept metrics that start with “cisco”

namepass = ["cisco*"]

And likewise on the other influxdb output for system data, you could add the following to ignore all the cisco metrics:

namedrop = ["cisco*"]

Just make sure that these configuration values are the last thing listed in those output stanzas.

That’s perfect thanks!.. quick note, it is case sensitive, as my measurements for Cisco telemetry is with a Capital C…

Thanks @jpowers