8.2. Monitoring#
Das Monitoring in Nubus für UCS erfasst Metriken verwalteter Systeme und vergleicht sie mit vordefinierten Alarmbedingungen. Dies hilft Administratoren, Probleme im Systembetrieb frühzeitig zu erkennen und schnell zu reagieren.
Auf dieser Seite erfahren Sie, wie Sie das Monitoring für Nubus für UCS einrichten und verwalten. Außerdem erfahren Sie, welche Komponenten erforderlich sind, wie Sie Warnmeldungen konfigurieren und zuweisen, welche vorkonfigurierten Prüfungen verfügbar sind und wie Sie benutzerdefinierte Warnmeldungen erstellen.
Informationen zur Installation und Verwendung des UCS Dashboard finden Sie unter UCS Dashboard.
8.2.1. Installation#
Informationen zur Installation der UCS Dashboard-Komponenten finden Sie unter Installation. Installieren Sie zusätzlich zu den UCS Dashboard-Komponenten die App Prometheus Alertmanager auf dem System, das Warnbenachrichtigungen versendet. Informationen zur Installation von Apps über das App Center finden Sie unter Anwendungen installieren.
Installieren Sie die App UCS Dashboard Client auf jedem überwachten System mit Nubus für UCS. Nubus für UCS installiert das Paket univention-monitoring-client standardmäßig für Warnmeldungen. Vergewissern Sie sich, dass das Paket univention-monitoring-client vorhanden ist, bevor Sie fortfahren.
- Prometheus Alertmanager
Die App Prometheus Alertmanager sendet Benachrichtigungen, zum Beispiel per E-Mail, wenn ein Alarm ausgelöst wird. Konfigurieren Sie die App-Einstellungen wie in Abb. 8.4 gezeigt.
Abb. 8.4 Alertmanager-App-Einstellungen für SMTP und E-Mail-Empfänger#
Bevor Sie Alertmanager konfigurieren, stellen Sie sicher, dass ein erreichbarer SMTP-Server verfügbar ist und dass die E-Mailadressen der Empfänger vorliegen. Alertmanager unterstützt die SMTP-Authentifizierungsmethoden
PLAIN,LOGINundCRAM-MD5. Auch Kommunikation über TLS wird unterstützt. Wenn Sie alle Felder für die Authentifizierung leer lassen, verwendet Alertmanager keine SMTP-Authentifizierung. Senden Sie nach dem Speichern der Einstellungen eine Testwarnmeldung, um zu prüfen, ob E-Mail-Benachrichtigungen funktionieren.- univention-monitoring-client
Das Paket univention-monitoring-client stellt Standard-Plugins zur Überwachung des Systemzustands bereit.
Mit den folgenden Paketen können Sie zusätzliche Alarme ergänzen, die über die Standardprüfungen des Pakets univention-monitoring-client hinausgehen. Einige Dienste installieren ihr benötigtes Paket während der Installation. Wenn Sie zum Beispiel die Active Directory Verbindung einrichten, installiert Nubus für UCS auch das entsprechende Monitoring-Plugin.
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 Softwareverteilung OPSI.
univention-monitoring-cups: Prüfung des CUPS-Drucksystems.
univention-monitoring-squid: Prüfung des Squid Proxy-Servers.
univention-monitoring-samba: Prüfung der Samba Dienste.
univention-monitoring-s4-connector: Prüfung des S4 Connector.
univention-monitoring-ad-connector: Prüfung der Active Directory Verbindung.
8.2.2. Konfiguration#
Verwenden Sie die Management UI und Alertmanager, um Warnmeldungen zu konfigurieren und zu verwalten.
Sie verwenden Warnmeldungen zur Überwachung eines Dienstes oder Zustands. Administratoren können damit zum Beispiel den freien Festplattenplatz überwachen. Sie können einem Alert-Objekt beliebig viele Computer zuweisen. Sie verwalten Warnmeldungen im Modul Monitoring der Management UI. Verwenden Sie den Objekttyp Alert, wie in Abb. 8.5 gezeigt. Weitere Informationen finden Sie unter Abschnitt Alarme.
Bemerkung
Prometheus stellt keine LDAP-Schnittstelle für die Monitoring-Konfiguration bereit. Ein Listener-Modul erzeugt die Konfigurationsdateien, wenn Administratoren Warnmeldungen hinzufügen, bearbeiten oder entfernen.
Abb. 8.5 Konfiguration einer Warnmeldung#
8.2.2.1. Reiter Allgemein - Monitoring-Verwaltung#
Dieser Abschnitt beschreibt die Felder auf dem Reiter Allgemein im Verwaltungsmodul Monitoring der Management UI.
- Name
Ein eindeutiger Name für die Warnmeldung.
- Alarmgruppe
Definiert die Gruppe, die die Warnmeldung enthält. Mehrere Warnmeldungen können derselben Gruppe angehören.
- Abfrageausdruck
Definiert den Abfrageausdruck für Prometheus, der die Warnmeldung auslöst. Die Warnmeldung wird ausgelöst, wenn die Abfrage einen nicht leeren Vektor zurückgibt.
Einzelheiten zur Syntax finden Sie in der Prometheus-Dokumentation.
- For-Clause
Definiert, wie lange der Abfrageausdruck ein nicht leeres Ergebnis zurückgeben muss, bevor die Warnmeldung ausgelöst wird.
- Vorlage für die Kurzbeschreibung
Legt den Titel der Warnmeldung fest. Er erscheint auf dem Warn-Dashboard und in E-Mail-Benachrichtigungen für Warnmeldungen.
- Beschreibungsvorlage
Legt die Beschreibung der Warnmeldung fest. Sie erscheint auf dem Warn-Dashboard und in E-Mail-Benachrichtigungen zu Warnmeldungen.
- Labels
Prometheus weist Warnmeldungen Labels zu. Diese Labels helfen Ihnen, Warnmeldungen abzufragen. Sie können zum Beispiel das Label severity mit dem Wert
criticaloderwarningverwenden.- Vorlagenwerte
Abfrageausdrücke, Beschreibungen und Zusammenfassungen können Variablen verwenden. Zum Beispiel verweist
%max%auf den Wertmax.
8.2.2.2. Reiter Rechner - Monitoring-Verwaltung#
Dieser Abschnitt beschreibt die Felder auf Reiter Rechner im Verwaltungsmodul Monitoring der Management UI.
- Zugewiesene Rechner
Prometheus führt die Abfrage auf den hier aufgelisteten Computern aus. Das Listener-Modul führt die Tests für die Warnmeldung aus. Es ersetzt
%instance%im Abfrageausdruck durch einen regulären Ausdruck, der zu den zugewiesenen Rechnern passt.
8.2.2.3. Monitoring-Warnmeldungen Computern zuweisen#
Prometheus kann alle Computer überwachen, die Sie in der Management UI verwalten.
Gehen Sie wie folgt vor, um einem Computer Warnmeldungen zuzuweisen:
Öffnen Sie in der Management UI Rechner Modul und wählen Sie den Computer aus.
Fügen Sie auf dem Reiter Erweiterte Einstellungen unter Warnmeldungen die Monitoring-Warnmeldungen hinzu, die Sie zuweisen möchten, wie in Abb. 8.6 gezeigt.
Speichern Sie Ihre Änderungen.
Prüfen Sie, ob die zugewiesenen Warnmeldungen in der Liste Zugewiesene Monitoring-Warnmeldungen angezeigt werden.
- Zugewiesene Monitoring-Warnmeldungen
Listet die Monitoring-Warnmeldungen auf, die dem aktuellen Computer zugewiesen sind. Sie können hier Warnmeldungen hinzufügen oder entfernen.
Abb. 8.6 Zuweisung von Warnmeldungen zu einem Rechner#
8.2.2.4. Stummschaltungen für Warnmeldungen#
Verwenden Sie die Alertmanager-Weboberfläche, um ausgelöste Alarme vorübergehend zu unterdrücken. Weitere Informationen zu Stummschaltungen finden Sie in der Prometheus Alertmanager-Dokumentation.
8.2.3. Vorkonfigurierte Monitoring-Prüfungen#
Nubus für UCS richtet grundlegende Monitoring-Prüfungen automatisch ein. Alle Warnmeldungen verwenden das Label severity mit dem Wert critical oder warning.
UNIVENTION_DISK_ROOTundUNIVENTION_DISK_ROOT_WARNINGÜberwacht, wie voll die Partition
/ist. Die Warnmeldung wird standardmäßig ausgelöst, wenn der verbleibende freie Speicherplatz unter 25% oder 10% fällt.
UNIVENTION_DNSPrüft den lokalen DNS-Server und kontrolliert, ob der öffentliche DNS-Server den Rechnernamen
www.univention.deauflöst. Wenn die UCS-Domäne keinen DNS-Forwarder hat, schlägt die Anfrage fehl. In diesem Fall können Sie den FQDN des Primary Directory Node verwenden, zum Beispiel indem Sie die UCR-Variablemonitoring/dns/lookup-domainsetzen, um die Namensauflösung zu prüfen.
UNIVENTION_LDAP_AUTHÜberwacht den LDAP-Server auf Directory Nodes in Nubus für UCS.
UNIVENTION_LOADundUNIVENTION_LOAD_WARNINGÜberwacht die Systemlast.
UNIVENTION_NTPundUNIVENTION_NTP_WARNINGFragt die Uhrzeit beim NTP-Dienst auf dem überwachten Nubus für UCS System ab. Wenn die Zeit um mehr als
60oder120Sekunden abweicht, wird die Warnmeldung ausgelöst.
UNIVENTION_SMTPPrüft, ob der SMTP-Server erreichbar ist. Die Warnmeldung wird ausgelöst, wenn der Server nicht erreichbar ist.
UNIVENTION_SSLundUNIVENTION_SSL_WARNINGPrüft, wie lange die TLS-Zertifikate von Nubus für UCS noch gültig sind. Verwenden Sie dieses Plugin nur auf Systemen vom Typ Primary Directory Node und Backup Directory Node.
UNIVENTION_SWAPundUNIVENTION_SWAP_WARNINGÜberwacht die Auslastung der Swap-Partition. Die Warnmeldung wird standardmäßig ausgelöst, wenn der verbleibende freie Speicherplatz unter den Schwellenwert von 40% oder 20% fällt.
UNIVENTION_REPLICATIONundUNIVENTION_REPLICATION_WARNINGÜberwacht die LDAP-Replikation. Die Warnmeldung erkennt eine Datei
failed.ldif, eine ins Stocken geratene Replikation und große Unterschiede zwischen Transaktions-IDs.
UNIVENTION_NSCDundUNIVENTION_NSCD2Prüft die Verfügbarkeit des Name Server Cache Daemon (NSCD). Wenn kein NSCD-Prozess läuft, löst die Prüfung eine Warnmeldung vom Typ critical aus. Wenn mehr als ein Prozess läuft, löst die Prüfung eine Warnmeldung vom Typ warning aus.
Informationen zu NSCD finden Sie unter Name Service Cache Daemon.
UNIVENTION_WINBINDPrüft die Verfügbarkeit des Winbind-Dienstes. Wenn kein Prozess läuft, löst die Prüfung eine Warnmeldung vom Typ critical aus.
UNIVENTION_SMBDPrüft die Verfügbarkeit des Samba-Dienstes. Wenn kein Prozess läuft, löst die Prüfung eine Warnmeldung aus.
UNIVENTION_NMBDPrüft die Verfügbarkeit des NMBD-Dienstes, der den NetBIOS-Dienst in Samba verarbeitet. Wenn kein Prozess läuft, löst die Prüfung eine Warnmeldung aus.
UNIVENTION_JOINSTATUSundUNIVENTION_JOINSTATUS_WARNINGPrüft den Join-Status eines Systems. Wenn das System noch nicht in die Domäne aufgenommen wurde, löst die Prüfung eine Warnmeldung vom Typ
criticalaus. Wurden Join-Skripte nicht ausgeführt, löst die Prüfung eine Warnmeldung vom Typwarningaus.
UNIVENTION_KPASSWDDPrüft die Verfügbarkeit des Kerberos-Passwortdienstes. Verwenden Sie diese Prüfung nur auf Primary Directory Node und Backup Directory Nodes. Wenn nicht genau ein Prozess für den Dienst läuft, löst die Prüfung eine Warnmeldung aus.
UNIVENTION_PACKAGE_STATUSÜberwacht den Status installierter Debian-Pakete. Wenn ein Paket den Status
half-installedhat, löst die Prüfung eine Warnmeldung aus.
UNIVENTION_SLAPD_MDB_MAXSIZEundUNIVENTION_SLAPD_MDB_MAXSIZE_WARNINGÜberwacht, wie viele freie Speicherseiten im mdb-Backend von SLAPD über mehrere Verzeichnisse hinweg verbleiben.
UNIVENTION_LISTENER_MDB_MAXSIZEundUNIVENTION_LISTENER_MDB_MAXSIZE_WARNINGÜberwacht, wie viele freie Speicherseiten im mdb-Backend von SLAPD über die Verzeichnisse hinweg verbleiben, die der Listener verwendet.
Sie können zusätzliche Monitoring-Warnmeldungen verwenden, nachdem Sie die erforderlichen Pakete installiert haben. Einzelheiten zur Installation finden Sie unter Installation.
UNIVENTION_OPSIÜberwacht den OPSI-Daemon. Wenn kein OPSI-Prozess läuft oder der OPSI-Proxy nicht erreichbar ist, wird die Warnmeldung ausgelöst.
UNIVENTION_SMART_SDAPrüft den S.M.A.R.T.-Status der Festplatte
/dev/sda. Entsprechende Warnmeldungen sind für die Festplatten/dev/sdb,/dev/sdcund/dev/sddverfügbar.
UNIVENTION_ADCONNECTORundUNIVENTION_ADCONNECTOR_WARNINGÜberwacht den Status der Active Directory Verbindung:
Wenn kein Connector-Prozess läuft, wird die Warnmeldung ausgelöst.
Wenn pro Connector-Instanz mehr als ein Prozess läuft, löst die Prüfung eine Warnmeldung vom Typ
warningaus.Wenn Rejects auftreten, löst die Prüfung eine Warnmeldung vom Typ
warningaus.Wenn der AD-Server nicht erreichbar ist, wird die Warnmeldung ausgelöst.
Sie können dieses Plugin in Multi-Connector-Instanzen verwenden.
UNIVENTION_CUPSÜberwacht den CUPS-Daemon. Wenn kein cupsd-Prozess läuft oder die Weboberfläche nicht erreichbar ist, löst die Prüfung eine Warnmeldung vom Typ
criticalaus.
UNIVENTION_SQUIDÜberwacht den Squid-Proxy. Wenn kein Squid-Prozess läuft oder der Squid-Proxy nicht erreichbar ist, wird die Warnmeldung ausgelöst.
UNIVENTION_RAIDundUNIVENTION_RAID_WARNINGÜberwacht den Status von RAID-Geräten. Die Prüfung löst für die folgenden RAID-Status eine Warnmeldung vom Typ
warningaus:RebuildingReconstructReplaced DriveExpandingWarningVerify
Die Prüfung löst für die folgenden RAID-Status eine Warnmeldung vom Typ critical aus:
DegradedDeadFailedErrorMissing
UNIVENTION_S4CONNECTORundUNIVENTION_S4CONNECTOR_WARNINGÜberwacht den Samba-Server. Wenn der Server erreichbar ist und Rejects auftreten, löst die Prüfung eine Warnmeldung vom Typ warning aus. Wenn der Server nicht erreichbar ist, löst die Prüfung eine Warnmeldung vom Typ critical aus.
UNIVENTION_SAMBA_REPLICATIONÜberwacht die Samba-Replikation. Die Warnmeldung wird ausgelöst, wenn die Replikation fehlschlägt.
8.2.4. Monitoring mit neuen Warnmeldungen erweitern#
Verwenden Sie benutzerdefinierte Warnprüfungen, um zusätzliche Metriken zu erfassen und dafür Warnmeldungen zu definieren.
Erstellen Sie eine benutzerdefinierte Warnmeldung, wenn Sie zusätzliche Metriken erfassen und in Prometheus überwachen möchten. Bevor Sie beginnen, stellen Sie sicher, dass:
Sie über administrativen Zugriff auf das Zielsystem mit Nubus für UCS verfügen.
Das Zielsystem enthält die erforderlichen Monitoring-Komponenten.
Jedes Zielsystem enthält die externen Programme oder Bibliotheken, die die benutzerdefinierte Prüfung verwendet.
Benutzerdefinierte Warnprüfungen exportieren Metriken vom lokalen System nach Prometheus. Eine PromQL-Abfrage verwendet diese Metriken, um die Warnmeldung zu definieren. Weitere Informationen zum Schreiben benutzerdefinierter Prüfungen finden Sie in der Prometheus-Dokumentation.
Gehen Sie wie folgt vor, um eine benutzerdefinierte Warnmeldung zu erstellen:
Kopieren Sie das Skript für die benutzerdefinierte Warnprüfung auf dem Zielsystem mit Nubus für UCS nach
/usr/share/univention-monitoring-client/scripts/.Ersetzen Sie
PLUGINdurch den Dateinamen Ihres Skripts für die benutzerdefinierte Warnprüfung. Machen Sie das Skript anschließend mit dem Befehl in Listing 8.1 ausführbar.$ chmod a+x PLUGIN
Schreiben Sie gültige Prometheus-Metriken in eine
.prom-Datei in/var/lib/prometheus/node-exporter/.Konfigurieren Sie die benutzerdefinierte Warnmeldung in der Management UI. Einzelheiten finden Sie unter Konfiguration.
Geben Sie den Ausdruck für Prometheus für die Skriptmetrik in das Feld Abfrageausdruck ein.
Weisen Sie die benutzerdefinierte Warnmeldung den erforderlichen Systemen zu. Einzelheiten finden Sie unter Monitoring-Warnmeldungen Computern zuweisen.
Prüfen Sie, ob Prometheus die exportierten Metriken liest. Bestätigen Sie zum Beispiel, dass die Metrik in Prometheus erscheint und dass die Warnmeldung in der Warnmeldungskonfiguration verfügbar ist.
Bemerkung
Alle Warnprüfungen, die Nubus für UCS bereitstellt, verwenden Python. Benutzerdefinierte Prüfungen können Perl, Python oder Shell-Skripte verwenden. Diese Prüfungen benötigen keine externen Bibliotheken oder Programme, sofern das Skript sie nicht verwendet.
Siehe auch
- Benennung von Metriken und Labels
für Informationen zu den Benennungskonventionen in Prometheus.
- Expositionsformate
für Informationen über das textbasierte Format einer
.prom-Datei.