Monit
Der Schulrouter Plus verwendet Monit für die Überwachungsdienste. Monit hat recht umfangreiche Überwachungsmöglichkeiten, weshalb auch die Konfigurationsoptionen umfangreich sind. In dieser Anleitung wird ein kurzer Spaziergang durch die Einrichtung unternommen, wobei die Konfigurationsoptionen anschließend ausführlicher erläutert werden, zusammen mit einigen Vorbehalten.
Globale Einrichtung
Navigieren Sie zu Dienste ‣ Monit ‣ Einstellungen. Aktivieren Sie auf der Registerkarte „Allgemeine Einstellungen“ Monit und geben Sie die Details Ihres SMTP-Servers ein. Speichern Sie die Änderungen. Navigieren Sie dann zu den „Alert-Einstellungen“ und fügen Sie eine für Ihre E-Mail-Adresse hinzu. Wenn Ihr Mailserver das Feld „Von“ erfordert, geben Sie im Feld „Mailformat“ Von: sender@example.com
ein. Speichern Sie den Alarm und übernehmen Sie die Änderungen.
Hinzufügen eines Alarms
Zunächst müssen Sie entscheiden, was Sie überwachen möchten und was einen Fehler darstellt. Es hilft, wenn Sie einige Kenntnisse darüber haben, wie Monit-Warnungen eingerichtet werden. Dies ist in der Monit-Dokumentation beschrieben.
Wenn Sie das getan haben, müssen Sie zuerst die Bedingung hinzufügen. Navigieren Sie zur Registerkarte „Service-Test-Einstellungen“ und schauen Sie, ob die Bedingung, die Sie hinzufügen möchten, bereits vorhanden ist. Ist dies nicht der Fall, klicken Sie auf die Schaltfläche „+“, um sie hinzuzufügen.
Navigieren Sie nun zur Registerkarte „Service-Test“ und klicken Sie auf das +-Symbol. Im Dialog können Sie nun Ihren Servicetest hinzufügen. Wenn Sie fertig sind, speichern Sie ihn und übernehmen Sie die Änderungen.
Die Felder in den Dialogen sind im Abschnitt „Einstellungsübersicht“ dieses Dokuments näher beschrieben.
Beispiel 1
In diesem Beispiel fügen wir einen Dienst hinzu, der den FTP-Proxy (der auf Port 8021 läuft) neu startet, wenn er angehalten wurde. Um eine ewige Schleife zu vermeiden, falls etwas nicht in Ordnung ist, fügen wir auch eine Bestimmung hinzu, die den Versuch abbricht, wenn der FTP-Proxy fünfmal hintereinander neu gestartet werden musste.
Stellen Sie zunächst sicher, dass Sie die Schritte unter „Globale Einrichtung“ ausgeführt haben. Navigieren Sie dann zur Registerkarte „Service Tests Settings“. Hier müssen Sie zwei Tests hinzufügen:
Einstellung | Wert |
---|---|
Name | FTPProxy8021 |
Bedingung | fehlgeschlagen host 127.0.0.1 port 8021 type tcp |
Aktion | Neustart |
Einstellung | Wert |
---|---|
Name | WiederanlaufGrenzwert5 |
Bedingung | 5 Wiederanläufe innerhalb von 5 Zyklen |
Aktion | Unüberwacht |
Navigieren Sie nun zur Registerkarte „Diensteinstellungen“. Fügen Sie hier den folgenden Dienst hinzu:
Einstellung | Wert |
---|---|
Name | FTPProxy8021 |
Typ | Prozess |
PID-Datei | /var/run/osftpproxy.127_0_0_1_8021.pid |
Start | /usr/local/sbin/configctl ftpproxy start 127_0_0_1_8021 |
Stopp | /usr/local/sbin/configctl ftpproxy stop 127_0_0_1_8021 |
Tests | FTPProxy8021, RestartLimit5 |
Speichern und anwenden.
Beispiel 2
In diesem Beispiel wollen wir einen VPN-Tunnel überwachen und ein entferntes System anpingen. Wenn der Ping nicht mehr antwortet, soll IPsec neu gestartet werden.
Stellen Sie zunächst sicher, dass Sie die Schritte unter „Globale Einrichtung“ ausgeführt haben. Navigieren Sie dann zur Registerkarte „Service Tests Settings“. Hier müssen Sie einen Test hinzufügen:
Einstellung | Wert |
---|---|
Name | IPSEC_RESTART |
Bedingung | failed ping4 count 5 Adresse <lokale IP> |
Aktion | Neustart |
Navigieren Sie nun zur Registerkarte „Diensteinstellungen“. Fügen Sie hier den folgenden Dienst hinzu:
Einstellung | Wert |
---|---|
Name | IPSEC_MONITOR |
Typ | Ferner Host |
Adresse | <Remote IP> |
Start | /usr/local/sbin/configctl ipsec start |
Stopp | /usr/local/sbin/configctl ipsec stop |
Tests | IPSEC_RESTART |
Speichern und anwenden.
Beispiel 3
In diesem Beispiel wollen wir Suricata EVE Log auf Alarme überwachen und eine E-Mail senden. Dies ist wirklich einfach, stellen Sie sicher, dass die Anzahl der Fehlalarme gering ist, um nicht von Alarmen überschwemmt zu werden.
Stellen Sie zunächst sicher, dass Sie die Schritte unter „Globale Einrichtung“ ausgeführt haben. Navigieren Sie dann zur Registerkarte „Service Tests Settings“. Hier müssen Sie einen Test hinzufügen:
Einstellung | Wert |
---|---|
Name | SURICATA_EVE |
Bedingung | Inhalt = „gesperrt“ |
Aktion | Alarm |
Navigieren Sie nun zur Registerkarte „Diensteinstellungen“. Fügen Sie hier den folgenden Dienst hinzu:
Einstellung | Wert |
---|---|
Name | SURICATA_ALERT |
Typ | Datei |
Pfad | /var/log/suricata/eve.json |
Tests | SURICATA_EVE |
Speichern und anwenden. Von nun an erhalten Sie bei jeder Blockaktion eine Warnmeldung.
Übersicht der Einstellungen
Navigieren Sie zu Dienste ‣ Monit ‣ Einstellungen. Sie sehen vier Registerkarten, die wir im Folgenden näher beschreiben
Allgemeine Einstellungen
Klicken Sie auf „Erweiterter Modus“, um alle Einstellungen zu sehen.
Einstellung | Beschreibung |
---|---|
Aktivieren Sie Monit | Schaltet Monit ein oder aus. |
Abfrageintervall | Wie oft Monit den Status der von ihm überwachten Komponenten überprüft. |
Startverzögerung | Wie lange Monit wartet, bevor es beim Starten Komponenten überprüft. |
Mailserver | Eine Liste von Mailservern, an die Benachrichtigungen gesendet werden sollen (siehe auch unterhalb dieser Tabelle). |
Mailserverport | Der zu verwendende Mail-Server-Port. 25 und 465 sind gängige Beispiele. |
Benutzername | Der Benutzername, mit dem Sie sich bei Ihrem SMTP-Server anmelden, falls erforderlich. Oft, aber nicht immer, derselbe wie Ihre E-Mail-Adresse. |
Passwort | Das Passwort, mit dem Sie sich bei Ihrem SMTP-Server anmelden, falls erforderlich. |
Sichere Verbindung | Verwenden Sie TLS, wenn Sie sich mit dem Mailserver verbinden. |
SSL-Version | Die zu verwendende TLS-Version. AUTO wird versuchen, eine funktionierende Version auszuhandeln. |
SSL-Zertifikate verifizieren | Prüft das TLS-Zertifikat auf Gültigkeit. Wenn Sie ein selbstsigniertes Zertifikat verwenden, deaktivieren Sie diese Option. |
Protokolldatei | Die Protokolldatei des Monit-Prozesses. Dies kann das Schlüsselwort |
Statusdatei | Die Statusdatei des Monit-Prozesses. |
Ereignis-Queue-Pfad | Der Pfad zum Ereigniswarteschlangenverzeichnis. |
Ereignis-Queue-Slots | Die Anzahl an Ereigniswarteschleifenslots. |
Aktiviere HTTPD | Schaltet die Monit-Webschnittstelle ein. (Erforderlich, um die Optionen unten zu sehen.) |
Monit HTTPD-Port | Der Listen-Port des Monit-Webinterface-Dienstes. |
Monit HTTPD-Zugangsliste | Der Benutzername:Passwort oder Host/Netzwerk usw. für den Zugriff auf den Monit-Webinterface-Dienst. |
m/Monit URL | Die M/Monit-URL, z. B. https://user:pass@192.168.1.10:8443/collector |
M/Monit Timeout | Wenn Sie Anfragen an M/Monit stellen, wird nach dieser Anzahl von Sekunden ein Timeout ausgelöst. |
M/Monit Registrierungszugangsdaten | Automatische Registrierung in M/Monit durch Senden von Monit-Anmeldeinformationen (siehe Monit Access List oben). |
In den „Mail Server“-Einstellungen können Sie mehrere Server angeben. Monit versucht die E-Mail-Server der Reihe nach, beginnend mit dem ersten, weiter zum zweiten, wenn der erste Server nicht funktioniert, usw. Wenn kein Server funktioniert, versucht Monit nicht, die E-Mail erneut zu senden.
Zwei Dinge sind zu beachten: Die Authentifizierungseinstellungen werden von allen Servern gemeinsam genutzt, und die ‚From:‘-Adresse wird in den „Alert Settings“ eingestellt.
Die Authentifizierungsoptionen für die Monit-Web-Oberfläche werden unter https://mmonit.com/monit/documentation/monit.html#Authentication beschrieben.
M/Monit ist ein kommerzieller Dienst, um Daten von mehreren Monit-Instanzen zu sammeln. Um ihn vom Schulrouter Plus aus zu nutzen, füllen Sie die entsprechenden Felder aus und fügen auch entsprechende Firewall-Regeln hinzu.
Alarmeinstellungen
Hier werden die E-Mail-Adressen aufgelistet, an die gemeldet werden soll. Klicken Sie auf das Symbol „Bearbeiten“ eines bereits vorhandenen Eintrags oder auf das Symbol „Hinzufügen“ (ein Pluszeichen in der unteren rechten Ecke), um die unten aufgeführten Optionen anzuzeigen.
Einstellung | Beschreibung |
---|---|
Aktiviere Alarm | Schaltet diesen Alarm ein oder aus. |
Empfänger | Die E-Mail-Adresse, an die diese E-Mail gesendet werden soll. |
Nicht an | Wenn ausgeschaltet, werden Benachrichtigungen für die unten angegebenen Ereignisse gesendet. Wenn eingeschaltet, werden Benachrichtigungen für Ereignisse gesendet, die unten nicht angegeben sind. |
Vorkommnisse | Ereignisse, die diese Benachrichtigung auslösen (oder nicht auslösen, wenn „Nicht ein“ ausgewählt ist). |
Mailformat | Kann zur Steuerung der Mail-Formatierung und der Absenderadresse verwendet werden. Siehe unten diese Tabelle. |
Erinnerung | Senden Sie eine Erinnerung, wenn das Problem nach dieser Anzahl von Prüfungen immer noch besteht. |
Beschreibung | Eine Beschreibung für diese Regel, um sie in der Liste der Alarmeinstellungen leicht zu finden. |
„Mailformat“ ist eine durch Zeilenumbrüche getrennte Liste von Eigenschaften zur Steuerung der Mailformatierung. Sie wird auch benötigt, um die Absenderadresse korrekt einzustellen. Zum Beispiel:
From: sender@example.com
Reply-To: support@example.com
Subject: $SERVICE at $HOST failed
Diensteinstellungen
Hier werden die Dienste aufgelistet, die eingestellt sind. Es sind einige Dienste vordefiniert, aber Sie können so viele hinzufügen, wie Sie möchten. Klicken Sie auf das Symbol „Bearbeiten“ eines bereits vorhandenen Eintrags oder auf das Symbol „Hinzufügen“ (ein Pluszeichen in der unteren rechten Ecke), um die unten aufgeführten Optionen anzuzeigen.
Einstellung | Beschreibung |
---|---|
Aktiviere Dienstüberprüfungen | Schaltet diesen Dienst ein oder aus. |
Name | Ein Name für diesen Dienst, der nur aus Buchstaben, Ziffern und Unterstrich besteht. Beschreibendere Namen können im Feld Beschreibung eingestellt werden. |
Typ | Die Art des zu prüfenden Objekts. Mit ‚Benutzerdefiniert‘ können Sie benutzerdefinierte Skripte verwenden. |
Pfad | Der Pfad zu dem Verzeichnis, der Datei oder dem Skript, falls zutreffend. |
Programm-Timeout | Wie oft diese Prüfung durchgeführt werden soll. |
Start | Das Startskript des Dienstes, falls zutreffend. |
Stopp | Das Stoppskript des Dienstes, falls zutreffend. |
Tests | Die Bedingung, auf die getestet werden soll, um zu bestimmen, ob ein Alarm gesendet werden muss. Diese Bedingungen werden auf der Registerkarte „Service-Test-Einstellungen“ erstellt. |
Beschreibung | Eine Beschreibung für diesen Dienst, um ihn in der Liste der Diensteinstellungen leicht finden zu können. |
Service-Test-Einstellungen
Einstellung | Beschreibung |
---|---|
Name | Der Name des Tests. |
Bedingung | Eine Bedingung, die sich an die Monit-Syntax hält, siehe die Monit-Dokumentation |
Aktion | Was ist zu tun, wenn die Bedingung getroffen wird. |
Es gibt einige vorgefertigte Servicetests. Die meisten davon werden typischerweise für ein Szenario verwendet, wie z. B. der Test „Speichernutzung > 75 %“. Einige sind jedoch allgemeiner und können verwendet werden, um die Ausgabe Ihrer eigenen Skripte zu testen. Dazu gehören:
Service Test | Beschreibung |
---|---|
NonZeroStatus | Der zurückgegebene Statuscode ist nicht 0. (Skripte beenden sich typischerweise mit 0, wenn es keine Probleme gab, und mit ungleich 0, wenn es welche gab). |
ChangedStatus | Der zurückgegebene Statuscode hat sich seit der letzten Ausführung des Skripts geändert. |
Status
Das Monit-Statuspanel kann über Dienste ‣ Monit ‣ Status aufgerufen werden. Für jeden aktiven Dienst wird dort der Status angezeigt, zusammen mit zusätzlichen Informationen, wenn der Dienst diese bereitstellt.