Seitenhierarchie
Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Seit openITCOCKPIT 3.6

Mit openITCOCKPIT 3.6 werden alle Performancedaten in Whisper (Carbon) geschrieben.

Dies hilft die Disk IO zu reduzieren und löst einige Probleme, die bereits bei der Verwendung des RRDTool aufkamen.

Docker Container

Das neue Graphing Backend von openITCOCKPIT läuft in unterschiedlichen Docker Containern. Wir nutzen Docker Compose um diese gemeinsam zu Verwalten.

Alle Container können über systemd kontrolliert werden:

Start Graphing Backend
systemctl start openitcockpit-graphing.service
Stop Graphing Backend
systemctl stop openitcockpit-graphing.service
Graphing Backend Status
systemctl status openitcockpit-graphing.service


Sie können auch die Docker-CLI verwenden, um den Status der Container abzufragen:

Graphing Backend Status
docker container ps

Logfile

cd /usr/share/openitcockpit/docker/container/graphing
docker-compose logs -f


docker-compose.yml Datei

Die Datei docker-compose.yml befindet sich im Ordner /usr/share/openitcockpit/docker/container/graphing/

Die docker-compose Datei nicht manuell editieren! Diese wird automatisch von openITCOCKPIT generiert.


Carbon-C-Relay

Das Carbon-C-Relay ist ein Lastverteiler(Load Balancer) vor mehreren Carbon-Cache Instanzen.

Der Standard LINE_RECEIVER_PORT (Klartextprotokoll basierend auf TCP) ist 2003 und wird auf 127.0.0.1:2003 gesetzt.

Der Port kann über die openITCOCKPIT Weboberfläche angepasst werden.

Die Konfigurationsdatei wird automatisch erstellt: /etc/openitcockpit/carbon/carbon-c-relay.conf


Carbon-Cache Instanzen

Diese sind dafür verantwortlich, dass Daten in Whisper Dateien geschrieben und daraus gelesen werden kann.

Der Standard Whisper Pfad auf dem openITCOCKPIT Server ist: /var/lib/graphite/whisper

Die Konfigurationsdatei wird automatisch erstellt: /etc/openitcockpit/carbon/carbon.conf


Graphite-Web

Graphite-Web bietet eine HTTP-JSON-API für den einfachen Zugriff auf die in Whisper-Dateien gespeicherten Daten und sendet Anfragen an die Carbon-Cache Instanzen.

Die Konfigurationsdatei wird automatisch erstellt: /etc/openitcockpit/carbon/local_settings.py


Grafana

Grafana ist ein leistungsstarkes und einfach zu bedienendes Werkzeug zum Erstellen von Diagramm-Dashboards. Es wird von openITCOCKPIT im Hintergrund über die API verwendet.


Grafana selbst kann über folgende Adresse erreicht werden: https://<openITCOCKPIT-Adresse>/grafana/

Die Konfigurationsdatei wird automatisch erstellt: /etc/openitcockpit/grafana/grafana.ini

Der Benutzername für die Grafana Oberfläche ist "admin".

Während der Installation wird ein zufälliges Passwort generiert und hier gespeichert: /etc/openitcockpit/grafana/admin_password

Der API-Key der von openITCOCKPIT genutzt wird, ist hier gespeichert: /etc/openitcockpit/grafana/api_key


Speicherpfad der Whisper-Dateien

Standardmäßig werden alle Whisper Dateien im Ordner /var/lib/graphite/whisper gespeichert.

Das dabei verwendete Speicherschema ist: /var/lib/graphite/whisper/<prefix>/<$HOSTNAME$>/<$SERVICEDESC$>/<$METRIC$>.wsp


Das Debugging-Tool openITCOCKPIT kann verwendet werden, um UUIDs durch Host- und Servicenamen zu ersetzen.

ls -la /var/lib/graphite/whisper/openitcockpit/ | oitc debug -s

Konfiguration ändern

Falls nötig, kann die Konfiguration des Graphing Backend über die openITCOCKPIT Weboberfläche angepasst werden.

Navigieren Sie zu Configuration → Config file editor und wählen Sie die docker-compose.yml des Graphing Backends aus.

Im nächsten Schritt können Sie alle wichtigen Einstellungen des Graphing Backend wie Speicherpfad, Anzahl der Carbon-Cache-Instanzen usw. anpassen.

Gesamtübersicht


Verwenden Sie den mitgelieferten Graphite- und Grafana-Server (empfohlen und Standard)

openITCOCKPIT wird wie bereits beschrieben mit mehreren Docker Containern ausgeliefert.

