Monitoring d’un serveur dédié Ubuntu

Blog > Administration serveur dédié

Notre serveur dispose maintenant des fonctionnalités de base. Nous allons à présent nous pencher sur les outils à notre disposition pour contrôler sont état de fonctionnement et nous avertir si un soucis survient.

Munin, monitoring graphique de notre serveur

Munin est un outil de surveillance système et réseau qui génère une série de graphes nous permettant d’avoir des informations sur la charge de Apache, l’utilisation de la mémoire vive, la charge du processeur, l’état du réseau…

Une fois le paquet installé, il faudra réaliser quelques manipulations pour avoir accès à la page de visualisation des statistiques.

$ apt-get install munin                        # Installation de munin
$ vi /etc/munin/munin.conf                     # Fichier de config de munin
dbdir   /var/lib/munin                         # On dé-commente et on modifie
htmldir /var/www/util/munin                    # le htmldir avant de sauvegarder
logdir /var/log/munin
rundir  /var/run/munin
$ mkdir -p /var/www/util/munin                 # On créé l'arborescence 
$ chown munin:munin /var/www/util/munin        # On change les droits 
$ /etc/init.d/munin-node restart               # On redémarre le service

Nous n’avons plus qu’à attendre que Munin copie les fichiers dans notre répertoire et nous pourrons consulter nos graphiques à l’adresse : http://monserveur/util/munin

Munin

PhpSysInfo, informations sur notre serveur

PhpSysInfo propose une interface web affichant clairement toutes les informations systèmes et matériels du serveur. Il est disponible dans le dépôt, mais on va ici installer la dernière version.

$ cd /var/www/util
$ wget http://downloads.sourceforge.net/project/phpsysinfo/phpsysinfo/3.0.20/phpsysinfo-3.0.20.tar.gz
$ tar -xf phpsysinfo-3.0.20.tar.gz phpsysinfo
$ cd phpsysinfo/
$ mv config.php.new config.php
$ vi config.php
define('PSI_DEFAULT_LANG', 'fr');
define('PSI_SENSOR_PROGRAM', 'LMSensors');
define('PSI_HIDE_FS_TYPES', 'tmpfs,devtmpfs'); # On cache les systèmes de fichier inutiles
$ apt-get install lm-sensors                   # Dépendance utile 

Il ne nous reste plus qu’a consulter les informations à l’adresse : http://monserveur/util/phpsysyinfo

phpsysinfo

Monit

Monit est outil indispensable pour le monitoring d’un serveur. Son rôle est de surveiller le fonctionnement des services, nous avertir par mail en cas de défaillance et tenter de redémarrer les services arrêtés.

$ apt-get install monit

Une fois Monit installé , nous allons créer un fichier de config afin d’indiquer les services à surveiller et les mesures à prendre en cas de détection d’une anomalie.

$ vi /etc/monit/conf.d/maconfig                # On crée le fichier
set daemon  60                                 # On vérifie toutes les 60 secondes
set logfile syslog facility log_daemon
set mailserver localhost
set mail-format { 
  subject: [Monit] $HOST - $SERVICE $EVENT
}
set alert [email protected]                     # Destinataire
set httpd port 8123 and                        # Port pour l'accès à l'interface web
    allow login:passwd                         # login et mot de passe de connexion

# Scripts de surveillance des services
# Apache2
check process apache 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 www.idneo.fr port 80
protocol http then restart
if 5 restarts within 5 cycles then timeout
if cpu > 80% for 2 cycles then alert
if cpu > 90% for 5 cycles then restart
if children > 250 then restart

# MySQL
check process mysqld with pidfile /var/run/mysqld/mysqld.pid  # a adapter au serveur
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

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

# Postfix
check process postfix with pidfile /var/spool/postfix/pid/master.pid
group mail
start program = "/etc/init.d/postfix start"
stop  program = "/etc/init.d/postfix stop"
if failed port 25 protocol smtp then restart
if 5 restarts within 5 cycles then timeout

# BIND
check process bind9 with pidfile /var/run/named/named.pid
group bind
start program = "/etc/init.d/bind9 start"
stop  program = "/etc/init.d/bind9 stop"
if failed port 53 then restart
if 5 restarts within 5 cycles then timeout

# Disk
check device sda3 with path /dev/sda3
if space usage > 85% then alert
group system

Le fichier de configuration est assez simple à comprendre, il devra être adapté à la configuration de votre serveur si vous avez modifié les ports par défaut.

Il ne reste plus qu’à s’assurer que la syntax du fichier est correcte et redémarrer Monit.

$ /etc/init.d/monit syntax
$ /etc/init.d/monit start

Une fois redémarré, l’interface web de gestion de Monit est accessible sur le port défini dans la config avec le login et le mot de passe. Elle vous permettra de contrôler que tous les services sont sous surveillance.

monit

Logwatch

Logwatch est un démon qui va se charger d’analyser et résumer les logs générés par les autres services durant la journée afin de vous aider à détecter d’éventuelles anomalies. Son installation est elle aussi très simple grâce à APT et au paquet éponyme :

$ apt-get install logwatch

La configuration par défaut suffit amplement, on se contente de préciser le destinataire du mail de rapport quotidien dans le fichier /usr/share/logwatch/default.conf/logwatch.conf (celui-ci peut se trouver à un autre endroit du disque, n’hésitez pas à vous servir de la commande locate).

$ vi /usr/share/logwatch/default.conf/logwatch.conf
MailTo = [email protected]

Le mail de rapport vous donnera des informations sur :

  • Les erreurs httpd (400, 403, 404…)
  • Les connexions FTP et SSH
  • Les mails envoyés par Postfix
  • L’espace restant sur vos disques

Nous avons à présent tous les outils en place pour monitorer notre serveur. Monit nous alertera si un service tombe, Logwatch nous permettra de contrôler qu’il n’y a pas de problème sur nos sites et Munin nous fournira des informations très précises pour analyser finement d’où viennent les problèmes. PhpSysInfo est à mon sens l’outil le moins utile en terme de monitoring mais il propose une interface graphique claire et des informations sur le hardware que les autres n’ont pas.


Inscrivez-vous à notre Newsletter

Recevez nos meilleurs articles et accédez au contenu exclussif reservé aux abonnés.

Cet article vous est proposé par IDNEO.

Notre agence de communication est spécialisée dans la création de sites Internet, le référencement, le graphisme et la photographie.

avatar