Skip to content

InfluxDB UDP output plugin not splitting large measurements #5438

@oplehto

Description

@oplehto

Telegraf's UDP output is not splitting outgoing measurement lines based on the udp_payload. It seems like the this block is never executed as serializer alway exists: https://github.com/influxdata/telegraf/blob/master/plugins/outputs/influxdb/udp.go#L46

Relevant telegraf.conf:

[[outputs.influxdb]]
  urls = ['udp://metrics-udp:22001/']
  database = "tg_udp"
  precision = "s"
  timeout = "5s"
  user_agent = "telegraf"
  udp_payload = 1400

System info:

Tested on Telegraf 1.9.4 but issue seems to be still in HEAD

Steps to reproduce:

  1. Set a udp_payload value in the [[outputs.influxdb]] plugin which is lower the size of some measurement lines.
  2. Check the UDP datagram sizes with tcpdump.

Expected behavior:

The datagrams should be split to be under the udp_payload size.

Actual behavior:

The udp_payload parameter is disregarded and no split is performed. Measurements larger than udp_payload size are sent as single datagrams. For very large measurements a "message too long" error is produced.

Metadata

Metadata

Assignees

Labels

bugunexpected problem or unintended behavior

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions