Skip to content

InfluxDB 3 rejects Telegraf elasticsearch_http metrics with very long lines (>200k chars) #27182

@n4cer

Description

@n4cer

Steps to reproduce:
Telegraf configuration

[[inputs.elasticsearch]]
  servers = ["http://elastic:token@host:9200"]

Run Telegraf

telegraf --once --debug --input-filter elasticsearch

Write target: InfluxDB 3 /api/v2/write

Expected behaviour:
All line protocol generated by the official Telegraf Elasticsearch plugin should be accepted by InfluxDB 3 if it is already accepted by InfluxDB 2.

Actual behaviour:
Metrics of measurement:

elasticsearch_http

are rejected by InfluxDB 3 with:

parsing for line protocol failed

The identical payload is accepted by InfluxDB 2.

Environment info:

  • InfluxDB version: InfluxDB 3 Core 3.8.0
  • Endpoint used: /api/v2/write
  • Telegraf version: 1.37.1
  • Operating system: SLES Linux
  • Output of uname -srm: Linux 6.4.0-150700.53.28-default x86_64
  • Running InfluxDB 3 in a containerized environment (Docker)

Config:

[[inputs.elasticsearch]]
  servers =  ["http://elastic:token@host:9200"]
  http_timeout = "5s"
  local = true
  cluster_health = true
  cluster_health_level = "indices"
  cluster_stats = true
  cluster_stats_only_from_master = true
  indices_include = ["_all"]
  indices_level = "shards"

Logs:

Error while handling request error=write buffer error:
parsing for line protocol failed method=POST path=/api/v2/write

Investigation Result:

By sending lines one-by-one to InfluxDB 3, we identified that a single line of measurement elasticsearch_http with a length of approximately 200,000+ characters causes the failure.

Dropping this measurement in Telegraf resolves the issue completely:

namedrop = ["elasticsearch_http"]

This strongly suggests a parser limitation in InfluxDB 3 regarding maximum line length or field count.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions