telegraf / influxdb: Benutzerdefiniertes Exec-Skript, einige Spalten funktionieren, andere nicht

647
detue

Ich möchte einige benutzerdefinierte Daten über telegraf in influxdb eingeben (zur späteren Visualisierung mit grafana).

Mein Agent gibt die Metriken ähnlich aus

# /tmp/temp.pl temperature,host=ludwig.lan ada0=51.0,ada1=48.0,tz0=27.9,tz1=29.9,cpu0=38.0,cpu1=39.0,cpu2=38.0,cpu3=38.0 

Dieser Agent wird von telegraf mit einer Eingabedefinition wie aufgerufen

[[inputs.exec]] commands = [ "/tmp/temp.pl" ] timeout = "5s" name_suffix = "_influx" data_format = "influx" 

Im Grunde funktioniert es, aber komischerweise kommen eigentlich nur die Metriken tz * und cpu * in influxdb an. Die ada * -Metriken werden jetzt angezeigt:

name: temperature_influx time cpu0 cpu1 cpu2 cpu3 host tz0 tz1 ---- ---- ---- ---- ---- ---- --- --- 1518437880000000000 42 44 40 44 ludwig.lan 27.9 29.9 1518437890000000000 43 44 44 38 ludwig.lan 27.9 29.9 1518437900000000000 42 46 39 38 ludwig.lan 27.9 29.9 1518437910000000000 41 41 42 44 ludwig.lan 27.9 29.9 

Ich kann dasselbe seltsame Ergebnis reproduzieren, wenn der Agent für die Verwendung des JSON-Formats erneut implementiert wird.

Ich habe alles Mögliche versucht, um Telegraf / influxdb auszuliefern, um die Ada-Spalten in etwas anderes umzubenennen oder sogar die Ada * -Daten in die CPU-Felder zu schreiben, aber als ob es eine Art Erbsünde gäbe Die ada * -Werte können nicht in influxdb angezeigt werden.

Wie wenn die Daten selbst durch merkwürdige, unsichtbare UTF8-Zeichen beschädigt wurden, die Daten jedoch von einem Perl-Skript gelesen, analysiert und formatiert werden, sollte dies eine gewisse Bereinigung bewirken, selbst wenn die Ausgabe von smartctl merkwürdig war.

Ich muss etwas Superstupes Offensichtliches vermissen, jeder Hinweis ist willkommen.

0

0 Antworten auf die Frage