Performance Monitoring mit dem TIG-Stack

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.

🍻 Sag Danke
Mit kleinen Gesten kannst du meine Arbeit wertschätzen. Was und wie du das tun kannst, erfährst du hier.

Leave a reply:

Your email address will not be published.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.