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édentes Ré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.13
monit [Le 14/01/2020, 06:55] (Version actuelle)
78.251.109.36 [Présentation] Actualisation du paragraphe sur m/monit qui datait de 2007.
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 13: Ligne 14:
 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.
 +
 +<​note>​Note d'un adminsys qui passe par là : Zabbix et Nagios savent aussi déclencher des actions avant d'​envoyer des alertes. Ceci n'est pas une spcificité de Monit.
 +
 +--- //​[[:​utilisateurs:​tiramiseb|tiramiseb]] Le 12/04/2014, 14:​25//</​note>​
  
 //monit// est un logiciel à la fois simple et puissant. À utiliser avec //monit// est un logiciel à la fois simple et puissant. À utiliser avec
Ligne 24: Ligne 29:
  
  
-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 36:
  
  
-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 55:
 É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 86:
  
    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 111:
    [ 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 158:
 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 164:
            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 170:
 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 182:
         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 196:
  
  
-* Quelques exemples de configurations avancées :: +  ​* Quelques exemples de configurations avancées : http://​mmonit.com/​wiki/​Monit/​ConfigurationExamples 
- +  * Documentation : http://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/​ 
  
  
  • monit.1211123507.txt.gz
  • Dernière modification: Le 18/04/2011, 14:59
  • (modification externe)