15.2. Monitoring#
Neu in Version 5.0-2: UCS 5.0-2 unterstützt die Überwachung von Alarmen durch Prometheus-Metriken.
Mit Prometheus, Prometheus Node Exporter, und Prometheus Alertmanager können Administratoren die korrekte Funktion von komplexen IT-Strukturen aus Netzwerken, Rechnern und Diensten kontinuierlich und automatisch überprüfen.
Der Prometheus Node Exporter exportiert eine umfassende Sammlung von Metriken in die Prometheus Datenbank. Neben der Abfrage von Systemindikatoren wie CPU, Speichernutzung und freien Speicherplatz, testen sie die Verfügbarkeit und den Betrieb von verschiedenen Diensten wie SSH, SMTP und HTTP. Betriebstests führen im Allgemeinen Programmschritte wie die Zustellung einer Test-E-Mail oder die Auflösung eines DNS-Eintrags durch. Der Prometheus Node Exporter bietet UCS spezifische Alarme zusätzlich zu den bereits enthaltenen Startmetriken, zum Beispiel einen Alarm für die Listener/Notifier-Replikation.
Wenn sich der Betriebszustand ändert, informiert die Überwachung einen vorher festgelegten Ansprechpartner über die mögliche Störung. Zusätzlich zur reaktiven Benachrichtigung im Fehlerfall können Administratoren den aktuellen Status jederzeit kontinuierlich in der Web-Oberfläche Grafana UCS Dashboard , das die Statusinformationen kompakt anzeigt, überprüfen.
Siehe UCS Dashboard Installation für eine Übersicht über alle beteiligten Komponenten.
Administratoren definieren die Alarmkonfiguration in Univention Management Console. Ein Listener Modul generiert automatisch die Konfigurationsdateien aus den Informationen im LDAP-Verzeichnis.
15.2.1. Installation#
Zur Installation der UCS Dashboard Komponenten siehe Installation.
Zusätzlich zu den Komponenten des UCS Dashboards müssen Sie die App Prometheus Alertmanager und den univention-monitoring-client installieren.
Für jedes UCS-System, das der Administrator auf dem Dashboard anzeigen möchte, muss er die App UCS Dashboard Client installieren. Das Paket univention-monitoring-client hängt von UCS Dashboard Client ab und wird standardmäßig auf jedem UCS-System installiert, um die Alarmfunktionalität bereitzustellen.
- Prometheus Alertmanager
Die Prometheus Alertmanager App versendet Benachrichtigungen über ausgelöste Alarme, zum Beispiel per E-Mail. Der Alertmanager benötigt einige Einstellungen, um korrekt zu funktionieren.
Die Einstellungen umfassen die Empfänger der E-Mail-Benachrichtigungen. Außerdem benötigen die App-Einstellungen einen Wert für einen SMTP-Server, um E-Mail-Benachrichtigungen zu senden. Der Alertmanager unterstützt die SMTP-Authentifizierungsmethoden PLAIN
, LOGIN
und CRAM-MD5
sowie die Kommunikation via TLS. Keine Authentifizierung wird verwendet, wenn Sie alle Felder der App-Einstellungen bezüglich Authentifizierung leer lassen.
- univention-monitoring-client
Das Paket univention-monitoring-client stellt Standard Alarm Plugins zur Überprüfung des Systemzustands bereit.
Administratoren können mit den folgenden Paketen Plugins installieren, die über die Standard-Plugins hinausgehen, die mit dem univention-monitoring-client Paket bereitgestellt werden.
univention-monitoring-raid: Überwachung des Software-RAID-Status
univention-monitoring-smart: Prüfung des S.M.A.R.T.-Status von Festplatten
univention-monitoring-opsi: Prüfung der Software OPSI
univention-monitoring-cups: Prüfung des Druckerdienstes CUPS
univention-monitoring-squid: Prüfung des Squid proxy Servers
univention-monitoring-samba: Prüfung des Samba 4 Dienstes
univention-monitoring-s4-connector: Prüfung des S4-Connector
univention-monitoring-ad-connector: Prüfung des AD Connectors
Einige Dienste richten ihr jeweiliges Paket zur Überwachung bereits bei der Installation ein. Wenn Administratoren zum Beispiel den UCS AD Connector einrichten, enthält es automatisch das Plugin für die Überwachung.
15.2.2. Vorkonfigurierte Überwachungstests#
Die Installation richtet automatisch grundlegende Überwachungstests für UCS Systeme ein. Alle Alarme haben die Bezeichnung (Label) severity mit dem Wert critical
oder warning
.
Alarm |
Beschreibung |
---|---|
|
Überwacht den Füllstand der |
|
Testet die Funktion des lokalen DNS-Servers und die Erreichbarkeit des öffentlichen DNS-Servers durch Abfrage des Rechnernamens |
|
Überwacht den auf Directory Nodes laufenden LDAP-Server. |
|
Überwacht die Systemlast. |
|
Fragt auf dem überwachten UCS-System die Uhrzeit beim NTP-Dienst ab. Tritt eine Abweichung von mehr als |
|
Testet, ob der SMTP-Server erreichbar ist. Der Alarm wird ausgelöst, wenn er nicht erreichbar ist. |
|
Testet die verbleibende Gültigkeitsdauer der UCS-SSL-Zertifikate. Dieses Plugin ist nur für Primary Directory Node und Backup Directory Nodes geeignet. |
|
Überwacht die Auslastung der Swap-Partition. Unterschreitet der verbleibende freie Platz den Schwellwert (in der Standardeinstellung 40% oder 20%), wird der Fehlerzustand gesetzt. |
|
Überwacht den Status der LDAP-Replikation, erkennt das Vorhandensein einer |
|
Testet die Verfügbarkeit des Name Server Cache Dienstes (NSCD). Läuft kein NSCD-Prozess wird ein critical Alarm ausgelöst, läuft mehr als ein Prozess, wird ein warning Alarm ausgelöst. |
|
Testet die Verfügbarkeit des Winbind-Dienstes. Läuft kein Prozess, wird ein critical Alarm ausgelöst. |
|
Testet die Verfügbarkeit des Samba-Dienstes. Läuft kein Prozess, wird ein Alarm ausgelöst. |
|
Testet die Verfügbarkeit des NMBD-Dienstes, der in Samba für den NetBIOS-Dienst zuständig ist. Läuft kein Prozess, wird ein Alarm ausgelöst. |
|
Prüft den Join-Status eines Systems. Ist ein System noch nicht Mitglied der Domäne, wird ein critical Alarm ausgelöst, sind nicht-aufgerufene Join-Skripte vorhanden, wird ein warning Alarm ausgelöst. |
|
Prüft die Verfügbarkeit des Kerberos-Passwort-Dienstes (nur verfügbar auf Primary/Backup Directory Node). Läuft weniger oder mehr als ein Prozess, wird ein Alarm ausgelöst. |
|
Überwacht den Status der installierten Debian-Pakete. Wenn ein Paket den Status half-installed hat, wird ein Alarm ausgelöst. |
|
Überwacht den Anteil der freien Speicherseiten des mdb Backends von SLAPD für mehrere Verzeichnisse. |
|
Überwacht den Anteil der freien Speicherseiten des mdb Backends von SLAPD für mehrere Verzeichnisse. |
Die folgenden Alarme sind nur verfügbar, sobald zusätzliche Pakete installiert wurden (siehe Monitoring installation)
Alarm |
Beschreibung |
---|---|
|
Überwacht den OPSI-Daemon. Läuft kein OPSI-Prozess oder die OPSI-Weboberfläche ist nicht erreichbar, wird ein Alarm zurückgegeben. |
|
Prüft den S.M.A.R.T.-Status der Festplatte |
|
Prüft den Status des Software-RAIDs über |
|
Prüft den Status des Active Directory Connectors:
Das Plugin kann auch in Multi-Connector-Instanzen verwendet werden. |
|
Überwacht den CUPS-Druckdienst. Läuft der cupsd-Prozess nicht oder ist die Weboberfläche nicht erreichbar, wird ein critical Alarm ausgelöst. |
|
Überwacht den Proxy Squid. Läuft kein Squid-Prozess oder der Squid-Proxy ist nicht erreichbar, wird ein Alarm zurückgegeben. |
|
Überwacht den Status der vorhandenen RAID Geräte. Der warning Alarm wird im Falle folgender RAID Status ausgelöst:
Der critical Alarm wird für folgende RAID Status ausgelöst:
|
|
Überwacht den Status des Samba 4 Servers. Ein warning Alarm wird ausgelöst, wenn der Samba 4 erreichbar ist, aber keine Ablehnungen (rejects) vorhanden sind. Ein critical Alarm wird ausgelöst, wenn der Server nicht erreichbar ist. |
|
Überwacht den Status der Samba-Replikation. Der Alarm wird ausgelöst, wenn ein Fehler der Replikation vorliegt. |
15.2.3. Konfiguration#
Univention Management Console bietet die folgenden Einstellungen:
Administratoren müssen den Alarm konfigurieren (siehe Monitoring installation) und festlegen, auf welchen Computern der Domäne ein Alarm aktiv sein soll (siehe Zuweisung von Alarmen an Computer).
Um die Kontaktperson zu konfigurieren, die der Alertmanager im Falle von Fehlern und Alarmen benachrichtigt, muss die entsprechende Einstellung in der Prometheus Alertmanager App gesetzt werden (siehe Monitoring installation).
Administratoren können Alarme für eine bestimmte Zeit stumm schalten. Siehe die Prometheus Alertmanager Dokumentation. Benutzen Sie das Prometheus Alertmanager Webinterface für diese Einstellungen.
Die Grundeinstellungen definieren bereits eine Vielzahl von Tests für jeden Computer, z.B. eine Grundkonfiguration der Alarme, ohne dass weitere Anpassungen vorgenommen werden müssen.
15.2.3.1. Konfiguration der Alarme#
Ein Alert definiert die Überwachung eines Dienstes oder eines Zustandes, zum Beispiel freier Festplattenspeicher. Administratoren können eine beliebige Anzahl von Computern einem solchen Alert-Objekt zuordnen.
Administratoren verwalten Alarme im UMC-Modul Monitoring mit dem Objekttyp Alert, siehe Modul Rechnerverwaltung - Reiter Dienste. Prometheus hat keine LDAP-Schnittstelle für die Überwachungskonfiguration. Stattdessen generiert ein Listener-Modul die Konfigurationsdateien, wenn Administratoren Alarme hinzufügen, bearbeiten oder entfernen.
Attribut |
Beschreibung |
---|---|
|
Eine eindeutige Bezeichnung für den Alarm. |
|
Legt die Gruppe fest, die den Alarm enthält. Mehrere Alarme können derselben Gruppe angehören. |
|
Prometheus Abfrage, die den Alarm auslöst. Der Alarm wird ausgelöst, wenn die angegebene Abfrage einen nicht leeren Vektor zurück gibt. Für Details zur Syntax, siehe die Prometheus documentation. |
|
Definiert die Zeit, in der das Ergebnis des Abfrageausdrucks nicht leer sein muss, bis der Alarm ausgelöst wird. |
|
Der Titel des Alarms, der im Dashboard und in den E-Mail-Benachrichtigungen für Alarme angezeigt wird. |
|
Die Beschreibung des Alarms, die im Dashboard und in den E-Mail-Benachrichtigungen für Alarme angezeigt wird. |
|
Prometheus fügt den Alarmen Bezeichnungen (Labels) hinzu. Bezeichnungen helfen bei der Abfrage von Alarmen. Zum Beispiel: severity mit dem Wert |
|
Abfrageausdrücke, Beschreibungen und Zusammenfassungen können variable Werte verwenden. Zum Beispiel: Referenziere |
Attribut |
Beschreibung |
---|---|
|
Prometheus führt die Abfrage auf den hier referenzierten Rechnern aus. Das Listener Modul führt die Tests für den Alert aus. Es ersetzt den Begriff |
15.2.3.2. Zuweisung von Alarmen an Computer#
Prometheus kann alle Computer überwachen, die mit Univention Management Console verwaltet werden.
Navigieren Sie in Univention Management Console zu Computers und wählen Sie den Computer aus, auf dem Sie Alarme aktivieren möchten. Wählen und fügen Sie die gewünschten Alarme im Reiter Erweiterte Einstellungen unter Warnmeldungen aus und speichern Sie Ihre Änderungen.
Attribut |
Beschreibung |
---|---|
|
Listet alle zugewiesenen Alarme für den aktuellen Computer auf. Fügen Sie hier Alarme hinzu oder entfernen Sie sie. |
15.2.3.3. Neue Alarme erstellen#
In diesem Abschnitt wird beschrieben, wie Sie ein benutzerdefiniertes Skript hinzufügen, um neue Metriken zu sammeln und Alarme zu erstellen.
Als Administrator können Sie die vorkonfigurierten Alarme, die mit UCS geliefert werden, durch zusätzliche Alarme ergänzen. Ein Alarmprüfung Skript exportiert Metriken über den Rechner, auf dem es läuft, an Prometheus. Eine PromQL-Abfrage auf Metriken definiert einen Alarm in Prometheus. Für weitere Informationen darüber, wie man eigene benutzerdefinierte Checks schreibt, siehe Querying basis.
Kopieren Sie das benutzerdefinierte Alarmprüfung Skript in das Verzeichnis /usr/share/univention-monitoring-client/scripts/
auf dem UCS-System, das die benutzerdefinierten Metriken exportieren soll. Ändern Sie den Dateimodus auf ausführbar mit chmod a+x PLUGIN.
Alle von UCS gelieferten Alert Checks verwenden Python. Benutzerdefinierte Prüfungen können Perl, Python oder Shell verwenden und benötigen keine externen Bibliotheken oder Programme. Alle UCS-Systeme stellen immer die benötigten Interpreter zur Verfügung.
Verwendet die benutzerdefinierte Alarmprüfung dagegen externe Programme oder Bibliotheken, müssen Sie diese auf allen UCS-Systemen installieren, die die benutzerdefinierte Prüfung verwenden sollen.
Das Skript für die Alarmprüfung exportiert eine oder mehrere Metriken, indem es sie in eine Textdatei schreibt. Es muss gültige Prometheus Metriken in eine .prom
Datei im /var/lib/prometheus/node-exporter/
Verzeichnis schreiben. Prometheus importiert diese Datei.
Sie müssen den benutzerdefinierten Alarm in Univention Management Console konfigurieren, siehe Konfiguration der Alarme. Sie müssen einen Prometheus Ausdruck für die Metrik des Skripts in das Feld Query expression eingeben. Um den benutzerdefinierten Alert zu UCS-Systemen zuzuordnen, siehe Zuweisung von Alarmen an Computer.
Siehe auch
- Prometheus Namenskonventionen
- Text-basiertes Format einer
.prom
-Datei