Monit ist in der Lage Linux Dienste überwachen zu können und ggf. den problematischen Server Dienst (z.B. Apache, MySQL, FTP, Postfix etc.) neu zu starten, darüber hinaus verschickt Monit eine Mail. Über die Weboberfläche von Monit kann man die Dienste und die Belastung für das System sehen. Vorsicht, über die Weboberfläche kann man alle überwachten Dienste stoppen und starten, d.h. man muss den Zugang gut absichern!

Linux Dienste überwachen – Installation von Monit

~# apt-get install monit

Linux Dienste überwachen – Konfiguration von Monit

~# mcedit /etc/monit/monitrc

Groß geschriebene und / oder in Klammern<> gesetzte Teile individuell anpassen.

Eintragen an das Ende von monitrc (bitte beachtet die richtige Schreibweise der Anführungszeichen!)

# Aktualisierungsinterval
set daemon  60

# Speicherort des monit Logfiles
set logfile /var/log/monit

# Mailversand ueber
set mailserver localhost # primary mailserver
set mail-format { from: monit@DOMAIN DEINES SERVERS}
# Mail an
set alert DEINE.EMAIL@DOMAIN

#weboberflaesche
set httpd port 2812 and
use address blog.tim-bormann.de
allow <BENUTZERNAME>:<PASSWORT>

# check ftp
check process proftpd with pidfile /var/run/proftpd.pid
start program = “/etc/init.d/proftpd start”
stop program  = “/etc/init.d/proftpd stop”
if failed port 21 protocol ftp then restart
if 5 restarts within 5 cycles then timeout

# check http
check process apache with pidfile /var/run/apache2.pid
group www
start program = “/etc/init.d/apache2 start”
stop program  = “/etc/init.d/apache2 stop”
if cpu is greater than 60% for 2 cycles then alert
if cpu > 80% for 5 cycles then restart
if totalmem > 500 MB for 5 cycles then restart
if children > 250 then restart
if loadavg(5min) greater than 10 for 8 cycles then stop
if 3 restarts within 5 cycles then timeout

# check mysql
check process mysql with pidfile /var/run/mysqld/mysqld.pid
group database
start program = “/etc/init.d/mysql start”
stop program = “/etc/init.d/mysql stop”
if failed host 127.0.0.1 port 3306 then restart
if 5 restarts within 5 cycles then timeout

## AUSKOMMENTIERT als BEISPIEL #check postfix
#check process postfix with pidfile /var/spool/postfix/pid/master.pid
#group mail
#start program = “/etc/init.d/postfix start”
#stop  program = “/etc/init.d/postfix stop”
#if failed port 25 protocol smtp then restart
#if 5 restarts within 5 cycles then timeout

# check ssh
check process sshd with pidfile /var/run/sshd.pid
start program  “/etc/init.d/ssh start”
stop program  “/etc/init.d/ssh stop”
if failed port 22 protocol ssh then restart

#samba
check file smbd_bin with path /usr/sbin/smbd
if failed uid root then unmonitor
if failed gid root then unmonitor
group samba

check process smbd with pidfile /var/run/samba/smbd.pid
group samba
start program = “/etc/init.d/samba restart”
stop  program = “/etc/init.d/samba stop”
if failed host localhost port 139 type TCP  then restart
if 5 restarts within 5 cycles then timeout
depends on smbd_bin

check process nmbd with pidfile /var/run/samba/nmbd.pid
group samba
start program = “/etc/init.d/samba restart”
stop  program = “/etc/init.d/samba stop”
if failed host localhost port 138 type UDP  then restart
if failed host localhost port 137 type UDP  then restart
if 5 restarts within 5 cycles then timeout
depends on nmbd_bin

check file nmbd_bin with path /usr/sbin/nmbd
group samba
if failed checksum then unmonitor
if failed permission 755 then unmonitor
if failed uid root then unmonitor
if failed gid root then unmonitor

Um Postfix zu überprüfen muss natürlich Postfix und nicht Exim installiert sein.

Speichern der Konfiguration und überprüfen

~# monit –t

Monit starten und Linux Dienste überwachen

~# mcedit /etc/default/monit

startup=0

auf

startup=1

setzen. Und jetzt noch ein Neustart von Monit.

~# /etc/init.d/monit restart

Und ab jetzt … die Linux Dienste überwachen und ggf. neu starten!

Weitere relevante Artikel

  1. Tutorial Installation Debian Linux SSH Server
  2. Linux Samba Server Allerlei
  3. Debian Linux Webalizer
  4. Anleitung Installation Samba Server als Dateiserver unter Debian Linux
  5. Debian Linux Verzeichnisse

6 Kommentare zu Debian Linux Dienste überwachen mit Monit

  1. Stefan Eisenberg am 30. Dezember 2009 23:52

    Hallo,

    ich habe monit bei mir auf dem Debian System eingerichtet. Aber leider komme ich mit dem Benutzerdaten nicht auf die Seite drauf.
    Können Sie mir da vielleicht zur Hand gehen?

    Mit freundlichen Grüssen

    Eisenberg

  2. Deppensensor am 29. März 2010 17:35

    Hallo Stefan Eisenberg – ja, kein Problem – am besten veröffentlichen Sie die Zugangsdaten fü den Benutzer root hier, dann können wir Ihnen gerne helfen.

    m(

  3. Snaky am 2. April 2010 19:47

    Auch hier derselbe Fehler wie bei allen anderen monit tutorials im Web: Du checkst nur auf localhost – damit kannst Du zwar testen, ob der Daemon überhaupt läuft, aber Du weisst nicht, ob der Service auch nach aussen hin angeboten wird. Vielleicht soll der entsprechende Server ja nur auf 127.0.0.1 horchen, aber üblicherweise bietet man ja auch Dienste auf öffentlich erreichbaren IP-Adressen an – das wird mit Deiner config aber nicht gecheckt. Hat man also irgendein Problem mit der Firewall, der IP-Konfiguration oder sonstige Probleme, die im echten leben erfahrungsgemäss oft genug stattfinden, bringt Dir diese Konfiguration gar nix – sie ist sogar gefährlich, weil sie Dich in falscher Sicherheit wiegt.

  4. nik am 5. Juli 2010 22:30

    @Snaky Wenn du das als Fehler des Tutorials bezeichnest, übersiehst du offensichtlich den Sinn des Programms oder willst einfach nur lästern. Es soll testen, ob sich ein Prozess evtl aufgehängt hat, oder wegen einem Fehler einfach abgeschaltet hat (so wie mein Postfix einmal, als er eine zu große Zeitabweichung festgestellt hat) oder man nach einer Änderung mal den Dienst vergessen hat neu zu starten (kommt auch mal vor ;-). Eine Firewall-Konfiguration ändert man ja eher manuell (bis auf banning-Systeme) und dann testet man anschließend, ob man seinen Service noch erreicht.
    Wenn du einen 2. Server oder ein ständig laufenden PC hast, kannst du auch dort einfach monit aufsetzen und deinen Server überwachen, damit wiegst du dich dann auch nicht mehr in falscher Sicherheit…

  5. Andreas am 2. August 2010 14:12

    Ich lese diese Beiträge alle mit Begeisterung, wirklich alles
    sehr gut beschrieben!

    Mal gucken ob ich in Zukunft mit meinem Blog und Tutorials diese Qualität auch halten kann.

Kommentar hinterlassen