Syslog est la norme générale pour la journalisation des messages système et programme dans l'environnement Linux. Ce service constitue le démon de journalisation du système, où n'importe quel programme peut effectuer sa journalisation (débogage, sécurité, fonctionnement normal) via en plus les messages du noyau Linux.
En principe, les logs gérés par syslog sont disponibles dans le répertoire /var/log/ sur le système Linux :
# ls /var/log boot.log cloud-init-output.log firewalld maillog rhsm tallylog anaconda btmp cron gdm maillog-20151219 samba tuned audit btmp-20151219 cron-20151219 grubby messages secure wpa_supplicant.log auth.log choose_repo.log dmesg grubby_prune_debug messages-20151219 secure-20151219 wtmp yum.log chrony dmesg.old lastlog pm-powersave.log spooler xrdp.log
où certains des journaux sont vidés dans un sous-répertoire comme cups, samba, httpd. Parmi les journaux sous /var/log le /var/log/messages est le plus courant car les journaux système du noyau/noyau y sont conservés. Les modules du noyau s'y déchargent généralement aussi. Ainsi, pour le diagnostic/la surveillance des problèmes, /var/log/messages est le principal fichier journal à examiner.
Les journaux sont alternés chaque semaine (en renommant le journal existant en filename.number order) :
# ls -l /var/log/messages* -rw------- 1 root root 1973 Jun 10 15:07 /var/log/messages -rw------- 1 root root 10866 Jun 6 04:02 /var/log/messages.1 -rw------- 1 root root 19931 May 30 04:02 /var/log/messages.2 -rw------- 1 root root 238772 May 23 04:02 /var/log/messages.3 -rw------- 1 root root 171450 May 14 18:29 /var/log/messages.4
le fichier journal faisant l'objet d'une rotation hebdomadaire est supprimé au bout de 4 semaines (le nombre total de journaux couvre une période de 5 semaines). Ce mécanisme de rotation est fourni par crond et logrotate.
Il existe également rsyslogd fourni par le package rsyslog qui est une version plus fiable et étendue de syslogd. Pour plus d'informations, installez le package rsyslog et consultez la page de manuel de rsyslogd.
Contrôle des services
Pour démarrer le service syslog, utilisez l'une des commandes ci-dessous :
# service syslog start # /etc/init.d/syslog start
Pour arrêter le service syslog, utilisez l'une des commandes ci-dessous :
# service syslog stop # /etc/init.d/syslog stop
Pour voir le niveau d'exécution et la disponibilité du service, procédez comme suit :
# chkconfig --list syslog syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Si le service est désactivé, vous pouvez l'activer en :
# chkconfig --list syslog syslog 0:off 1:off 2:off 3:off 4:off 5:off 6:off # chkconfig syslog on # chkconfig --list syslog syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Configuration
Le fichier de configuration du service syslogd est /etc/sysconfig/syslog . Le fichier par défaut est comme ci-dessous :
# Options to syslogd # -m 0 disables 'MARK' messages. # -r enables logging from remote machines # -x disables DNS lookups on messages recieved with -r # See syslogd(8) for more details SYSLOGD_OPTIONS="-m 0" # Options to klogd # -2 prints all kernel oops messages twice; once for klogd to decode, and # once for processing with 'ksymoops' # -x disables all klogd processing of oops messages entirely # See klogd(8) for more details KLOGD_OPTIONS="-x" # SYSLOG_UMASK=077 # set this to a umask value to use for all log files as in umask(1). # By default, all permissions are removed for "group" and "other".
Vous y voyez deux groupes d'options différents pour :
klogd – Kernel Log Daemon :Il s'agit du démon qui récupère les messages du noyau Linux et les enregistre dans des fichiers.
syslogd – System Log Daemon :Interception et journalisation d'autres messages.
Le fichier de configuration par défaut répertorie certaines options que nous pouvons décrire plus en détail :
options syslogd :
- -m intervalle :Mettez une ligne avec "MARK" toutes les minutes d'intervalle. "-m 0" désactive complètement "MARK"
- -r :Utilisé pour permettre à l'installation de recevoir des messages du réseau à l'aide d'un socket de domaine Internet avec le service syslog.
- -x :Lorsque les journaux arrivent du réseau (via l'option -r), les adresses source seront fournies dans les journaux créés. Les adresses doivent être recherchées dans le DNS. Si la journalisation à distance est trop fréquente (et c'est généralement le cas lorsqu'il y a un problème sur le site distant), il n'est pas préférable de passer du temps sur les recherches DNS. Cette option peut être utilisée pour désactiver les recherches DNS.
- -S :journalisation détaillée
- -d :mode débogage pour syslogd
options klogd :
- -2 :imprime les lignes une fois avec du texte brut et une fois de plus avec des adresses converties en symboles. Cela serait nécessaire pour que ksymoops effectue le traitement sur les données d'origine.
- -x :Ne pas faire de traduction EIP (pour OOPS) pour ne pas lire le fichier System.map (vitesse de vidage accrue)
- -d :mode de débogage pour klogd
- -c n :Niveau de journalisation par défaut des messages de la console
umask :SYSLOG_UMASK contrôle les privilèges/permissions d'accès par défaut pour les fichiers journaux générés.