2.12. Configuration de syslogd pour l'enregistrement des événements

Il est possible d'éditer le fichier /etc/syslog.conf pour permettre au cluster d'enregistrer les événements dans un fichier différent du fichier journal /var/log/messages. L'enregistrement des messages du cluster dans un fichier séparé permet de diagnostiquer les problèmes plus clairement.

Les membres utilisent le démon syslogd pour enregistrer dans un fichier les événements relatifs au cluster, comme spécifié dans le fichier /etc/syslog.conf. Le fichier journal facilite le diagnostic des problèmes au sein du cluster. Il est recommandé de configurer l'enregistrement des événements afin que le démon syslogd inscrive des messages de cluster seulement à partir du membre sur lequel il tourne. Dans de telles conditions, vous devez examiner les fichiers journaux sur tous les membres afin d'obtenir une vue complète du cluster.

Le démon syslogd enregistre des messages depuis les démons du cluster, dont la valeur par défaut de niveau de sévérité est de 4 (warning). Reportez-vous à la Section 2.6 pour davantage d'informations sur les démons de cluster.

L'importance d'un événement détermine le niveau de sévérité de l'entrée dans le fichier journal. Les événements importants devraient être examinés avant qu'ils n'affectent la disponibilité du cluster. Le cluster peut enregistrer des messages avec les niveaux de sévérité ci-dessous. Ces derniers sont énumérés par ordre de gravité :

Ci-dessous se trouvent des exemples d'entrées dans le fichier journal :

Jul 18 20:24:39 clu1 clufence[7397]: <info> STONITH: rps10 at /dev/ttyS0,\
	  port 0 controls clu1 
Jul 18 20:24:39 clu1 clufence[7397]: <info> STONITH: rps10 at /dev/ttyS0,\
	  port 1 controls clu2
Jul 18 20:24:53 clu1 clufence[7397]: Port 0 being turned off.
Jul 18 20:24:53 clu1 clufence[7397]: <notice> STONITH: clu2 has been fenced! 
Jul 18 20:51:03 clu1 clufence[30780]: <info> STONITH: rps10 at/dev/ttyS0,\
	  port 0 controls clu1
Jul 18 20:51:03 clu1 clufence[30780]: <info> STONITH: rps10 at /dev/ttyS0,\
	  port 1 controls clu2
Jul 18 20:51:17 clu1 clufence[30780]: Port 0 being turned on.
Jul 18 20:51:17 clu1 clufence[30780]: <notice> STONITH: clu2 is no longer fenced off. 
     [1]         [2]      [3]               [4]         [5]

Chaque entrée dans le fichier journal contient les informations suivantes :

Après avoir configuré le logiciel de cluster, vous pouvez choisir en option, d'éditer le fichier /etc/syslog.conf pour permettre au cluster d'enregistrer des événements dans un fichier différent du fichier journal par défaut, /var/log/messages. Les utilitaires et démons du cluster enregistrent leurs messages à l'aide d'une balise syslog appelée local4. L'utilisation d'un fichier journal spécifique pour chaque cluster facilite la surveillance du cluster et la résolution de problèmes.

Pour éviter que les événements du cluster ne soient enregistrés dans le fichier /var/log/messages, ajoutez local4.none dans la ligne suivante du fichier /etc/syslog.conf :

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;news.none;authpriv.none;local4.none   /var/log/messages

Pour enregistrer les événements du cluster dans le fichier /var/log/cluster, ajoutez au fichier /etc/syslog.conf des lignes semblables à celles reproduites ci-dessous :

#
# Cluster messages coming in on local4 go to /var/log/cluster
#
local4.*                         /var/log/cluster

Pour mettre en oeuvre les changements précédents, relancez syslogd avec la commande service syslog restart.

Il est également possible de changer le degré de sévérité des événements qui sont enregistrés par les démons individuels du cluster. Consultez la Section 2.6 et la page de manuel pour syslog.conf pour de plus amples informations.

Pour effectuer la rotation du fichier journal du cluster selon la fréquence spécifiée dans le fichier /etc/logrotate.conf (la valeur par défaut est hebdomadaire), ajoutez /var/log/cluster sur la première ligne du fichier /etc/logrotate.d/syslog. Par exemple :

/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler 
/var/log/boot.log /var/log/cron /var/log/cluster {
   sharedscripts
   postrotate
       /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> 
       /dev/null || true
   endscript
}