# ============================================================================= # Telegraf-Konfiguration fuer einen CONTAINER-Knoten ohne sudo. # # Variablen kommen aus der Container-Umgebung (docker-compose `environment`), # NICHT aus /etc/default/telegraf -- das gibt es auf solchen Knoten nicht. # ============================================================================= [global_tags] node = "${NODE_NAME}" [agent] # Der Exporteur schreibt einmal pro Minute; 60 s Abtastung ist das Maximum, # das keine Werte doppelt sieht. Jitter, damit Cron-Schreiben und Abtastung # nicht im Gleichtakt kollidieren. interval = "60s" flush_interval = "60s" collection_jitter = "5s" hostname = "${NODE_NAME}" omit_hostname = false # Reserve fuer Ausfaelle: Telegraf puffert nur, solange der Push scheitert. metric_buffer_limit = 200000 # Der Cron-Exporteur schreibt die .prom-Datei atomar (mv). # data_format = "prometheus" ist PFLICHT: das Skript besitzt seine Metriknamen # schon. Mit "influx" bekaeme jede Serie ein _value-Suffix (oder der Parser # scheiterte ganz) und jedes Panel bliebe leer, ohne Fehlermeldung. [[inputs.file]] files = ["/var/lib/abx-prom/abx.prom"] data_format = "prometheus" # ---- Metriken -> Prometheus Remote Write (Collector imac) ---- [[outputs.http]] url = "${PROM_URL}" data_format = "prometheusremotewrite" timeout = "60s" # Ein 400 ist PERMANENT: dieselbe Nutzlast liefert dieselbe Antwort. Ohne # diese Liste bleibt der abgelehnte Batch als FIFO-Kopf stehen, wird endlos # wiederholt und blockiert jede dahinter gesammelte Serie. non_retryable_statuscodes = [400, 409, 413, 422] [outputs.http.headers] Content-Type = "application/x-protobuf" Content-Encoding = "snappy" X-Prometheus-Remote-Write-Version = "0.1.0" # Kein Authorization-Header: direkter Mesh-Weg ohne Auth (siehe compose).