Installation de monit.
Voici comment installer monit.
Monit est un utilitaire qui permet de surveiller et d'automatiser plusieurs tâches de votre serveur. Par exemple si votre serveur apache s'emballe, il est possible de demander à monit de le redémarrer automatiquement.
Pour l'installer, rien de plus simple :
apt-get install monit
à la fin de l'installation, il vous donne une information précieuse :
please configure monit and then edit /etc/default/monit
and set the "startup" variable to 1 in order to allow
monit to start
Il faut donc ouvrir le fichier suivant : /etc/default/monit
Il suffit donc d'ouvrir, et de modifier la valeur startup:
# You must set this variable to for monit to start
startup=1
Ensuite nous allons configurer monit pour qu'il récupère les information qui nous intéresse, nous allons donc ouvrir le fichier suivant /etc/monit/monitrc
Nous allons donc modifier la fréquence du deamon qui permet à monit de récupérer nos informations.
Il suffit de dé-commenter la ligne, pour cela enlever le # devant.
set daemon 60
Ensuite, je vais activer les logs :
set logfile syslog facility log_daemon
je skip pour le moment la configuration du serveur de messagerie, j'y retournerais après.
J'active pour le moment les valeurs par défaut :
check system myhost.mydomain.tld
if loadavg (1min) > 4 then alert
if loadavg (5min) > 2 then alert
if memory usage > 75% then alert
if cpu usage (user) > 70% then alert
if cpu usage (system) > 30% then alert
if cpu usage (wait) > 20% then alert
Après vous pouvez monitorez n'importe quel application grâce à leur pid, pour le moment je ne monitore que apache et mysql, car ce sont les seules applications installer pour le moment :
check process apache with pidfile /var/run/apache2.pid
start program = "/etc/init.d/httpd start" with timeout 60 seconds
stop program = "/etc/init.d/httpd stop"
if cpu > 60% for 2 cycles then alert
if cpu > 80% for 5 cycles then restart
if totalmem > 200.0 MB for 5 cycles then restart
if children > 250 then restart
if loadavg(5min) greater than 10 for 8 cycles then stop
check process mysql with pidfile /var/run/mysqld/mysqld.pid
start program = "/etc/init.d/mysqld start" with timeout 60 seconds
stop program = "/ete/init.d/mysqld stop"
if totalmem > 500.0 MB for 5 cycles then restart
if cpu > 80% for 15 cycle then restart
Ensuite, il suffit de configurer l'accée à l'interface web de monit.
J'ai donc modifier la section suivante :
set httpd port 2812 and
use address XXX.XXX.65.132 # only accept connection from localhost
allow admin:MOTSDEPASSE # require user 'admin' with password 'monit'
Bien sur à la place des XXX, il faut l'adresse de votre serveur. Et pour MOTSDEPASSE le mots de passe que vous voulez bien sur :)
Et pour finir :
/etc/init.d/monit restart
Voila essayer donc l'adresse suivante ;-) :
http://votreserveur:2812
Pour le serveur de messagerie, je vais pour le moment utiliser gmail.
J'ai deux adresses, donc l'une va envoyer un email à l'autre ;-)
Voici la configuration :
set mailserver smtp.gmail.com port 587
username "myadresse2@gmail.com" password "PasswordMyAdresse2"
using tlsv1
with timeout 30 seconds
set alert myadresse@gmail.com
Ne pas oublier de faire ceci :
/etc/init.d/monit restart
Voila pour le moment c'est tout pour monit