Monitoring Serveur

Il est de plus en plus fréquent de vouloir monitorer son serveur web et d'être informer par e-mail des problèmes pouvant être rencontrés. Il existe de nombreuses solutions pour de gros parcs, tel que Nagios, Zabbix & co. Mais pour un unique serveur, je vous recommande d'utiliser Monit et LogWatch. Voyons comment les utiliser.

Avant toutes choses, les commandes suivantes sont exécutés sous Debian. Vous devriez trouver les équivalents pour les autres OS linux.

Monit

Monit est une application, permettant de surveiller les process et d'agir en conséquence lors d'une surconsommation par exemple. Pour vous donner une petite idée, on peut monitorer le serveur web apache2. Si celui ci ne répond plus, à cause d'un script, Monit va alors le redémarrer afin d'éviter le crash, et dans le pire des cas, le freeze du système. N'est ce pas fortement utile?

Installation

L'installation sous Debian est très rapide. N'oubliez pas de mettre à jour vos sources apt. Une ligne de commande:

Configuration

Tout d'abord, nous allons commencer par éditer le fichier /etc/default/monit. Il suffit juste de modifier l'option suivante:

Passons cette fois-ci au fichier /etc/monit/monitrc. Ce fichier permet de configurer Monit afin surveiller les process dont on a besoin.

Tout d'abord, nous allons le configurer de la manière suivante:

Détaillons les lignes ci-dessus:

  • daemon 60 : défini l'intervalle entre deux vérifications ( en seconde ).
  • mailserver : défini le ou les serveur(s) mails à utiliser.
  • mail-format: la configuration pour l'envoi du mail. Pour plus d'infos sur la configuration rendez-vous ici.
  • alert: l'email du destinataire.
  • httpd: Activation de l'interface web sur le port 1234 avec pour identifiant: admin et mot de passe: test.

Il est possible d'utiliser le SSL, si vous souhaitez vous connecter via l'interface web. Les détails de la configuration se trouve ici. Démarrez Monit en utilisant:

Vous pouvez vous rendre sur votre site à l'adresse: http//www.example.com:1234 afin d'accéder à l'interface web.

Ajout de services

Pour rajouter des services, rien de très compliqué. Il suffit d'éditer /etc/monit/monitrc et de spécifier en fin de fichier:

  • Le PID du service.
  • les commandes de démarrage/arrêt du service.
  • la condiftion de test à effectuer.
  • le(s) commande(s) à effectuer lorsque le test ok.

Un exemple pour une configuration pour Apache2:

Rien de très compliqué n'est ce pas ? Quelques examples de plus :

Mysql
SSHD
PROFTPD

Pour d'autres exemples, rendez vous sur le wiki officiel.

Logwatch

Cette application permet, une fois configurée, de recevoir par e-mail diverses informations sur la machine :

  • recherche d'erreurs dans les logs.
  • informations sur les installations via apt.
  • occupation disque.
  • etc.

Installation

Tout comme Monit l'installation se fait en une seule ligne de commande:

apt-get install logwatch

Configuration

La configuration ne demande pas de changement. Il faut tout de même éditer /usr/share/logwatch/default.conf/logwatch.conf et modifier la ligne ou les lignes suivantes :

Plus d'informations sur la configuration c'est par ici.