Zweites String-Feld derselben Klasse wie container_id: inputs.docker liefert health_status="healthy". Telegraf macht daraus docker_container_health_health_status und Prometheus antwortet 'bad sample value "healthy"' -> der ganze Flush faellt aus, auch die Container-Statistiken, die damit nichts zu tun haben. GEMESSEN auf kalina nach dem ersten Fix: genau EINE 'series were dropped'-Zeile mit 862 Serien im haengenden Batch, last recorded error health_status. Nach dem Zusatz: 0 E!, 0 dropped, docker_container_* wieder da (kalina 501, imac 1126 Serien). Feldliste diesmal empirisch erzeugt statt geraten: telegraf --test des docker-Inputs ohne Prozessoren, alle Felder mit Anfuehrungszeichen gesammelt -- es sind genau ZWEI (container_id, health_status). VERSION 1.9.3 -> 1.9.4.
37 lines
1.5 KiB
Plaintext
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", "health_status"]
|