Ich plane, Monit auf meinem Produktionsserver mit der folgenden Konfiguration zu aktivieren. Ich bin völlig neu bei Monit und wollte von anderen Tipps hören oder ob es andere Anweisungen gibt, die ich berücksichtigen sollte, um mein Überwachungsskript basierend auf Ihrer Erfahrung zu verbessern.
Mein Server ist CentOS 5.6.
Danke!
#httpd----
check process httpd with pidfile /var/run/httpd.pid
group apache
start program = "/etc/init.d/httpd start"
stop program = "/etc/init.d/httpd stop"
if failed host 127.0.0.1 port 80
protocol http then restart
if cpu > 60% for 2 cycles then alert
if cpu > 80% for 5 cycles then restart
if 5 restarts within 5 cycles then timeout
#mysqld----
check process mysqld with pidfile /var/run/mysqld/mysqld.pid
group mysql
start program = "/etc/init.d/mysqld start"
stop program = "/etc/init.d/mysqld stop"
if failed host 127.0.0.1 port 3306 then restart
if cpu > 60% for 2 cycles then alert
if cpu > 80% for 5 cycles then restart
if 5 restarts within 5 cycles then timeout
#postfix----
check process postfix with pidfile /var/spool/postfix/pid/master.pid
start program = "/etc/init.d/postfix start"
stop program = "/etc/init.d/postfix stop"
if cpu > 60% for 2 cycles then alert
if cpu > 80% for 5 cycles then restart
if 5 restarts within 5 cycles then timeout
Antwort1
Ich habe in meinem Postfix-Abschnitt eine zusätzliche Zeile für monit:
if failed port 25 protocol smtp then restart
Je nachdem, was von Apache bereitgestellt wird, können Sie eine Anfrage (z. B. request "/monit_token"
) anstelle einer einfachen HTTP-Antwort testen. Die Anfrage kann etwas sein, das Ihre App direkt erreicht, und nicht nur eine statische Datei. Auch hier kommt es darauf an, was Sie tun.
Da Sie Postfix dort haben, sollten Sie überlegen, wie Monit-Warnmeldungen tatsächlich von der Box kommen, falls Postfix ausfällt. In meinem Fall mache ich das set mailserver gmail-smtp-in.l.google.com
und sende die E-Mail an ein Gmail-Konto, sodass ich mich nicht auf die Funktionalität meines eigenen Mailservers verlassen muss, um mir Warnmeldungen zu senden. Ich habe auch einen Gmail-Filter, der die Warnmeldung an ein SMS-Gateway weiterleitet, sodass ich eine Textnachricht bekomme.
Ich habe auch so etwas wie diese Konfiguration:
check file alerttest with path /.monit_is_running
alert [email protected] with reminder on 1440 cycles
Es gibt keine Datei /.monit_is_running
, daher wird dieser Alarm immer etwa einmal am Tag ausgelöst. Dies ist ein Heartbeat für Monit selbst, sodass ich weiß, dass es läuft (eine Art „Wer beobachtet die Beobachter“-Ding). Das ist eigentlich eine Idee, die ich von jemandem auf Serverfault habe, aber ich weiß nicht mehr spontan, von wem.