Lazy


Du bist lazy, möchtest jedoch gerne einmal ein Bisschen mit Grafana rumspielen. Stundenlang alles einzurichten, ist dir jedoch zu doof? Ich habe die Lösung für dich.  Vor ca. einer Woche habe ich ein Github Repo erstellt, welches ein E2E Grafana Umgebung enthält. Darin enthalten sind Influxdb als Time Series Database, Telegraf als Metrics Collector, Loki als Log Aggregation System und natürlich Grafana selber.

Voraussetzungen


Damit das Deployment der Umgebung schnell vonstatten geht. Basiert Grafana Playground auf Docker. Somit ist die einzige Voraussetzung, dass auf deiner Maschine Docker läuft. Getestet wurde die Umgebung unter:
  • Ubuntu 20.04
  • Docker Desktop für Windows unter Windows Version 10.0.19041 Build 19041
 

Einrichtung


Natürlich kannst du dir die ganz Ordnerstruktur manuell aufbauen. Ich empfehle an dieser Stelle jedoch das Klonen mit git.
git clone https://github.com/darox/Grafana-Playground
Damit das sammeln der Docker Logs klappt, muss noch der Docker Loki Logging Driver installiert werden.
docker plugin install grafana/loki-docker-driver:latest --alias loki --grant-all-permissions
Nun kann die Umgebung gestartet werden.
docker compose up -d
Den Status der Umgebung prüfen.
docker ps -a  

Berechtigungen


Unter Linux können Docker Kommandos nur mit Root Zugriffsrechten ausgeführt werden. Es besteht jedoch die Möglichkeit, dein Benutzer der Docker Gruppe hinzuzufügen.
sudo usermod -aG docker dario
 

Los geht's


Ist die Umgebung einmal eingerichtet, kann man direkt mit Rumspielen beginnen. Mit einem Browser ruft man http://localhost:3000 auf und gibt admin/admin ein. Man wird direkt aufgefordert das Passwort zu ändern. Einmal eingeloggt, führt die erste Handlung zur Konfiguration der Datenquellen. Es werden zwei Quellen konfiguriert, Loki und Influxdb.
Grafana - Datenquellen
Grafana - Datenquellen
Bei der Konfiguration von Influxdb, muss die URL http://influxdb:8086 sowie der Name der Datenbank angegeben werden. In diesem Fall kreiert Telegraf eine Datenbank mit dem Namen telegraf. Die Konfiguration der Loki Datenquelle ist noch einfacher, hier geben wir die URL http://loki:3100 ein. Da es sich hierbei um eine Testumgebung handelt, verwenden wir kein Passwortschutz und TLS. In einer produktiven Umgebung sollte man darauf natürlich nicht verzichten. Sogar das erstellen von Dashboards, habe ich dir abgenommen. Im Repository sind zwei JSON Dateien, loki.json und telegraf.json enthalten. Diese Dateien findest du im Ordner grafana/dashboards. Diese Templates kannst du in der Dashboard Übersicht importieren.
Grafana - Dashboard Importieren
Grafana - Dashboard Importieren
Es erwarten dich zwei Dashboards, das Telegraf Dashboard.
Grafana - Telegraf
Grafana - Telegraf
Sowie das Loki Dashboard. Es ist ziemlich leer, da ein Filter konfiguriert ist, der nur Log Zeilen mit dem Wort “error” anzeigt. 
Grafana - Loki
Grafana - Loki
Die Testumgebung zu stoppen, ist auch ganz einfach. 
docker-compose down  

Schlusswort


Es muss nicht immer alles kompliziert und zeitaufwendig sein. Mit Docker und Docker Compose lassen sich komplette Umgebungen innert Minuten einrichten. Diese Umgebung lässt sich natürlich beliebig weiter ausbauen. So könnte man beispielsweise weitere Plugins innerhalb Telegraf konfigurierten, um zusätzliche Metrics zu sammeln. Zudem könnte man Promtail zur Umgebung hinzufügen, um Windows Logfiles an Loki zu senden. Den Möglichkeiten sind keine Grenzen gesetzt.

Ressourcen


Titelbild: Unsplash   

Tesla API Daten in Grafana

Es kommt bei mir nicht selten vor, dass Fancy Visualisierungen von Daten ein “Wow” auslösen. Ein Stück dieses Wow-Effektes will ich dir heute zeigen. In diesem Beitrag zeige ich…


0 5 Minuten

Blog Monitoring – worldPing und Grafana

Ein Blog ist schön und gut, doch was wenn der Blogger nicht bemerkt, dass sein Blog seit Tagen nicht mehr läuft. Die Hintergründe des Ausfalles interessieren den Blog Leser wenig.…


0 4 Minuten

Cloudflare Argo & Access – Kein VPN und Port Forwarding

Jahrelang habe ich die Applikationen in meinem Heimnetzwerk, via VPN oder Port Forwarding für die Aussenwelt erreichbar gemacht. Einmal war VPN die bevorzugte Lösung, das nächste…


0 7 Minuten