Pour un rendu optimal, activez JavaScript

Monit, un outil simple de monitoring pour surveiller Jeedom.

 ·  ☕ 3 min de lecture  ·  🩊 Propositionjoe

Le monitoring Ă  l’ancienne

Edit 24 juillet 2019: Je ne conseille plus d’utiliser cet outil, systemd fait le job plus simplement.

Contexte

Pour ma domotique j’utilise la solution Jeedom. Cette derniĂšre avait tendance ces derniers temps Ă  planter, ou plus exactement, la base mysql, avait tendance Ă  crasher. TrĂšs fatigant. En effet, un service de domotique se doit d’ĂȘtre fiable - ou au minimum constant - pour ĂȘtre vivable. Pour me laisser le temps de creuser les raisons de ces plantages, tout en maintenant les services, je me suis mis en quĂȘte d’un outil de monitoring, et de relance de service, lisible et simple Ă  mettre en oeuvre. En ce domaine les solutions ne manquent pas: j’ai testĂ© (rapidement) zabbix, nagios, centreon, mais en me faisant le constat que ces artilleries lĂ  n’Ă©taient clairement pas dimensionnĂ© Ă  mes besoins, qui sont trĂšs modestes.

En dĂ©couvrant le tout simple monit j’ai Ă©tĂ© conquis. Un apt, un fichier de conf, et un restart de service et roule ma poule… Voyons donc ça.

Installation de Monit

~$ apt install monit
~$ nano /etc/monit/monitrc
    #Configuration de monit
    set daemon 90
    set alert courriel@toi.com
    set httpd port 2812 # port du service
    allow admin:monit # login et mdp
    #Configuration de l'alerte
    set mail-format {
    from: monit@votre.machine
    subject: $SERVICE $EVENT at $DATE
    message: Monit $ACTION $SERVICE at $DATE on $HOST: $DESCRIPTION.
}

    #Surveillance du service 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 22822 protocol ssh then restart
    if 5 restarts within 5 cycles then timeout

    #De MySQL
    check process mysqld with pidfile /var/run/mysqld/mysqld.pid
    start program = "/etc/init.d/mysql start"
    stop program = "/etc/init.d/mysql stop"
    if failed unixsocket /var/run/mysqld/mysqld.sock then alert
    if failed unixsocket /var/run/mysqld/mysqld.sock then restart
    if 3 restarts within 5 cycles then timeout

    #De fail2ban
    check process fail2ban with pidfile /var/run/fail2ban/fail2ban.pid
    start program = "/etc/init.d/fail2ban start"
    stop program = "/etc/init.d/fail2ban stop"
    if failed unixsocket /var/run/fail2ban/fail2ban.sock then restart
    if 5 restarts within 5 cycles then timeout

    #De apache
    check process apache2 with pidfile /var/run/apache2/apache2.pid
    start program = "/etc/init.d/apache2 start"
    stop program = "/etc/init.d/apache2 stop"
    if failed port 80 for 2 cycles then restart

~$ systemctl restart monit.service

Bravo, c’est terminĂ©. Rendez vous Ă  l’adresse ip-de-votre-machine:2812 pour vĂ©rifier que tout va bien.

Configurer le serveur courriel

Je ne reçois pas les courriels d’alerte?

Si vous ne les recevez pas, peut ĂȘtre n’avez vous pas ce qu’il faut d’installĂ© pour que votre machine y arrive. Voyons ça.

~$ apt install postfix
~$ nano /etc/aliases
    root:courriel@toi.com #ajoutez une ligne Ă  la fin du fichier
~$ nano /etc/hostname
    jeedom.monadresse.com
~$ hostname jeedom.monadresse.com
~$ dpkg-reconfigure postfix

Puis sĂ©lectionnez envoie par site web, renseignez l’adresse de votre site, et laissez toutes les options comme configurĂ©es de base. C’est tout. Pour tester si vous recevez bien vos courriels.

~$ mail -s "Teste" courriel@toi.com < /dev/null

Partagez

Propositionjoe
RÉDIGÉ PAR
Propositionjoe
Soyez rĂ©solus de ne servir plus et vous voilĂ  libres, Étienne de La BoĂ©tie, Bricoleur militant.