Überwachen der Sitzungssserver mit Prometheus und Grafana
Sie können Host Access for the Cloud-Sitzungsserver mit Prometheus und Grafana überwachen. Beide Werkzeuge sind kostenlose Open-Source-Lösungen und können in Docker-Containern ausgeführt werden, was eine einfache Bereitstellung ermöglihcht. Jeder Sitzungsserver stellt einen Prometheus-Endpunkt bereit, der Metriken zum Server präsentiert. Prometheus kann zum Analysieren von Daten von diesem Endgerät und fortwährenden Speichern dieser Daten, auch von mehreren Sitzungsservern, konfiguriert werden. Grafana stellt dann ein Dashboard bereit, mit dem die Daten mit nur wenigen Einrichtungsschritten abgerufen und grafisch dargestellt werden können.
Voraussetzungen:
Docker und Docker Compose müssen installiert sein.
Schritte:
-
Erstellen Sie eine Docker Compose-Datei (.yml), die Grafana- und Prometheus-Images enthält.
-
Verknüpfen Sie Prometheus mit dem Prometheus-Endpunkt des Sitzungsservers.
-
Konfigurieren Sie die Grafana-Datenquelle zur Kommunikation mit Prometheus und importieren Sie die vorkonfigurierten Dashboards.
-
Grafana-Dashboards konfigurieren.
-
Greifen Sie auf Grafana zu.
Schritt 1. Docker Compose-Datei erstellen
Erstellen Sie die Datei docker-compose.yml
mit Grafana- und Prometheus-Images.
version: "3.1"
services:
grafana:
build: grafana
ports:
- '3000:3000'
prometheus:
image: prom/prometheus:v2.6.1
ports:
- '9090:9090'
volumes:
- ./config/prometheus.yml:/etc/prometheus/prometheus.yml
- ./prometheus:/prometheus
networks:
monitoring:
aliases:
- prometheus
networks:
monitoring:
Schritt 2. Prometheus mit dem Prometheus-Endgerät von HACloud verknüpfen
Um Prometheus mit dem Endgerät zu verknüpfen, generieren Sie eine Datei prometheus.yml
.
-
In diesem Beispiel wird die Datei
prometheus.yml
im Konfigurationsverzeichnis gespeichert. -
Diese Beispielkonfiguration ermöglicht das Analysieren von Daten vom Prometheus-Endgerät mit HTTP oder HTTPS (TLS).
-
Falls TLS auf dem Sitzungsserver deaktiviert ist, entfernen Sie tls_config und ändern Sie das Schema in der Beispielkonfiguration zu http.
-
Konfigurieren Sie session-server-hostname (den Hostnamen des Sitzungsservers).
!!! Hinweis Aufgrund des Docker-Networking muss dies die eigentliche IP-Adresse oder der Hostname des Sitzungsserver-Hostcomputers sein. Diese IP-Adresse kann üblicherweise mit ifconfig/ipconfig abgerufen werden.
- Passen Sie die Ports je nach Bedarf an.
Beispiel: config/prometheus.yml
scrape_configs:
- job_name: ' HACloud Session Server with TLS'
scrape_interval: 15s
scheme: https
tls_config:
insecure_skip_verify: true
metrics_path: actuator/prometheus
static_configs:
- targets: ['session-server-hostname:7443']
Schritt 3. Kommunikation zwischen Prometheus und der Datenquelle konfigurieren
Die Kommunikation zwischen der lokalen Instanz von Prometheus und der Grafana-Datenquelle kann im Grafana-Docker-Image konfiguriert werden. Vorab geladene Dashbaords sind beim Starten verfügbar.
Beispiel: grafana/Dockerfile
FROM grafana/grafana:5.3.2
ADD ./provisioning /etc/grafana/provisioning
ADD ./config.ini /etc/grafana/config.ini
ADD ./dashboards /var/lib/grafana/dashboards
[paths]
provisioning = /etc/grafana/provisioning
Beispiel: grafana/provisioning/datasources/all.yml
datasources:
- name: 'Prometheus'
type: 'prometheus'
access: 'browser'
url: 'http://localhost:9090'
is_default: true
editable: false
Beispiel: grafana/provisioning/dashboards/all.yml
- name: 'default'
org_id: 1
folder: ''
type: 'file'
options:
folder: '/var/lib/grafana/dashboards'
Schritt 4. Grafana-Dashboards konfigurieren
Die JSON-Beispieldatei hilft Ihnen beim Einstieg in die Konfiguration Ihrer Grafana-Dashboards.
So sorgen Sie dafür, dass Ihr Docker-Container das Dashboard beim Start lädt:
-
Suchen Sie
HACloudSessionservers.json
im Verzeichnishacloud/utilities/grafana
. -
Kopieren Sie
HACloudSessionservers.json
in Ihr Verzeichnisgrafana/dashboards
.
Schritt 5. Auf Grafana zugreifen
-
Starten Sie den Docker-Container mit dem Befehl docker-compose up -d.
-
Überprüfen Sie mit
http://localhost:9090/targets
, ob die Prometheus-Ziele die Sitzungsserver erfolgreich analysieren. -
Greifen Sie mit
http://localhost:3000
auf Grafana zu. -
Benutzername und Passwort lauten admin. Der Benutzername und das Passwort können in mit Docker-Umgebungsvariablen konfiguriert werden.
-
Stoppen Sie den Docker-Container mit dem Befehl docker-compose down .