Administrators, autoreview, Vérificateurs d’utilisateurs, checkuser-log, editor, reviewer, usersnoop
3 321
modifications
m (Page créée avec « '''Monit''' est utilisé pour surveiller les processus "daemon" - démons en français, programme qui tournent en arrière plan - ou des programmes similaires sur votre serve... ») |
mAucun résumé des modifications |
||
Ligne 44 : | Ligne 44 : | ||
== Explication des règles == | == Explication des règles == | ||
D'une façon générale, les règles de surveillance s'articulent comme ceci: | |||
Pensez à surveiller les services sur les bonnes interfaces... | *Surveillance d'un processus (le fichier PID du service); | ||
*Les commandes pour arrêter et démarrer les processus surveillés; | |||
*L'utilisateur système du service, | |||
*La condition de test à effectuer: | |||
#Interfaces et ports ou ces processus doivent écouter (par défaut localhost si vous ne précisez rien); | |||
#Charge du CPU par service; | |||
#Fichiers (s'ils existent, leur checksum...). | |||
#... | |||
*La commande a effectuer en cas d'échec | |||
'''Pensez à surveiller les services sur les bonnes interfaces...''' | |||
Inutile par exemple de surveiller ssh sur localhost alors que vous en avez besoin sur eth0... | Inutile par exemple de surveiller ssh sur localhost alors que vous en avez besoin sur eth0... | ||
Ligne 81 : | Ligne 87 : | ||
# cat /etc/monit/conf.d/apache2 | # cat /etc/monit/conf.d/apache2 | ||
check process | 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 failed host vanille.zehome.org port 80 protocol http | |||
and request "/monit/token" then restart | |||
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 | |||
Sans oublier de créer le fichier 'token' sur votre serveur... | |||
root@vanille:~# su www-data | |||
$ cd | |||
$ mkdir monit | |||
$ cd monit | |||
$ touch token | |||
$ exit | |||
Du coup votre "access.log" va se remplir avec ceci: | |||
127.0.1.1 - - [24/Aug/2011:07:31:19 +0300] "GET /monit/token HTTP/1.1" 200 250 "-" "monit/5.1.1" | |||
127.0.1.1 - - [24/Aug/2011:07:32:25 +0300] "GET /monit/token HTTP/1.1" 200 250 "-" "monit/5.1.1" | |||
127.0.1.1 - - [24/Aug/2011:07:33:31 +0300] "GET /monit/token HTTP/1.1" 200 250 "-" "monit/5.1.1" | |||
127.0.1.1 - - [24/Aug/2011:07:34:37 +0300] "GET /monit/token HTTP/1.1" 200 250 "-" "monit/5.1.1" | |||
127.0.1.1 - - [24/Aug/2011:07:35:43 +0300] "GET /monit/token HTTP/1.1" 200 250 "-" "monit/5.1.1" | |||
127.0.1.1 - - [24/Aug/2011:07:36:49 +0300] "GET /monit/token HTTP/1.1" 200 250 "-" "monit/5.1.1" | |||
127.0.1.1 - - [24/Aug/2011:07:37:55 +0300] "GET /monit/token HTTP/1.1" 200 250 "-" "monit/5.1.1" | |||
Pour éviter cela, ajoutez ceci: | |||
SetEnvIf Request_URI "^\/monit\/token$" dontlog | |||
CustomLog /var/log/apache2/access.log common env=!dontlog | |||
A la fin du fichier /etc/apache2/apache2.conf | |||
=== bind9 === | === bind9 === | ||
Ligne 159 : | Ligne 197 : | ||
start program = "/etc/init.d/imapproxy start" with timeout 60 seconds | start program = "/etc/init.d/imapproxy start" with timeout 60 seconds | ||
stop program = "/etc/init.d/imapproxy stop" | stop program = "/etc/init.d/imapproxy stop" | ||
if failed port 1143 then restart | if failed host 10.9.8.3 port 1143 then restart | ||
=== mysql === | === mysql === | ||
# cat /etc/monit/conf.d/mysql | # cat /etc/monit/conf.d/mysql | ||
check process MySql with pidfile /var/run/mysqld/mysqld.pid | check process MySql with pidfile /var/run/mysqld/mysqld.pid | ||
group mysql | group mysql | ||
Ligne 192 : | Ligne 228 : | ||
# cat /etc/monit/conf.d/postfix | # cat /etc/monit/conf.d/postfix | ||
check process Postfix with pidfile /var/spool/postfix/pid/master.pid | check process Postfix with pidfile /var/spool/postfix/pid/master.pid | ||
group mail | group mail | ||
Ligne 211 : | Ligne 246 : | ||
# cat /etc/monit/conf.d/rsyslogd | # cat /etc/monit/conf.d/rsyslogd | ||
check process Rsyslogd with pidfile /var/run/rsyslogd.pid | check process Rsyslogd with pidfile /var/run/rsyslogd.pid | ||
start program = "/etc/init.d/rsyslog start" | start program = "/etc/init.d/rsyslog start" | ||
Ligne 247 : | Ligne 281 : | ||
=== sshd === | === sshd === | ||
cat /etc/monit/conf.d/sshd | # cat /etc/monit/conf.d/sshd | ||
check process SSH with pidfile /var/run/sshd.pid | check process SSH with pidfile /var/run/sshd.pid | ||
start program = "/etc/init.d/ssh start" with timeout 60 seconds | start program = "/etc/init.d/ssh start" with timeout 60 seconds | ||
Ligne 388 : | Ligne 422 : | ||
== Ecran final == | == Ecran final == | ||
En guise de conclusion: Testez chaque service avant de vous fier aux résultats... | |||
'''Surveillez les logs de monit, stoppez service par service et vérifiez la réaction de monit!''' | |||
L'alerte doit être envoyée, le service redémarré. | |||
Rendez-vous sur | Rendez-vous sur |
modifications