Monitoring Serveur

Publié par Philippe VINCENT-ROYOL, le 12/11/2010 10:57 dans | 0 commentaires

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 interface

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:

apt-get install monit

Configuration

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

startup=1

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:

set daemon  60
set logfile syslog facility log_daemon
set mailserver localhost, smtp.free.fr
set mail-format { from: <span class="search_hit">monit</span>@example.com }
set alert root@localhost
set httpd port 1234 and
   allow admin:test

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:

/etc/init.d/monit start
 

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:

check process httpd with pidfile /var/run/apache2.pid
group apache
start program = "/etc/init.d/apache2 start"
stop program = "/etc/init.d/apache2 stop"
if failed host 127.0.0.1 port 80 protocol http then restart
if 5 restarts within 5 cycles then timeout
if cpu is greater than 85% for 2 cycles then alert
if cpu > 90% for 5 cycles then restart
if children > 250 then restart

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

Mysql

check process mysqld with pidfile /var/run/mysqld/mysqld.pid
group database
start program = "/etc/init.d/mysql start" 
stop program = "/etc/init.d/mysql stop"
if failed host 127.0.0.1 port 3306 then restart 
if 5 restarts within 5 cycles then timeout
 

SSHD

check process sshd with pidfile /var/run/sshd.pid
start program "/etc/init.d/sshd start"
stop program "/etc/init.d/sshd stop"
if failed port 22 protocol ssh then restart
if 5 restarts within 5 cycles then timeout
 

PROFTPD

check process proftpd with pidfile /var/run/proftpd.pid
start program = "/etc/init.d/proftpd start"
stop program = "/etc/init.d/proftpd stop"
if failed port 21 protocol ftp then restart
if 5 restarts within 5 cycles then timeout
 

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 :

Output = mail
Format = html
MailTo = test@example.com

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

Philippe VINCENT-ROYOL

Consultant et expert Technique chez eZ Systems France (http://ez.no/fr). Adepte de nouvelles technologies, photos, etc.

Commentaires

M'avertir des nouveaux commentaires
Texte anti-spam :*

Entrez les deux mots ci-dessous, avec ou sans espace.
Les lettres ne sont pas sensibles à la casse.
Une difficulté pour lire ? Essayer un autre

Se souvenir de moi

Catégories

Popular post

About us

Bonjour et bienvenue sur le Blog ! Vous atterissez sur une nouvelle version porté par le html5 et css3. Malheureusement pour les utilisateurs d'IE des bugs peuvent encore arriver. Mais n'hésitez pas à me les remonter par mail.

Très bonne visite et à bientôt !

Twitter update

Pas de nouveaux tweets...

Flux de photos

Contact

Location: Paris
Email: vincent.royol@gmail.com
Twitter: dspe
Copyright © 2013 Pheelit.fr ! All rights reserved. W3C standard website. Valid (x)html / css
by Philippe VINCENT-ROYOL