Standardmäßig verwendet openITCOCKPIT die gelieferten Docker Container zum Speichern von Performancedaten.


In diesem Abschnitt werden in der Dokumentation die Standardwerte für diese Konfiguration beschrieben.


Speichern Sie die Performancedaten im mitgelieferten Graphite

Navigieren Sie zu Configuration → Config file editor und wählen Sie die Konfigurationsdatei Statusengine.php aus.

KonfigurationsschlüsselStandardwertBeschreibung
graphite_port2003Carbon Cache Server Adresse (Verwendeter LINE_RECEIVER_PORT des Carbon-C-Relais)
graphite_address127.0.0.1

Carbon Cache Server Adresse (Verwendete Adresse des Carbon-C-Relais)

graphite_prefixopenitcockpitPräfix für jede in Carbon gespeicherte Metrik (Metrik: <Präfix>.<$HOSTNAME$>.<$SERVICEDESC$>.<$METRIC$>)


Leistungsdaten aus ausgeliefertem Graphite lesen (openITCOCKPIT selbst)

Navigieren Sie zu Configuration → Config file editor und wählen Sie die Konfigurationsdatei graphite.php aus.

KonfigurationsschlüsselStandardwertBeschreibung
graphite_web_host127.0.0.1Adresse des Graphite-Webservers, den openITCOCKPIT zum Abfragen von Daten aus Whisper-Dateien verwendet
graphite_prefixopenitcockpitPräfix für jede in Carbon gespeicherte Metrik (Metrik: <Präfix>.<$HOSTNAME$>.<$SERVICEDESC$>.<$METRIC$>)
graphite_web_port8888Port des Graphite-Webservers
use_httpsNoWenn HTTPS zum Verbindungsaufbau verwendet werden soll. Nicht erforderlich für eine lokal ausgeführte Graphite-Web-Instanz
use_proxyNoVerwende den angegebenen Proxyserver unter Configuration → Proxy Settings. Nicht erforderlich für eine lokal ausgeführte Graphite-Web-Instanz


Öffnen Sie im nächsten Schritt die Konfigurationsdatei perfdatabackend.php und stellen Sie sicher, dass das ausgewählte Backend "Whisper" ist.



Konfigurieren Sie das mitgelieferte Grafana für die Verwendung des mitgelieferten Graphite

Navigieren Sie zu Configuration → Grafana

KonfigurationsschlüsselStandardwertBeschreibung
Grafana URLgrafana.dockerDie Adresse des Grafana-Servers. grafana.docker wird automatisch mit dem lokal ausgelieferten Grafana abgeglichen
Grafana API KeyRandom generatedGespeichert in der Datei /etc/openitcockpit/grafana/api_key. Bitte verwenden Sie den Wert aus dieser Datei
Grafana PrefixopenitcockpitPräfix für jede in Carbon gespeicherte Metrik (Metrik: <Präfix>.<$HOSTNAME$>.<$SERVICEDESC$>.<$METRIC$>)
Use HTTPSYesWenn HTTPS zum Verbindungsaufbau verwendet werden soll
Use ProxyNoVerwende den angegebenen Proxyserver unter Configuration → Proxy Settings
Ignore SSL CertificateYesAuch selbst signierten Zertifikaten vertrauen
Dashboard StylelightVerwende den hellen oder dunklen Stil von Grafana
HostgroupsemptyWenn dieser Wert festgelegt ist, werden Grafana-Dashboards für alle Hosts in der angegebenen Hostgruppe generiert. (Wenn leer, erhalten alle Hosts ein generiertes Dashboard.)
Hostgroups (excluded)emptyGeneriere keine Grafana-Dashboards für Hosts in bestimmten Hostgruppen.


Externen Graphite und Grafana Server verwenden (Nur für Experten)

Um die Systemlast auf mehrere Knoten aufzuteilen, können Sie externe Systeme zum Speichern der Performancedaten verwenden.


Speichern der Leistungsdaten in externem Graphite

Navigieren Sie zu Configuration → Config file editor und wählen Sie die Konfigurationsdatei Statusengine.php aus.

KonfigurationsschlüsselStandardwertBeschreibung
graphite_port20032003 ist der Standard LINE_RECEIVER_PORT von Graphite
graphite_addressxxx.xxx.xxx.xxx

Hostname oder IP-Adresse des externen Graphite Servers, der genutzt werden soll

graphite_prefixopenitcockpitPräfix für jede in Carbon gespeicherte Metrik (Metrik: <Präfix>.<$HOSTNAME$>.<$SERVICEDESC$>.<$METRIC$>)


Lese externe Performancedaten (openITCOCKPIT selbst)

