Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
monit [Le 18/05/2008, 17:11] 90.17.203.156, 213.95.41.13monit [Le 03/12/2022, 11:52] (Version actuelle) freechelmi
Ligne 1: Ligne 1:
 +{{tag>administration systeme serveur vétuste}}
 ====== Monit : Alerter et Réagir en cas de panne ====== ====== Monit : Alerter et Réagir en cas de panne ======
  
Ligne 8: Ligne 9:
 panne, //monit// peut alerter l'administrateur du système. panne, //monit// peut alerter l'administrateur du système.
  
-La particularité de //monit// par rapport à d'autres solutions similaires +//monit// peut comme d'autres solutions similaires 
-(//Zabbix//, //Nagios//réside dans le fait qu'il est capable de +(//Zabbix//, //Nagios//) déclencher des actions pour tenter de rétablir un service interrompu,
-déclencher des actions pour tenter de rétablir un service interrompu,+
 comme par exemple relancer un serveur //Apache// si il ne répond plus ou comme par exemple relancer un serveur //Apache// si il ne répond plus ou
 vider la file d'attente d'un serveur //Postfix// en cas d'engorgement. vider la file d'attente d'un serveur //Postfix// en cas d'engorgement.
Ligne 24: Ligne 24:
  
  
-Une solution de gestion distribuée de //monit// est en cours +Une solution de gestion distribuée de //monit//, appelée //m/monit// permet de superviser 
-d'élaboration. Cette solution s'appelera //m/monit// et devrait être +à distance de multiples instances //monit//, c'est-à-dire les administrer et centraliser des informations historiques et statistiques envoyées par chaque instance //monit// gérée.
-disponible dans le courant de l'année 2007. //m/monit// est un système +
-de gestion à distance de multiples instances //monit//. C'est aussi un +
-serveur à qui les instances //monit// envoient des informations historiques +
-et statistiques.+
  
  
Ligne 35: Ligne 31:
  
  
-L'installation est très simple : ::+L'installation est très simple :
  
   $ apt-get install monit   $ apt-get install monit
  
 Le paquet se trouve dans le dépôt //Universe// Le paquet se trouve dans le dépôt //Universe//
 +
  
  
Ligne 53: Ligne 50:
 Éditer le fichier ///etc/monit/monitrc.// afin d'obtenir les options Éditer le fichier ///etc/monit/monitrc.// afin d'obtenir les options
 suivantes : suivantes :
- +<file> 
-  set daemon  60 + set daemon  60 
-  set logfile syslog facility log_daemon + set logfile syslog facility log_daemon 
-  set mailserver localhost + set mailserver localhost 
-  set mail-format { from: monit@serveurdev.example.com } + set mail-format { from: monit@serveurdev.example.com } 
-  set alert root@localhost + set alert root@localhost 
-  set httpd port 2812 and + set httpd port 2812 and 
-     SSL ENABLE +    SSL ENABLE 
-     PEMFILE  /var/certs/monit.pem +    PEMFILE  /var/certs/monit.pem 
-     allow admin:test +    allow admin:test 
 +</file>
 L'instruction //set daemon// permet de définir la durée d'un "cycle" L'instruction //set daemon// permet de définir la durée d'un "cycle"
 //monit//. Un cycle correspond à l'intervalle (en secondes) entre deux //monit//. Un cycle correspond à l'intervalle (en secondes) entre deux
Ligne 84: Ligne 81:
  
    vi /var/certs/monit.cnf    vi /var/certs/monit.cnf
 +<file>
    # create RSA certs - Server    # create RSA certs - Server
    RANDFILE = ./openssl.rnd    RANDFILE = ./openssl.rnd
Ligne 109: Ligne 106:
    [ cert_type ]    [ cert_type ]
    nsCertType = server    nsCertType = server
 +</file>
 Puis procéder à la génération du certificat : Puis procéder à la génération du certificat :
- +<code> 
-   $ openssl req -new -x509 -days 365 -nodes -config ./monit.cnf +   $ openssl req -new -x509 -days 365 -nodes -config ./monit.cnf -out /var/certs/monit.pem -keyout /var/certs/monit.pem
-             -out /var/certs/monit.pem -keyout /var/certs/monit.pem+
    $ openssl gendh 512 >> /var/certs/monit.pem    $ openssl gendh 512 >> /var/certs/monit.pem
    $ openssl x509 -subject -dates -fingerprint -noout -in /var/certs/monit.pem    $ openssl x509 -subject -dates -fingerprint -noout -in /var/certs/monit.pem
    $ chmod 700 /var/certs/monit.pem    $ chmod 700 /var/certs/monit.pem
 +</code>
  
- +Dans un environnement de développement, la sécurisation par //SSL// peut 
-Dans un environnement de développement, la sécurisation par //SSL// n'est +ne pas être nécessaire, on peut donc avantageusement remplacer la procédure
-pas nécessaire, on peut donc avantageusement remplacer la procédure+
 ci-dessus par les lignes : ci-dessus par les lignes :
 +<code>
    set httpd port 2812 and    set httpd port 2812 and
-       allow admin:monit +   allow admin:monit 
 +</code>
 L'étape suivante consiste à activer le *daemon* par défaut et définir la L'étape suivante consiste à activer le *daemon* par défaut et définir la
 fréquence de surveillance (ici : 60 secondes). Pour cela on édite le fréquence de surveillance (ici : 60 secondes). Pour cela on édite le
 fichier ///etc/default/monit// : fichier ///etc/default/monit// :
 +<file>
    startup=1    startup=1
    CHECK_INTERVALS=60    CHECK_INTERVALS=60
 +</file>
 Il ne reste plus qu'à démarrer //monit// : Il ne reste plus qu'à démarrer //monit// :
 +<code>
    $ /etc/init.d/monit start    $ /etc/init.d/monit start
 +</code>
 Vérifier que le *daemon* est activé, en se connectant à l'adresse : :: Vérifier que le *daemon* est activé, en se connectant à l'adresse : ::
 +<code>
 +   http://serveurdev.exemple.fr:2812/
 +</code>
  
-   http://serveurdev.exemple.fr:2812/ 
  
 ===== Utilisation ===== ===== Utilisation =====
Ligne 155: Ligne 153:
 Par exemple, voici comment redémarrer automatiquement le serveur //SSH// Par exemple, voici comment redémarrer automatiquement le serveur //SSH//
 s'il ne répond plus : :: s'il ne répond plus : ::
 +<file>
      check process sshd with pidfile /var/run/sshd.pid      check process sshd with pidfile /var/run/sshd.pid
            start program  "/etc/init.d/ssh start"            start program  "/etc/init.d/ssh start"
Ligne 161: Ligne 159:
            if failed port 22 protocol ssh then restart            if failed port 22 protocol ssh then restart
            if 5 restarts within 5 cycles then timeout            if 5 restarts within 5 cycles then timeout
 +</file>
 La dernière ligne permet d'éviter des boucles infinies, notamment si La dernière ligne permet d'éviter des boucles infinies, notamment si
 la configuration du serveur //SSH// est erronée. la configuration du serveur //SSH// est erronée.
Ligne 167: Ligne 165:
 Bien sûr il est possible de configurer des traitements d'erreurs plus Bien sûr il est possible de configurer des traitements d'erreurs plus
 fins. Voici par exemple, une politique de surveillance d'//Apache// : :: fins. Voici par exemple, une politique de surveillance d'//Apache// : ::
 +<file>
       check process apache with pidfile /var/run/apache2.pid group www       check process apache with pidfile /var/run/apache2.pid group www
         start program = "/etc/init.d/apache2 start"         start program = "/etc/init.d/apache2 start"
Ligne 179: Ligne 177:
         if loadavg(5min) greater than 10 for 8 cycles then stop         if loadavg(5min) greater than 10 for 8 cycles then stop
         if 3 restarts within 5 cycles then timeout         if 3 restarts within 5 cycles then timeout
 +</file>
 Dans cet exemple, //monit// vérifiera la présence d'un fichier Dans cet exemple, //monit// vérifiera la présence d'un fichier
 //monit/token// sur le serveur. En cas d'absence le serveur sera //monit/token// sur le serveur. En cas d'absence le serveur sera
Ligne 193: Ligne 191:
  
  
-* Quelques exemples de configurations avancées :: +  * Quelques exemples de configurations avancées : https://mmonit.com/wiki/Monit/ConfigurationExamples 
- +  * Documentation : https://mmonit.com/monit/documentation/monit.html 
-           http://www.tildeslash.com/monit/doc/examples.php+  * Plusieurs tutoriels sur la configuration de Monit : http://www.it-connect.fr/tutoriels/securite/supervision/monit/
  
-* Plus de détails sur //m/monit// :: 
  
-       http://www.tildeslash.com/mmonit/