Files
netbird-telegraf-installer/telegraf/docker.conf
T
Kalina 098f4cf7af fix(output): non_retryable_statuscodes [400,409,413,422] gegen Endlosschleife
Ein permanenter 400 (vergifteter Batch) blieb am FIFO-Kopf und wurde endlos
wiederholt; die gepufferten Samples alterten dabei bis ueber die Akzeptanz-
grenze des Empfaengers (head_min_time ~2x Blockdauer) und waren danach
unzustellbar — der Knoten verstummte dauerhaft.

GEMESSEN 09.10.2026: 9 von 15 Nodes stumm, Sample-Versatz 185-1071 min
(konstant ueber 72 h), 1680 Ablehnungen/h, danach 'Metric buffer overflow'
= endgueltiger Verlust. Mit der Option wird der Batch verworfen statt
wiederholt ('Received non-retryable status 400. Metrics are lost.') und der
Knoten erholt sich beim naechsten Flush selbst. 5xx/408/429 bleiben retrybar.

Zweiter Fix, gleiche Ursache: der vorhandene processors.override traf nur
'docker_log' und liess docker_container_blkio_container_id (String) durch —
der 400 warf die ganze docker_container_*-Familie weg. Neuer Block
namepass=['docker','docker_container*'] mit fieldexclude der *_id-Felder.

VERSION 1.9.2 -> 1.9.3 (loest den Auto-Updater aus).
2026-10-09 15:34:26 +02:00

37 lines
1.5 KiB
Plaintext

# Docker-Container: Stats + Logs (nur wenn /var/run/docker.sock existiert)
[[inputs.docker]]
endpoint = "unix:///var/run/docker.sock"
timeout = "20s"
perdevice_include = []
total_include = ["cpu", "blkio", "network"]
docker_label_include = []
docker_label_exclude = ["*"]
[[inputs.docker_log]]
endpoint = "unix:///var/run/docker.sock"
from_beginning = false
source_tag = false
docker_label_include = []
docker_label_exclude = ["*"]
[inputs.docker_log.tagdrop]
container_image = ["telegraf"]
[[processors.override]]
namepass = ["docker_log"]
fieldexclude = ["container_id"]
# Ohne diesen zweiten Block faellt die GANZE docker_container_*-Familie aus
# jedem Remote-Write-Batch. `inputs.docker` liefert die Felder `container_id`
# und `image_id` als 64-stellige Hex-Strings; Telegraf flacht Messung+Feld zu
# einem Metriknamen ab, daraus wird `docker_container_blkio_container_id` —
# ein STRING-Wert, den Prometheus ablehnt:
# `bad sample value "<64 hex>"`
# Der 400 wirft den KOMPLETTEN Flush weg, also auch alle Serien, an denen
# nichts falsch ist. Der Block oben trifft nur `docker_log` (Loki-Output) und
# hilft hier NICHT — das ist die Falle, an der man den ganzen Vormittag sucht.
# Gemessen 09.10.2026 auf imac: 278 "series were dropped"-Zeilen in 60 min,
# bis zu 2804 Serien im selben haengenden Batch.
[[processors.override]]
namepass = ["docker", "docker_container*"]
fieldexclude = ["container_id", "container_image_id", "container_id_short", "device_id", "image_id"]