Monit: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 44: | Zeile 44: | ||
== Installation == | == Installation == | ||
== E-Mail Benachrichtigungen == | == E-Mail Benachrichtigungen == |
Version vom 26. März 2024, 08:21 Uhr
topic - Kurzbeschreibung
Beschreibung
Monit is a free, open-source process supervision tool for Unix and Linux. With Monit, system status can be viewed directly from the command line, or via the native HTTP(S) web server. Monit is able to do automatic maintenance, repair, and run meaningful causal actions in error situations. Monit rose to popularity with Ruby on Rails and the Mongrel web server, because a tool was needed that could manage the many identical Mongrel processes that needed to be run to support a scalable Ruby on Rails site, and Monit was fairly uniquely suited for the needs of the Ruby on Rails community. Many popular Rails sites have used Monit, including Twitter
Monit can restart a process automatically if process dies or monitor process characteristics, such as memory or cpu cycles and alert by email. Additionally M/Monit can monitor and manage distributed computer systems, M/Monit uses Monit as an agent and can manage and monitor. M/Monit is licensed software.
Installation
Anwendungen
Fehlerbehebung
Syntax
Optionen
Parameter
Umgebungsvariablen
Exit-Status
Konfiguration
Dateien
Sicherheit
Siehe auch
Dokumentation
RFC
Man-Pages
Info-Pages
Links
Projekt
Weblinks
TMP
| logo = Datei:Tildeslash Monit Logo.gif | screenshot = Tildeslash Monit Screenshot.png | developer = Tildeslash Ltd | programming language = C | license = AGPL 3.0 | website = https://mmonit.com/monit/
Bild(./monit-logo.jpg, 128, align=left)]]
Monit {en} ist ein rasch eingerichtetes, einfach zu bedienendes aber effektives Programm zur Überwachung von [:Serverdienste:Serverdiensten]. Es kann auch wichtige Basisdaten wie CPU-Nutzung, Festplattenbelegung und mehr einbeziehen. Falls ein Serverdienst ausfällt, kann er automatisch neu gestartet werden. Bei Problemen werden ein oder mehrere Empfänger per E-Mail informiert. Zusätzlich gibt es eine übersichtliche Status-Webseite.
Ursprünglich für einen einzelnen Server gedacht, gibt es mit M/Monit {en} auch eine kommerzielle Variante, die mehrere Server gleichzeitig (unter einer Oberfläche) überwachen kann.
Installation
E-Mail Benachrichtigungen
Bild(Wiki/Icons/email.png, 48, align=right)]]
Mit folgender Grundeinstellung wird die E-Mail-Benachrichtigung aktiviert: {{{ set alert EMPFÄNGER-E-MAIL@ADRESSE }}}
Externen SMTP-Dienst nutzen
Es ist nicht notwendig, dass ein [:Mailserver-Einführung:Mailserver] auf dem System, auf dem Monit läuft, eingerichtet ist. Dies würde womöglich ohnehin problematisch sein, da fast alle E-Mail-Provider die Annahme von Nachrichten nicht vertrauenswürdiger Absender blockieren um Spam-Mails abzuwehren.
Der Versand durch eine beliebiges E-Mail-Konto, das [wikipedia:SMTP:] unterstützt, ist denkbar einfach. Zunächst eine neue Konfigurationsdatei im Verzeichnis /etc/monit/conf.d/ anlegen, zum Beispiel alert: {{{#!vorlage Befehl sudo touch /etc/monit/conf.d/alert }}} In dieser Datei mit einem beliebigen Editor [2] folgende Einträge vornehmen: {{{
- Mail Benachrichtigungen
set alert EMPFÄNGER-MAIL@ADRESSE set mailserver
HOSTNAME port PORTANGABE username E-MAIL-KONTO-BENUTZERNAME password "E-MAIL-PASSWORT" using SSL
}}}
Es ist jetzt noch notwendig, die Absender-E-Mail-Adresse zu spezifizieren. Diese sollte exakt der E-Mail-Adresse des SMTP-Dienstes entsprechen, denn ansonsten wird der SMTP-Dienst den Versand höchstwahrscheinlich verweigern.
Dazu diesen Eintrag vornehmen: {{{ set mail-format { from: ABSENDER-MAIL@ADRESSE} }}}
Als Beispiel könnte die Konfiguration für eine E-Mail-Konto bei web.de folgendermaßen aussehen:
{{{
- Mail Benachrichtigungen
set alert EMPFÄNGER-MAIL@ADRESSE set mailserver
smtp.web.de port 587 username MEINE-ABSENDER-MAILADRESSE@web.de password "MEIN-E-MAIL-PASSWORT" using SSL
set mail-format { from: MEINE-ABSENDER-MAILADRESSE@web.de} }}}
Damit Monit die E-Mail-Benachrichtigung auch umsetzt, Monit [#Pruefen-und-laden neu laden].
E-Mail-Benachrichtigungen testen
Durch das [#Pruefen-und-laden Neuladen] von Monit selbst kann man den E-Mail-Versand - ohne andere wichtige Dienste wie Apache testweise neu starten zu müssen - überprüfen. Kurz nach dem Neustart sollten mehrere E-Mails eingehen. Falls nicht, gibt das [#Debugging-Informationen-erlangen Logfile] womöglich Informationen über [#E-Mail-Versand-funktioniert-nicht Fehler].
Status-Webseite
Bild(Wiki/Icons/network_local.png , 48, align=right)]]
Besonders praktisch ist neben der Benachrichtigung per E-Mail, die Möglichkeit, eine HTML-Status-Webseite über einen integrierten Webserver in einem beliebigen Internetbrowser abzurufen. Dieser ist standardmäßig nicht aktiviert. Hierzu im Verzeichnis /etc/monit/conf.d/ wieder eine Datei anlegen, zum Beispiel namens httpd:
{{{#!vorlage Befehl sudo touch /etc/monit/conf.d/httpd }}}
Diese Datei dann wie folgt editieren: [2] {{{
- HTTP interface
set httpd
port 2812 use address localhost #Den Zugriff nur für localhost erlauben allow BENUTZERNANE:SICHERES_PASSWORT #Erlaubt den Zugriff nur mit dieser Authentifizierung
}}}
Bild(./Monit-Screenshot-Server.png, 300, align=right)]]
Mit dieser Einstellung ist nun - sofern Monit zuvor [#Pruefen-und-laden neu geladen] wurde - die Statusseite über `http://localhost:2812` erreichbar, wenn diese Adresse mit dem selben Rechner aufgerufen wird, auf dem Monit läuft. {{{#!vorlage Warnung Das Entfernen der Einstellung `use address localhost`, ohne dass der Zugriff auf andere Weise eingeschränkt wird, stellt ein erhebliches Sicherheitsrisiko dar, da Monit und folglich auch das gesamte System sowie das lokale Netzwerk über den Port `2812` möglicherweise für Angreifer aus dem Internet zugänglich sind! }}}
Man kann den Zugang für andere Rechner außer localhost freigeben, aber gleichzeitig strikt auf bestimmte IP-Adressen beschränken. Dazu den Eintrag `use address localhost` in der Datei /etc/monit/conf.d/httpd entfernen __und__ eine [wikipedia:Weiße Liste:Whitelist] mit den zulässigen IP-Adressen anlegen. Ein Beispielkonfiguration sähe dann wie folgt aus: {{{
- HTTP interface
set httpd
port 2812 allow localhost allow 192.168.178.53 #Mehrere IP sind möglich: allow 192.168.178.54 allow BENUTZERNAME:SICHERES_PASSWORT #Mehrere Benutzer sind möglich: allow BENUTZERNAME_1:SICHERES_PASSWORT_1
}}}
md5] /PFAD/ZUR/PASSWORTDATEI [BENUTZERNAMEN]` Benutzer in einer externen Datei speichern. Optional: Verschlüsselung und auf bestimmte Benutzernamen beschränken. Syntax: Jeweils ein `BENUTZERNANE:SICHERES_PASSWORT` Eintrag pro Zeile.
Problembehebung
Bild(Wiki/Icons/hint.png , 48, align=right)]]
Debugging Informationen erlangen
Gibt es Probleme mit Monit, so gibt die Monit-[:Logdateien:Logdatei] womöglich Aufschluss über die Ursachen. Dazu die Datei /var/log/monit.log, zum Beispiel mit dem Konsolen-Tool [:lnav:], öffnen.
E-Mail Versand funktioniert nicht
Ein Logeintrag, der in etwa so aussieht: {{{ Mail: Mailserver Response error -- 530 Must issue a STARTTLS command first }}} muss nicht zwingend tatsächlich ein TLS-Fehler sein. Meist liegt hier nur ein Tippfehler im Eintrag `username` oder `password` bei den [#Externen-SMTP-Dienst-nutzen SMTP-Einstellungen] vor.
Links
Intern
- [:Netzwerk-Monitoring:] {Übersicht} Programmübersicht
- [:Munin:] - ähnliche Funktionen, etwas komplizierter und mit aufwendigerer grafischen Web-Oberfläche, aber ohne integrierten Webserver
Extern
- https://wiki.ubuntuusers.de/Monit/
- Projektseite
- Dokumentation
- Wiki - FAQ, How-Tos und Konfigurationsbeispiele für verschiedene Dienste
- API Dokumentation für die HHTP-Dienste
- Network Monitoring Tools