Navigieren Sie zu Configuration → Config file editor und wählen Sie die Konfigurationsdatei graphite.php aus.

KonfigurationsschlüsselStandardwertBeschreibung
graphite_web_hostxxx.xxx.xxx.xxxHostname oder IP-Adresse des externen Graphite Servers
graphite_prefixopenitcockpitPräfix für jede in Carbon gespeicherte Metrik (Metrik: <Präfix>.<$HOSTNAME$>.<$SERVICEDESC$>.<$METRIC$>)
graphite_web_port80Port des externen Graphite-Web Servers
use_httpsYes/NoWenn HTTPS zum Verbindungsaufbau verwendet werden soll
use_proxyYes/NoNutze den angegebenen Proxy Server aus Configuration → Proxy Settings


Öffne als nächstes die Konfigurationsdatei perfdatabackend.php und stelle sicher, dass das ausgewählte Backend "Whisper" ist



Konfiguriere ein externes Grafana zur Nutzung eines externen Graphite

Navigieren Sie zu Configuration → Grafana

KonfigurationsschlüsselStandardwertBeschreibung
Grafana URLxxx.xxx.xxx.xxxDie Adresse des externen Grafana Servers
Grafana API Key

Sie müssen einen Grafana-API-Key mit "Editor" - Berechtigungen erstellen


Grafana Prefixopenitcockpit

Präfix für jede in Carbon gespeicherte Metrik (Metrik: <Präfix>.<$HOSTNAME$>.<$SERVICEDESC$>.<$METRIC$>)

Use HTTPSYes/NoWenn HTTPS zum Verbindungsaufbau verwendet werden soll
Use ProxyYes/NoNutze den angegebenen Proxy Server aus Configuration → Proxy Settings.
Ignore SSL CertificateYes/NoVertraue auch selbstsignierten Zertifikaten
Dashboard Stylelight/darkVerwende den hellen oder dunklen Stil von Grafana
HostgroupsemptyWenn dieser Wert gesetzt ist, werden Grafana-Dashboards für alle Hosts in der angegebenen Hostgruppe generiert. (Wenn leer, erhalten alle Hosts ein generiertes Dashboard.)
Hostgroups (excluded)emptyGeneriere keine Grafana-Dashboards für Hosts in bestimmten Hostgruppen.


Migration von RRDTool zu Whisper

Ab openITCOCKPIT Version 3.6 werden alle Performancedaten (Graphen) in Whisper (Carbon) gespeichert. Bei dem Update von älteren openITCOCKPIT Versionen auf

openITCOCKPIT 3.6 (oder neuer) wird keine automatische Migration der Performancedaten von RRDTool zu Whisper durchgeführt. openITCOCKPIT zeigt deshalb nach dem Update leere Graphen an und beginnt eine neue Aufzeichnung von Performancedaten.

Um die Migration so einfach wie möglich zu gestalten, stellen wir ein eigenes Tool zur Verfügung: rrd2whisper.


Download und Installation von rrd2whisper

Für jede unterstüzte Distribution steht ein eigenes rrd2whisper Paket auf der Download-Seite bereit. Der Download für die passende Linux-Distribution kann mit folgenden Befehlen durchgeführt werden.

Internetverbindung erforderlich

Für die Installation von rrd2whisper ist eine Internetverbindung erforderlich. Sollten Sie für die Internetverbindung einen Proxy-Server benötigen, muss dieser zuerst konfiguriert werden.

cd /tmp

wget https://github.com/it-novum/rrd2whisper/releases/download/1.0/rrd2whisper_$(lsb_release -c -s)_1.0.tar.gz
tar xfv rrd2whisper_$(lsb_release -c -s)_1.0.tar.gz

cp -r rrd2whisper /opt/

rrd2whisper ist nun im Dateipfad /opt/rrd2whisper verfügbar und installiert.

Durchführung der Migration

Bei der Migration werden alle .rrd-Dateien aus dem Ordner /opt/openitc/nagios/share/perfdata eingelesen und zu .wsp-Dateien unter /var/lib/graphite/whisper konvertiert.

Bitte prüfen Sie vorab ob unter den genannten Orten genügend Speicherplatz zur Verfügung steht. In der Regel benötigt Whisper nur die Hälfte des Speicherplatzes, den RRDTool benötigt hat.


Test der Migration

Bevor die Migration für alle Dateien gestartet wird, sollte die Funktionalität zuerst an einem Service exemplarisch überprüft werden.

Test der Migration
/opt/rrd2whisper/bin/console rrdfinder --graphite-host=127.0.0.1 --limit=1 | tee /var/log/rrd2whisper.log

