Wer ein Homelab betreibt kommt früher oder später an den Punkt an dem einzelne Dienste vom Teststadium in die Produktion übergehen. Das passiert einfach zwangsläufig und ist auch gern Gang und Gäbe in Unternehmen.
Sobald aber ein Dienst wichtig wird, sollte man ihm auch die nötige Aufmerksamkeit widmen und dafür sorge tragen, dass dieser Dienst auch eine hohe Verfügbarkeit hat.
Am Besten lässt sich das mit diversen Monitoringlösungen realisieren. Ich möchte euch in diesem Beitrag allerdings den ersten Schritt des Verfügbarkeitsmonitorings überspringen und direkt ins Performancemonitoring einsteigen.
Hierfür eignet sich hervorragend der sog. TIG-Stack.
(T)elegraf, (I)influxDB und (G)rafana bilden hier eine Einheit um einzelnen Metriken der Systeme zusammen, speichern und grafisch aufzubereiten. Ich zeige euch eine beispielhafte Installation unter Ubuntu 16.04 LTS.
Installation der Komponenten
Telegraf und InfluxDB können wir direkt mittels WGET herunter laden.
cd /tmpwget https://dl.influxdata.com/telegraf/releases/telegraf_1.6.2-1_amd64.debwget https://dl.influxdata.com/influxdb/releases/influxdb_1.5.2_amd64.deb
Anschließend kurz installiert
dpkg -i telegraf_1.6.2-1_amd64.debdpkg -i influxdb_1.5.2_amd64.deb
Die Programme enthalten in der Installation die systemd Skripte und starten beim nächsten Systemstart automatisch mit. Ein manuelles Starten nach der Installation ist nicht notwenig.
Nun installieren wir noch Grafana. Hier empfielt es sich das offizielle Repository einzubinden um es bei Updates leichter zu haben.
vim /etc/apt/sources.list.d/grafana.list
Hier kommt dann folgender Inhalt rein:
deb https://packagecloud.io/grafana/stable/debian/ stretch main
Anschließend noch den PGP Schlüssel installieren
curl https://packagecloud.io/gpg.key | apt-key add -
Nun können wir Grafana installieren und starten
apt update && apt install grafanasystemctl daemon-reloadsystemctl start grafana-serversystemctl status grafana-server
Einrichtung der Tools
Fangen wir mit der Datenbank an. InfluxDB ist eine sogenannte Time Series Database und entsprechend genau für den Anwendungsfall des Monitorings entwickelt. Wir verbindungen uns mit dem Server:
influx
und erstellen eine neue Datenbank.
create database Telegraf;exit
Das wars auch schon. Einfach, nich? Dann weiter zu Teletraf.
Telegraf speichert seine Einstellungen in einer Konfigurationsdatei unter /etc/telegraf
vim /etc/telegraf/telegraf.conf
Hier kommentieren wir in Zeile XXX die Verbindung zu InfluxDB aus.
Das Grafana Dashboard
Nun können wir das Grafana Dashboard einrichten. Hierzu öffnet ihr mit eurem Browser die Seite eures Servers
http://{IP}:3000
Zugangsdaten sind bei der Erstinstallation admin:admin.
Grafana führt einem direkt durch die Einrichtung und die notwendigen Schritt. Als ersten brauchen wir natür eine Datenquelle
Name: Telegraf
Type: Telegraf
HTTP Url: http://127.0.0.1:8086
InfluxDB Details Database: Telegraf
Anschließend auf Save & Test klicken. Es sollte ein grüner Balken auftauchen, dass die Verbindung erfolgreich hergestellt worden ist.
Der nächste Schritt ist ein neues Dashboard anzulegen. Wir starten in diesem neuen Dashboard mit einem Graphen. Klicken oben auf Panel Title und wählen edit aus.
Erstellt eine Abfrage welche anschließend diesen Aufbau hat:
FROM default cpu WHERE cpu = cpu totalSELECT field(usage_system)GROUP BY time($interval)
Die restlichen Felder könnt ihr leer lassen. Ihr solltet dann oben in der Vorschau auch schon die Anfänge eines Graphen sehen.
Wenn gewünscht können wir nun unter Axes die Unit auf Percent (0-100) stellen. Weitere Anpassungen können natürlich je nach Wunsch gerne angepasst werden.
Habt ihr das alles soweit eingestellt, klickt ihr oben rechts in der Ecke auf den Pfeil nach links. Anschließend solltet ihr euer Dashboard oben mit der Diskette noch abspeichern. Je nach Wunsch könnt ihr nun die weiteren Werte die Telegraf ausliest noch als Graphen hinzufügen.