Überwachung von Raspberry Pi mit Telegraf

Ich hatte einige Zeit darauf gewartet, einige Posts über Telegraf und einige Wunder, die wir vollbringen können, zu veröffentlichen. In diesem einfachen Dokument werden wir sehen, wie wir Leistungsmetriken von einem Raspberry Pi sammeln und mit Grafana in Echtzeit anzeigen können!

Angenommen, wir haben Influxdb bereits auf einem Server installiert und funktionsfähig, sowie Grafana (andernfalls, Kasse diese), Es ist also an der Zeit, Metriken zu sammeln, Wir beginnen mit etwas Einfachem, eine Linux-Maschine (Debian-basiert), und was ist besser als ein Raspberry Pi, wo zusätzlich zum Abrufen der gemeinsamen Metriken, Wir werden auch die der CPU- und GPU-Temperaturen erhalten.

wir begannen! Wir werden den Telegraf-Agenten auf dem Raspberry Pi installieren, um die Metriken anzugeben, die wir an die Influxdb senden möchten, die erste Sache, descargamos las claves del repo de Influx:

curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key hinzufügen -

Y añadimos el repositorio con (Auge, seleccionaremos nuestra versión de debian correcta (bullseye, buster, stretch…) :

Echo "deb https://repos.influxdata.com/debian buster stable" | sudo tee /etc/apt/sources.list.d/influxdb.list

Y ahora sí, instalamos Telegraf:

sudo wget -O - https://repos.influxdata.com/influxdb.key | sudo apt-key hinzufügen -
sudo apt-get update
sudo apt install telegraf -y

dann, tenemos que tocar el fichero de configuración de Telegraf (/etc/telegraph/telegraph.conf), así que lo abrimos y lo editamos, cambiaremos varias cosas, según nuestras necesidades. Comenzamos con ‚Intervall‘ und ‚flush_interval‘, el primero indica cada cuanto checkeara, y el segundo cada cuanto lo manda a la BD, si queréis a nivel de 1 segundo nos quedaría así, no es necesario quizá tan agresivo, aber in Grafana ist es dann sehr beeindruckend, Sehen Sie, wie es auf die Sekunde aktualisiert…:

...
[Agent]
Intervall = "1s"
flush_interval = "1s"
...

Im Abschnitt Eingänge, Wir werden die Metriken, die wir erhalten möchten, auskommentieren, Beispiel:

...
# Eingabe-Plugins
[[Eingänge.CPU]]
    percpu = wahr
    Gesamtcpu = wahr
    collect_cpu_time = falsch
    report_active = falsch
[[Eingänge.Disk]]
    ignorieren_fs = ["tmpfs", "devtmpfs", "Entwickler"]
[[Eingänge.io]]
[[Eingänge.Speicher]]
[[Eingänge.net]]
[[eingänge.system]]
[[eingänge.swap]]
[[input.netstat]]
[[Eingaben.Prozesse]]
[[input.kernel]]
...

und schließlich, de los Ausgänge, am Ausgang, wohin wir die Metriken senden, Kommentieren Sie den Influxdb-Abschnitt aus und konfigurieren Sie ihn korrekt:

...
[[Ausgänge.influxdb]]
  URLs = ["http://ip_adresse:8086"] # erforderlich
  Datenbank = "DBNAME"
  Benutzername = "Benutzer"
  Passwort = "XXXXXXXX"
  skip_database_creation = wahr
...

Nach dem Speichern der Datei, können wir testen, ob die Konfiguration mit korrekt ist:

telegraph --test

Wir starten die Telegraf-Dienste neu, um die neu geänderte Konfiguration zu laden, Wir sehen, dass es gestartet wurde, und wir geben an, dass es Telegraf mit dem System startet:

sudo systemctl start telegraf
sudo systemctl statustelegraf
sudo systemctl aktiviert telegraf

Wenn wir zusätzlich zu diesen Standardmetriken auch Metriken hinzufügen möchten, die uns die Temperatur der CPU und/oder die Temperatur der GPU des Raspberry Pi liefern, wir fahren fort mit, Hinzufügen des Telegraf-Benutzers zur Videogruppe, damit er diese Daten lesen kann:

sudo usermod -G Videotelegraf

Dann können wir eine Konfigurationsdatei für diesen Bedarf erstellen, por ejemplo le llamamos ‚/etc/telegraf/telegraf-raspberrypitemp.conf‘ und mit folgendem Inhalt:

[[input.file]]
  Dateien = ["/sys/class/thermal/thermal_zone0/temp"]
  name_override = "CPU_Temperatur"
  Datenformat = "Wert"
  Datentyp = "ganze Zahl"

[[Eingänge.exec]]
  Befehle = ["/opt/vc/bin/vcgencmd measure_temp"]
  name_override = "gpu_temperatur"
  Datenformat = "grok"
  grok_patterns = ["%{NUMMER:Wert:schweben}"]

Wir laden Telegraf neu, um diese neue Konfiguration zu lesen, und wir hätten sie bereit:

sudo systemctl reset telegraf

Damit wären die Daten bereits in Influxdb gespeichert, Jetzt können Sie es wie gewohnt von Grafana aus anzeigen, Wenn wir die Datenquelle für Influxdb nicht haben, erstellen wir sie, und die nächste und bequemste Sache wird sein, ein Dashboard herunterzuladen, das uns gefällt und das die Community erstellt hat 🙂 Ich habe dieses Dashboard ausprobiert, Wie Sie sehen, ist es so einfach wie beim Erstellen eines neuen Dashboards in unserem Grafana, Importieren Sie Ihre ID, in diesem Fall wird die ‚10578‘, Aber komm schon, es gibt viele andere Dashboards oder du wirst es im Handumdrehen ändern. Dieses Dashboard gehört übrigens Jorge de la Cruz, Also danke für dein bisschen!!

Und sicherlich werden Sie in einem Moment etwas so Cooles wie dieses haben! oder gehen, besser!!! Wir können jetzt die Leistung unseres Raspberry Pi in Echtzeit visualisieren, wir sehen die verschiedenen CPUs, Erinnerungen, Verwenden von Festplatten, Netzwerkverkehr, Last, Temperaturen…

gut, Ich verabschiede mich wie immer und danke allen, die diese Platten gelesen haben, an die, die lernen wollen, für diejenigen, die informative Inhalte in sozialen Netzwerken teilen!

Umarmungen!

Hector Herrero
Letzte Artikel von Hector Herrero (Alle anzeigen)