7.1 Ü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 Endpunkt 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:

  1. Erstellen Sie eine Docker Compose-Datei (.yml), die Grafana- und Prometheus-Images enthält.

  2. Verknüpfen Sie Prometheus mit dem Prometheus-Endpunkt des Sitzungsservers.

  3. Konfigurieren Sie die Grafana-Datenquelle zur Kommunikation mit Prometheus und importieren Sie die vorkonfigurierten Dashboards.

  4. Konfigurieren Sie die Grafana-Dashboards.

  5. Greifen Sie auf Grafana zu.

Schritt 1. Docker Compose-Datei erstellen

Erstellen Sie die Datei docker-compose.yml file mit Grafana- und Prometheus-Images.

docker-compose.yml

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-Endpunkt von Host Access for the Cloud verknüpfen

Um Prometheus mit dem Endpunkt 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-Endpunkt 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.

config/prometheus.yml

scrape_configs:
	- job_name: ' HA Cloud Session Server with TLS'
	  scrape_interval: 15s
	  scheme: https
	  tls_config:
		insecure_skip_verify: true
	metrics_path: actuator/prometheus
	static_configs:
		- targets: ['Sitzungsserver-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.

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

grafana/config.ini

[paths]
provisioning = /etc/grafana/provisioning

grafana/provisioning/datasources/all.yml

datasources:
- name: 'Prometheus'
  type: 'prometheus'
  access: 'browser'
  url: 'http://localhost:9090'
  is_default: true
  editable: false

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 Verzeichnis hacloud/utilities/grafana.

  • Kopieren Sie HACloudSessionservers.json in Ihr Verzeichnis grafana/dashboards.

5. Schritt. 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 .