Durch den Parameter --limit=1 wird nur eine .rrd-Datei verarbeitet. Sie sollten eine ähnliche Ausgabe, wie im Beispiel gezeigt, auf Ihrer Konsole sehen:


Im gezeigten Beispiel wurden die Performancedaten des Service mit der UUID b123beaf-0575-4ec4-b353-328df2fba0e3 migriert. Suchen Sie nun über die openITCOCKPIT Oberfläche nach der Service UUID und prüfen Sie, ob die

Performancedaten erfolgreich übertragen wurden.



Durchführung der Migration

Nach erfolgreichem Test, kann die Migration aller Performancedaten gestartet werden.

Abhängig von der Anzahl der zu migrierenden Performancedaten, kann die Migration mehrere Stunden dauern. Das Monitoring und neue Performancedaten werden von der Migration nicht beeinträchtigt.

Migration mit Standardparameter
/opt/rrd2whisper/bin/console rrdfinder --graphite-host=127.0.0.1 | tee /var/log/rrd2whisper.log

Alle Ausgaben werden in die Datei /var/log/rrd2whisper.log gespeichert.



Um die Migration zu beschleunigen kann bei Systemen mit mehr als 32GB RAM die Option --high-mem aktiviert werden. Über die Option --delete-rrd-files werden migrierte .rrd-Dateien automatisch gelöscht.

Achtung

Das Setzen der Option --delete-rrd-files kann bei Fehlern zu Datenverlust führen!

Migration mit --high-mem und --delete-rrd-files
/opt/rrd2whisper/bin/console rrdfinder --graphite-host=127.0.0.1 --high-mem --delete-rrd-files | tee /var/log/rrd2whisper.log


Weitere Optionen können über die Hilfe angezeigt werden.

/opt/rrd2whisper/bin/console rrdfinder --help

Fehlerfall

Sollte der Prozess der Migration abstürzen, oder ein anderer unerwarteter Fehler auftreten, kann die Migration einfach erneut gestartet werden. Für jede erfolgreich migierte .rrd-Datei wird eine .ok-Datei erstellt. So werden keine Daten doppelt verarbeitet.

[16:02]root@graphing/tmp# ls /opt/openitc/nagios/share/perfdata/abfb63a8-5187-46bf-a6f1-5120fcac66b6/*
/opt/openitc/nagios/share/perfdata/abfb63a8-5187-46bf-a6f1-5120fcac66b6/279b7b4a-4812-4bc5-a251-cec81e11a705.ok
/opt/openitc/nagios/share/perfdata/abfb63a8-5187-46bf-a6f1-5120fcac66b6/279b7b4a-4812-4bc5-a251-cec81e11a705.rrd
/opt/openitc/nagios/share/perfdata/abfb63a8-5187-46bf-a6f1-5120fcac66b6/279b7b4a-4812-4bc5-a251-cec81e11a705.xml
/opt/openitc/nagios/share/perfdata/abfb63a8-5187-46bf-a6f1-5120fcac66b6/27e67fe9-16fd-4ce2-90d1-442e1e7a1164.ok
/opt/openitc/nagios/share/perfdata/abfb63a8-5187-46bf-a6f1-5120fcac66b6/27e67fe9-16fd-4ce2-90d1-442e1e7a1164.rrd
/opt/openitc/nagios/share/perfdata/abfb63a8-5187-46bf-a6f1-5120fcac66b6/27e67fe9-16fd-4ce2-90d1-442e1e7a1164.xml
/opt/openitc/nagios/share/perfdata/abfb63a8-5187-46bf-a6f1-5120fcac66b6/30a267ae-05a4-432a-9066-15d14eb6a6e8.ok
/opt/openitc/nagios/share/perfdata/abfb63a8-5187-46bf-a6f1-5120fcac66b6/30a267ae-05a4-432a-9066-15d14eb6a6e8.rrd
/opt/openitc/nagios/share/perfdata/abfb63a8-5187-46bf-a6f1-5120fcac66b6/30a267ae-05a4-432a-9066-15d14eb6a6e8.xml



openITCOCKPIT versions <= 3.5.x

Bis zur Version 3.5 von openITCOCKPIT wurden die Performancedaten mit RRDTool gespeichert.

Die .rrd-Dateien sind unter /opt/openitc/nagios/share/perfdata/$HOSTNAME$/$SERVICEDESC$.rrd gespeichert.

Die Performancedaten werden dabei von Statusengine 2.x verarbeitet. Es ist keine weitere Konfiguration in der nagios.cfg erforderlich.



  • Keine Stichwörter