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.

Die Abbildung zeigt die Alertmanager-App-Einstellungen für SMTP und E-Mail-Empfänger.

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, LOGIN und CRAM-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.

Die Abbildung zeigt das Modul Monitoring in der Management UI mit der Konfiguration einer Warnmeldung.

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 critical oder warning verwenden.

Vorlagenwerte

Abfrageausdrücke, Beschreibungen und Zusammenfassungen können Variablen verwenden. Zum Beispiel verweist %max% auf den Wert max.

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:

  1. Öffnen Sie in der Management UI Rechner Modul und wählen Sie den Computer aus.

  2. 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.

  3. Speichern Sie Ihre Änderungen.

  4. 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.

Die Abbildung zeigt die Zuweisung von Monitoring-Warnmeldungen zu einem Computer.

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_ROOT und UNIVENTION_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_DNS

Prüft den lokalen DNS-Server und kontrolliert, ob der öffentliche DNS-Server den Rechnernamen www.univention.de auflö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-Variable monitoring/dns/lookup-domain setzen, um die Namensauflösung zu prüfen.

UNIVENTION_LDAP_AUTH

Überwacht den LDAP-Server auf Directory Nodes in Nubus für UCS.

UNIVENTION_LOAD und UNIVENTION_LOAD_WARNING

Überwacht die Systemlast.

UNIVENTION_NTP und UNIVENTION_NTP_WARNING

Fragt die Uhrzeit beim NTP-Dienst auf dem überwachten Nubus für UCS System ab. Wenn die Zeit um mehr als 60 oder 120 Sekunden abweicht, wird die Warnmeldung ausgelöst.

UNIVENTION_SMTP

Prüft, ob der SMTP-Server erreichbar ist. Die Warnmeldung wird ausgelöst, wenn der Server nicht erreichbar ist.

UNIVENTION_SSL und UNIVENTION_SSL_WARNING

Prü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_SWAP und UNIVENTION_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_REPLICATION und UNIVENTION_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_NSCD und UNIVENTION_NSCD2

Prü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_WINBIND

Prüft die Verfügbarkeit des Winbind-Dienstes. Wenn kein Prozess läuft, löst die Prüfung eine Warnmeldung vom Typ critical aus.

UNIVENTION_SMBD

Prüft die Verfügbarkeit des Samba-Dienstes. Wenn kein Prozess läuft, löst die Prüfung eine Warnmeldung aus.

UNIVENTION_NMBD

Prü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_JOINSTATUS und UNIVENTION_JOINSTATUS_WARNING

Prü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 critical aus. Wurden Join-Skripte nicht ausgeführt, löst die Prüfung eine Warnmeldung vom Typ warning aus.

UNIVENTION_KPASSWDD

Prü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-installed hat, löst die Prüfung eine Warnmeldung aus.

UNIVENTION_SLAPD_MDB_MAXSIZE und UNIVENTION_SLAPD_MDB_MAXSIZE_WARNING

Überwacht, wie viele freie Speicherseiten im mdb-Backend von SLAPD über mehrere Verzeichnisse hinweg verbleiben.

UNIVENTION_LISTENER_MDB_MAXSIZE und UNIVENTION_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_SDA

Prüft den S.M.A.R.T.-Status der Festplatte /dev/sda. Entsprechende Warnmeldungen sind für die Festplatten /dev/sdb, /dev/sdc und /dev/sdd verfügbar.

UNIVENTION_ADCONNECTOR und UNIVENTION_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 warning aus.

  • Wenn Rejects auftreten, löst die Prüfung eine Warnmeldung vom Typ warning aus.

  • 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 critical aus.

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_RAID und UNIVENTION_RAID_WARNING

Überwacht den Status von RAID-Geräten. Die Prüfung löst für die folgenden RAID-Status eine Warnmeldung vom Typ warning aus:

  • Rebuilding

  • Reconstruct

  • Replaced Drive

  • Expanding

  • Warning

  • Verify

Die Prüfung löst für die folgenden RAID-Status eine Warnmeldung vom Typ critical aus:

  • Degraded

  • Dead

  • Failed

  • Error

  • Missing

UNIVENTION_S4CONNECTOR und UNIVENTION_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:

  1. 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/.

  2. Ersetzen Sie PLUGIN durch 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.

    Listing 8.1 Skript PLUGIN ausführbar machen#
    $ chmod a+x PLUGIN
    
  3. Schreiben Sie gültige Prometheus-Metriken in eine .prom-Datei in /var/lib/prometheus/node-exporter/.

  4. Konfigurieren Sie die benutzerdefinierte Warnmeldung in der Management UI. Einzelheiten finden Sie unter Konfiguration.

  5. Geben Sie den Ausdruck für Prometheus für die Skriptmetrik in das Feld Abfrageausdruck ein.

  6. Weisen Sie die benutzerdefinierte Warnmeldung den erforderlichen Systemen zu. Einzelheiten finden Sie unter Monitoring-Warnmeldungen Computern zuweisen.

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