Die Dienste auf Ihrem Server können Sie (soweit nicht bereits durch ein anderes Managementsystem eingerichtet) mit dem Tool Monit überwachen. Je nach Konfiguration sendet Monit Ihnen Mails, z.B. wenn ein Dienst nicht erreichbar ist oder von Monit neu gestartet wurde. Sie können den Platz auf den Festplatten, Offene Ports, Dienste und vieles mehr überwachen.
Installieren Sie das Paket mit
aptitude install monit
und ändern Sie per
nano /etc/default/monit
den wert
startup=0
auf
startup=1
damit Monit als Dienst laufen kann. Nun müssen die Dienste, die überwacht werden sollen in die Konfigurationsdatei eingetragen werden:
nano /etc/monit/monitrc
Die Datei könnte z.B. so aussehen (die // Kommentare sind nur zur Erklärung und dürfen in der Konfigurationsdatei nicht angegeben werden!)
set daemon 120 // Monit überprüft all 2 Minuten set logfile syslog facility log_daemon // Wo wird die Logdatei hingeschrieben set mailserver localhost // Mailserver über den die Mails verschickt werden set mail-format { from: user@domain.tld } // Mailadresse Absender set alert user@domain.tld // Empfänger der Mails check system localhost // Lokalen Server überwachen if loadavg (5min) > 1 then alert // Wenn Loadaverage über 5 Minuten größer 1 ist, Alarm versenden if memory usage > 75% then alert // Wenn mehr als 75% des Speichers benötigt werden, Alarm versenden if cpu usage (user) > 70% then alert // Wenn mehr als 70% CPU Leistung benötigt wird, Alarm versenden (User) if cpu usage (system) > 30% then alert // Wenn mehr als 30% CPU Leistung benötigt wird, Alarm versenden (System) if cpu usage (wait) > 20% then alert // Wenn mehr als 20% CPU Leistung benötigt wird, Alarm versenden (Wait) check process sshd with pidfile /var/run/sshd.pid // Dienst SSH durch PID File überwachen start program "/etc/init.d/ssh start" // Wie kann SSH im Fehlerfall gestartet werden stop program "/etc/init.d/ssh stop" // Wie kann SSH im Fehlerfall beendet werden if failed port 22 protocol ssh then restart // Wenn der SSH Dienst nicht läuft, neu starten if 5 restarts within 5 cycles then timeout // Wenn nach 5 Versuchen der Dienst nicht gestartet werden kann, mit Timeout beenden check process mysql with pidfile /var/run/mysqld/mysqld.pid // Dienst Mysql durch PID File überwachen group database // Gruppe definieren start program = "/etc/init.d/mysql start" // Wie kann der MySQL Server im Fehlerfall gestartet werden stop program = "/etc/init.d/mysql stop" // Wie kann der MySQL Server im Fehlerfall gestopt werden if failed host 127.0.0.1 port 3306 then restart // Wenn Port 3306 (MySql) auf dem Lokalen Server nicht läuft, neu starten if 5 restarts within 5 cycles then timeout // Wenn nach 5 Versuchen der Dienst nicht gestartet werden kann, mit Timeout beenden
Natürlich gibts es eine Vielzahl anderer Überwachungssoftware auf dem Markt. Monit ist jedoch sehr schnell und unkompliziert eingerichtet.