Telegraf influx.output not working with UDP

Hello,

I am having issues with one particular host running telegraf. Issue is related to udp_payload setting.
Sending metrics to influxdb.output, where the InfluxDB output is udp does not work.
There are >10 other hosts running with the same config that do not face the issue.

The telegraf config is:
[agent]
interval = "10s"
round_interval = true
metric_batch_size = 1000
metric_buffer_limit = 10000

# Add randomness for sending data from all agents
collection_jitter = “1s”

flush_interval = “10s”

debug = true
quiet = false
omit_hostname = false

[[outputs.influxdb]]
urls = [ “udp://hostname:8089” ]
database = "vac"
write_consistency = "any"
timeout = "5s"
udp_payload=65000

InfluxDB udp input is:
[[udp]]
enabled = true
bind-address = ":8089"
database = “vac”
\ # retention-policy = ""
batch-size = 5000
batch-pending = 10
batch-timeout = "1s"
read-buffer = 0

What I’ve tried and works:

  • writing the metrics to a file
  • writing the metrics to the http endpoint of the same InfluxDB
  • writing a metric with netcat from the troublesome host to the UDP endpoint of InfluxDB

What I did find out while randomly playing with the settings is that when I set udp_payload to the default metrics started coming into InfluxDB, and increasing it up to 1500 works.

Does anyone have any pointers into what might be wrong here?

telegraf version: 1.3.3
InfluxDB version: 1.2.1

I think this may have to do with the MTU of your network. For best performance, I recommend keeping it around the size of the largest metrics you are sending in line protocol format.

Hi,

I’ve tuned it to the default value for now and it is working fine. Strange thing is that the other hosts with it set to 65000 do not seem to have the same issue.