Jitsi Meet Grafana Statistiken (Docker)

In der vorherhigen Anleitung habe ich gezeigt wie man Jitsi Meet mittels weiterer JVB skalieren kann, genauso wurde teamjoin.de aufgesetzt.

Tutorial: Jitsi Meet Docker Instanz anpassen
Tutorial: Eigene Jitsi Meet Instanz installieren (Docker / Ubuntu / Nginx)
Tutorial: Eine zweite JVB zu Jitsi Meet hinzufügen (Docker)
Was ist Jitsi Meet?: Videokonferenzen mit Jitsi Meet
Meeting starten: https://teamjoin.de

** Neue Variante / 22.05.2020 **

Nun möchte ich euch zeigen wie ihr Grafana Statistiken wie diese stats.adminforge.de bekommt. Ein zweites Grafana Dashboard wird uns Statistiken über die Hostsystem und Docker Auslastung anzeigen.

Vorteile:

  • Übersicht der Jitsi Meet Auslastung
  • Statistiken über Docker und dem System selbst

Was wird benötigt?

  • Docker
  • Docker-Compose
  • Eine laufenden Docker Jitsi Meet Instanz nach: Anleitung 1 und Anleitung 2
  • Ein Docker Overlay Netzwerk nach Anleitung
  • Offener Firewall Port 3000/tcp für Grafana

Punkt 1: Docker Grafana Stack einrichten

Um Jitsi Meet Statistiken zur erhalten, benötigen wir einen Exporter. Ich habe mich für karrieretutor/jitsi-prom-exporter entschieden (neues Image: goberle/jitsi-prom-exporter), da dieser alle benötigten Metriken sammelt und auch mit mehreren JVB’s funktioniert.

Erklärung der einzelnen Services:

  • prometheus: sammelt Metriken bei den Exportern ein
  • jitsi-exporter: liefert Jitsi Meet Metriken
  • node-exporter: liefert System Metriken
  • cadvisor: liefert Docker Metriken
  • grafana: holt Metriken von Prometheus und stellt diese grafisch ansprechend dar

Wir erstellen den Grafana Docker Ordner und wechseln in diesen.

Nun erstellen wir docker-compose.yml mit diesem Inhalt.
WICHTIG: Achtet bitte genau auf das Format, die Einrückungen müssen stimmen!
NETZWERK: Wenn ihr nicht diese Anleitung befolgt habt, tauscht das externe Netzwerk name: jitsi-meet gegen name: jitsi-meet_meet.jitsi in der letzten Zeile aus!

OPTIONAL: Auf jeder weiteren JVB Node reicht es aus die Services node-exporter und cadvisor unter anderen Namen zu starten.

Eine prometheus.yml die unsere Exporter abfragt erstellen wir ebenfalls in diesem Ordner.

OPTIONAL: Weitere JVBs bei den Jobs node-exporter und cadvisor hinzufügen.

 

Wir erstellen die Datei.env mit folgendem Inhalt. Erstellt euch ein random Passwort <password> mit < /dev/urandom tr -dc A-Za-z0-9 | head -c16; echo.

Nun erstellen wir noch einen XMPP Benutzer mit dem <password> aus der .env Datei.

Der Grafana Stack kann nun gestartet werden.

Punkt 2: Restart Script anpassen

WICHTIG: Jitsi Meet Docker speichert den XMPP Benutzer nicht persistent ab!

Wir fügen die gelb markierten Zeilen im restart.sh Script aus der Anleitung hinzu. Denkt bitte daran das <password> auszutauschen.

Punkt 3: Grafana login

Grafana ist nun unter http://<ip-address>:3000/ erreichbar. Meldet euch mit dem Benutzer admin und Passwort admin an, ihr werdet aufgewordert ein neues Passwort zu vergeben.

Grafana Login Seite

Punkt 4: Grafana Data Source hinzufügen

Klickt links im Menü auf das Zahnrad > Data Sources, dort dann auf Add data source.

Wählt Prometheus aus.

Füllt folgende Felder aus, achtet auf die kleine Schreibweise:

Name: prometheus
URL: http://prometheus:9090

Speichern mit Save & Test.

Punkt 5: Jitsi Meet Grafana Dashboard importieren

Geht mit der Maus im Menü über das Plus (+) Zeichen und klickt auf Import.

Kopiert nun den kompletten JSON Code in das Feld Or paste JSON. Klickt auf Load, dann auf Import.

Punkt 6: Docker und System Dashboard importieren

Geht mit der Maus im Menü über das Plus (+) Zeichen und klickt auf Import.

Kopiert nun den kompletten JSON Code in das Feld Or paste JSON. Klickt auf Load, dann auf Import.