Ceci est une ancienne révision du document !
Table des matières
Dernière mise-à-jour : 2020/01/30 03:36
SO206 - Gestion de la Journalisation
La majorité des journaux du système et des applications se trouve dans le répertoire /var/adm.
Il est conseillé de déplacer le point de montage du répertoire /var/adm sur une tranche ou un volume logique à part. De cette façon, en cas de journalisation rapide trop bavarde la limite de la taille de ce répertoire est celle de la taille de la tranche ou du volume logique. Si vous laissez ce répertoire dans la racine du système, il existe un risque à ce que les journaux grossissent si vite qu'ils occupent toute l'espace disque libre, créant ainsi un crash système.
Gestion des journaux
Journalisation du Système
/var/sadm/system/logs
Ces répertoire contient les journaux générés par le processus d'installation de Solaris.
# ls /var/sadm/system/logs begin.log install_launch.log_2010_01_03_0752 begin.log_2010_01_03 install_log finish.log sysidtool.log finish.log_2010_01_03 # # cat /var/sadm/system/logs/begin.log Executing begin script "install_begin"... Begin script install_begin execution completed.
/var/adm/messages
Ce fichier contient la plupart des messages du système, y compris les heures de connexion et déconnexion réussies ou non :
# tail /var/adm/messages Aug 28 12:14:15 unknown genunix: [ID 882269 kern.info] PIO mode 4 selected Aug 28 12:14:15 unknown genunix: [ID 935449 kern.info] ATA DMA off: disabled. Control with "atapi-cd-dma-enabled" property Aug 28 12:14:15 unknown genunix: [ID 882269 kern.info] PIO mode 4 selected Aug 28 12:14:15 unknown syslogd: line 24: WARNING: loghost could not be resolvedAug 28 12:14:16 unknown sendmail[407]: [ID 702911 mail.crit] My unqualified host name (unknown) unknown; sleeping for retry Aug 28 12:14:16 unknown sendmail[409]: [ID 702911 mail.crit] My unqualified host name (unknown) unknown; sleeping for retry Aug 28 12:14:37 unknown pseudo: [ID 129642 kern.info] pseudo-device: devinfo0 Aug 28 12:14:37 unknown genunix: [ID 936769 kern.info] devinfo0 is /pseudo/devinfo@0 Aug 28 12:15:16 unknown sendmail[407]: [ID 702911 mail.alert] unable to qualify my own domain name (unknown) -- using short name Aug 28 12:15:16 unknown sendmail[409]: [ID 702911 mail.alert] unable to qualify my own domain name (unknown) -- using short name
La commande /usr/sbin/dmesg
Les messages générés pendant le démarrage du système peuvent être visualisés grâce à la commande dmesg :
# dmesg | more mardi 28 août 2012 13 h 53 CEST Aug 28 11:11:51 unknown pseudo: [ID 129642 kern.info] pseudo-device: profile0 Aug 28 11:11:51 unknown genunix: [ID 936769 kern.info] profile0 is /pseudo/profile@0 Aug 28 11:11:51 unknown pseudo: [ID 129642 kern.info] pseudo-device: systrace0 Aug 28 11:11:51 unknown genunix: [ID 936769 kern.info] systrace0 is /pseudo/systrace@0 Aug 28 11:11:51 unknown pseudo: [ID 129642 kern.info] pseudo-device: fbt0 Aug 28 11:11:51 unknown genunix: [ID 936769 kern.info] fbt0 is /pseudo/fbt@0 Aug 28 11:11:51 unknown pseudo: [ID 129642 kern.info] pseudo-device: sdt0 Aug 28 11:11:51 unknown genunix: [ID 936769 kern.info] sdt0 is /pseudo/sdt@0 Aug 28 11:11:51 unknown pseudo: [ID 129642 kern.info] pseudo-device: fasttrap0 Aug 28 11:11:51 unknown genunix: [ID 936769 kern.info] fasttrap0 is /pseudo/fasttrap@0 Aug 28 11:11:51 unknown pseudo: [ID 129642 kern.info] pseudo-device: fcp0 Aug 28 11:11:51 unknown genunix: [ID 936769 kern.info] fcp0 is /pseudo/fcp@0 Aug 28 11:11:51 unknown pseudo: [ID 129642 kern.info] pseudo-device: fcsm0 Aug 28 11:11:51 unknown genunix: [ID 936769 kern.info] fcsm0 is /pseudo/fcsm@0 Aug 28 11:11:51 unknown pseudo: [ID 129642 kern.info] pseudo-device: lx_systrace0 Aug 28 11:11:51 unknown genunix: [ID 936769 kern.info] lx_systrace0 is /pseudo/l--A suivre--
Journalisation des Services
/var/svc/log
Ce répertoire contient les journaux des services :
# ls /var/svc/log | more application-cde-printinfo:default.log application-database-postgresql_83:default_32bit.log application-database-postgresql_83:default_64bit.log application-database-postgresql:version_81.log application-database-postgresql:version_82_64bit.log application-database-postgresql:version_82.log application-font-fc-cache:default.log application-gdm2-login:default.log application-graphical-login-cde-login:default.log application-management-common-agent-container-1:default.log application-management-dmi:default.log application-management-seaport:default.log application-management-sma:default.log application-management-snmpdx:default.log application-management-wbem:default.log application-management-webmin:default.log application-opengl-ogl-select:default.log application-print-ipp-listener:default.log application-print-ppd-cache-update:default.log application-print-server:default.log application-stosreg:default.log milestone-devices:default.log --A suivre--
Journalisation Sécuritaire
/var/adm/sulog
Ce fichier contient la journalisation de l'utilisation de la commande su :
# tail /var/adm/sulog SU 08/27 09:39 + ??? root-root SU 08/27 16:08 + pts/3 root-test SU 08/28 11:12 + ??? root-root SU 08/28 11:17 + pts/3 root-test SU 08/28 12:14 + ??? root-root SU 08/28 12:22 + pts/3 root-test SU 08/28 12:25 + ??? root-root SU 08/28 12:25 + pts/3 root-test SU 08/28 12:35 + ??? root-root SU 08/28 12:35 + pts/3 root-test
/var/adm/wtmpx
La commande last indique les dates et heures des dernières connexions des utilisateurs lues à partir du fichier binaire /var/adm/wtmpx :
# last root pts/3 :0.0 Tue Aug 28 13:49 encore connecté root pts/3 :0.0 Tue Aug 28 13:32 - 13:49 (00:16) root pts/3 :0.0 Tue Aug 28 12:35 - 12:39 (00:03) root console :0 Tue Aug 28 12:35 encore connecté test console :0 Tue Aug 28 12:32 - 12:35 (00:02) root pts/3 :0.0 Tue Aug 28 12:25 - 12:32 (00:06) root console :0 Tue Aug 28 12:25 - 12:32 (00:06) test console :0 Tue Aug 28 12:23 - 12:25 (00:01) root pts/3 :0.0 Tue Aug 28 12:16 - 12:23 (00:06) root console :0 Tue Aug 28 12:14 - 12:23 (00:08) reboot system boot Tue Aug 28 12:14 reboot system down Tue Aug 28 12:13 root pts/3 :0.0 Tue Aug 28 11:13 - 12:13 (01:00) root console :0 Tue Aug 28 11:12 - arrêté (01:01) reboot system boot Tue Aug 28 11:11 reboot system down Mon Aug 27 17:30 root pts/4 :0.0 Mon Aug 27 14:26 - 16:16 (01:50) root pts/3 :0.0 Mon Aug 27 09:39 - arrêté (1+01:32 root console :0 Mon Aug 27 09:39 - arrêté (1+01:32 reboot system boot Mon Aug 27 09:38 reboot system down Fri Aug 24 12:03 root pts/3 :0.0 Fri Aug 24 11:57 - arrêté (2+21:40 root console :0 Fri Aug 24 11:56 - arrêté (2+21:41 reboot system boot Fri Aug 24 11:56 reboot system down Fri Aug 24 11:55 root pts/3 :0.0 Fri Aug 24 11:45 - arrêté (00:10) root console :0 Fri Aug 24 11:45 - arrêté (00:10) reboot system boot Fri Aug 24 11:44 reboot system down Thu Aug 23 16:34 root pts/3 :0.0 Thu Aug 23 14:05 - arrêté (21:39) root pts/3 :0.0 Wed Aug 22 14:43 - 13:59 (23:16) root console :0 Wed Aug 22 14:35 - arrêté (1+21:08 reboot system boot Wed Aug 22 14:35 reboot system down Wed Aug 22 14:34 root pts/3 :0.0 Fri Aug 17 09:12 - 14:34 (5+05:22) root console :0 Fri Aug 17 09:08 - arrêté (5+05:26 reboot system boot Fri Aug 17 10:07 reboot system down Thu Aug 16 17:20 root pts/3 :0.0 Thu Aug 16 17:01 - 17:12 (00:10) root pts/3 :0.0 Thu Aug 16 12:09 - 16:54 (04:44) root pts/3 :0.0 Tue Aug 14 14:38 - 12:07 (1+21:29) root console :0 Tue Aug 14 14:31 - arrêté (2+19:36 reboot system boot Tue Aug 14 15:12 reboot system down Mon Jan 30 11:59 root console :0 Mon Jan 30 11:56 - arrêté (197+02: reboot system boot Mon Jan 30 11:53 reboot system down Sun Dec 4 13:40 root console :0 Sun Dec 4 13:39 - arrêté (56+22:1 reboot system boot Sun Dec 4 13:38 reboot system down Sun Mar 13 15:18 root console :0 Sun Mar 13 15:18 - arrêté (265+22: root pts/3 :0.0 Sun Mar 13 15:08 - 15:18 (00:09) root console :0 Sun Mar 13 15:08 - 15:18 (00:10) reboot system boot Sun Mar 13 15:07 reboot system down Thu Jan 14 15:17 root console :0 Thu Jan 14 15:16 - arrêté (422+23: reboot system boot Thu Jan 14 14:22 reboot system down Sun Jan 3 08:52 root console :0 Sun Jan 3 08:51 - arrêté (11+05:3 reboot system boot Sun Jan 3 08:43 début de wtmp : Sun Jan 3 08:43
/var/adm/utmpx
La commande whodo indique qui fait quoi sur le système à l'instant t. L'information provient des fichiers /var/adm/utmpx et /proc/<pid> :
# whodo mardi 28 août 2012 14 h 31 CEST unknown console root 12:35 ? 24578 0:00 Xsession ? 24624 0:00 Xsession ? 24679 0:00 sconadm ? 24687 0:03 java ? 24727 0:00 sh ? 24831 0:00 csm ? 24837 0:00 init-scn-base ? 3052 0:00 sleep ? 24832 0:00 sconadm ? 24667 0:00 dsdm pts/2 24660 0:00 sdt_shell pts/2 24662 0:00 sh pts/2 24697 0:00 Xsession2.jds pts/2 24699 0:00 gnome-session pts/2 24708 0:00 gnome-keyring-d pts/2 24705 0:03 gconfd-2 pts/2 24710 0:00 xscreensaver ? 25640 0:13 java pts/3 root 13:49 ? 26489 0:01 gnome-terminal pts/3 26492 0:00 sh pts/3 3053 0:00 whodo ? 26490 0:00 gnome-pty-helpe
syslogd
Syslog
Syslog centralise les journaux du système grâce au daemon syslogd. Chaque daemon qui le souhaite peut communiquer avec syslogd via le port 514/udp ou via une socket unix. Les messages de journalisation envoyés à syslogd sont taggés avec un sous-système applicatif et une priorite.
# cat /etc/services | grep 514/udp syslog 514/udp
Syslogd décide ensuite de l'action à entreprendre concernant les informations transmises :
- ignorer les informations
- envoyer les informations à un syslogd sur une autre machine
- inscrire les informations dans un fichier sur disque
- transmettre les informations à un utilisateur
- transmettre les informations à tous les utilisateurs
- transmettre les informations à une application liée à syslogd via un tube
Sous-systèmes applicatifs
Le Sous-système applicatif, aussi appelé facility, permet d'indiquer à syslogd le type de programme qui envoie les informations
Sous-système applicatif | Description |
---|---|
auth | Message de sécurité / autorisation |
security | Message de sécurité / autorisation |
auth-priv | Message de sécurité / autorisation privé |
cron | Message de cron ou at |
daemon | Message d'un daemon |
ftp | Message du daemon ftp |
kern | Message du noyau |
local0 - local7 | Message d'une application |
lpr | Message du système d'impression |
Message du système de mail | |
news | Message du système de news |
syslog | Message interne de syslogd |
user | Message utilisateur |
uucp | Message du système UUCP |
mark | Message interne |
Priorités
La priorité détermine l'importance des informations :
Priorité | Description |
---|---|
emerg | Système inutilisable |
panic | Système inutilisable |
alert | Action immédiate requise |
crit | Condition critique atteinte |
err (error) | Erreurs rencontrées |
warn (warning) | Avertissements présentés |
notice | Condition normale - message important |
info | Condition normale - message simple |
debug | Condition normale - message de débogage |
/etc/syslog.conf
syslogd est configuré par le fichier /etc/syslog.conf :
# cat /etc/syslog.conf #ident "@(#)syslog.conf 1.5 98/12/14 SMI" /* SunOS 5.0 */ # # Copyright (c) 1991-1998 by Sun Microsystems, Inc. # All rights reserved. # # syslog configuration file. # # This file is processed by m4 so be careful to quote (`') names # that match m4 reserved words. Also, within ifdef's, arguments # containing commas must be quoted. # *.err;kern.notice;auth.notice /dev/sysmsg *.err;kern.debug;daemon.notice;mail.crit /var/adm/messages *.alert;kern.err;daemon.err operator *.alert root *.emerg * # if a non-loghost machine chooses to have authentication messages # sent to the loghost machine, un-comment out the following line: #auth.notice ifdef(`LOGHOST', /var/log/authlog, @loghost) mail.debug ifdef(`LOGHOST', /var/log/syslog, @loghost) # # non-loghost machines will use the following lines to cause "user" # log messages to be logged locally. # ifdef(`LOGHOST', , user.err /dev/sysmsg user.err /var/adm/messages user.alert `root, operator' user.emerg * )
La syntaxe du fichier /etc/syslog.conf est la suivante :
Sélecteur[; ...] [-] Action
Un Sélecteur est défini d'une des façons suivantes :
Sous-système applicatif.Priorité
Dans ce cas on ne tient compte que des messages de priorité égale ou supérieure à la Priorité indiquée.
Sous-système applicatif!Priorité
Dans ce cas on ne tient compte que des messages de priorité inférieure à la Priorité indiquée.
Sous-système applicatif=Priorité
Dans ce cas on ne tient compte que des messages de priorité égale à la Priorité indiquée.
L'utilisation du caractère spécial *
La valeur du Sous-système applicatif et/ou de la Priorité peut également être *. Dans ce cas, toutes les valeurs possibles du Sous-système applicatif et/ou de la Priorité sont concernées, par exemple : *.emerg.
n Sous-systèmes avec la même priorité
Plusieurs Sous-systèmes applicatifs peuvent être stipulés pour la même Priorité en les séparant avec un virgule. Par exemple : root, operator.
n Sélecteurs avec la même Action
Une Action peut s'appliquer à plusieurs Sélecteurs en les séparant par le caractère ;, par exemple : *.alert;kern.err;daemon.err.
Une Action précédée par le signe - est entreprise d'une manière asynchrone. Dans le cas ou l'action est entreprise d'une manière synchrone, la pertinence des journaux est garantie mais au prix d'un ralentissement du système.
/usr/bin/logger
La commande /usr/bin/logger permet d'intégrer des informations dans syslog. Ceci peut s'avérer utile dans des scripts bash.
La syntaxe de la commande est :
logger -p Sous-système applicatif.Priorité message
Par exemple saisissez la commande suivante :
# logger -p user.err Unix est super
Consultez ensuite le fichier /var/adm/messages. Vous obtiendrez un résultat similaire à celui-ci :
# tail /var/adm/messages Aug 29 09:55:48 unknown rootnex: [ID 349649 kern.info] xsvc0 at root Aug 29 09:55:48 unknown genunix: [ID 936769 kern.info] xsvc0 is /xsvc Aug 29 09:56:40 unknown sendmail[393]: [ID 702911 mail.alert] unable to qualify my own domain name (unknown) -- using short name Aug 29 09:56:40 unknown sendmail[394]: [ID 702911 mail.alert] unable to qualify my own domain name (unknown) -- using short name Aug 29 09:57:15 unknown pseudo: [ID 129642 kern.info] pseudo-device: devinfo0 Aug 29 09:57:15 unknown genunix: [ID 936769 kern.info] devinfo0 is /pseudo/devinfo@0 Aug 29 11:43:49 unknown root: [ID 702911 user.error] Unix est super Aug 29 11:43:49 unknown root: [ID 702911 user.error] Unix est super
/usr/sbin/logadm
Les fichiers journaux grossissent régulièrement. Le programme /usr/sbin/logadm est utilisé pour effectuer des rotations de ces fichiers selon la configuration contenue dans le fichier /etc/logadm.conf.
Visualisez le fichier /etc/logadm.conf :
# cat /etc/logadm.conf # Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # #ident "@(#)logadm.conf 1.7 07/01/10 SMI" # # logadm.conf # # Default settings for system log file management. # The -w option to logadm(1M) is the preferred way to write to this file, # but if you do edit it by hand, use "logadm -V" to check it for errors. # # The format of lines in this file is: # <logname> <options> # For each logname listed here, the default options to logadm # are given. Options given on the logadm command line override # the defaults contained in this file. # # logadm typically runs early every morning via an entry in # root's crontab (see crontab(1)). # /var/log/syslog -C 8 -a 'kill -HUP `cat /var/run/syslog.pid`' /var/adm/messages -C 4 -a 'kill -HUP `cat /var/run/syslog.pid`' /var/cron/log -c -s 512k -t /var/cron/olog /var/lp/logs/lpsched -C 2 -N -t '$file.$N' /var/fm/fmd/errlog -N -s 2m -M '/usr/sbin/fmadm -q rotate errlog && mv /var/fm/fmd/errlog.0- $nfile' /var/fm/fmd/fltlog -N -A 6m -s 10m -M '/usr/sbin/fmadm -q rotate fltlog && mv /var/fm/fmd/fltlog.0- $nfile' smf_logs /var/svc/log/*.log -C 8 -s 1m # # The entry below is used by turnacct(1M) # /var/adm/pacct -C 0 -N -a '/usr/lib/acct/accton pacct' -g adm -m 664 -o adm -p never # # The entry below manages the Dynamic Resource Pools daemon (poold(1M)) logfile. # /var/log/pool/poold -N -s 512k -a 'pkill -HUP poold; true'
Dans ce fichier, le format de chaque ligne est :
nomjournal [espace] options
Les options les plus importantes de la commande sont :
Option | Explication |
---|---|
-C | Suppression des anciens fichiers de journalisation jusqu'à ce qu'il ne reste que C fichiers. Cette option définit donc le nombre d'anciens fichiers de journalisation à garder sur disque |
-a | Exécuter la commande qui suit après la rotation de journal |
-s | La rotation n'a lieu que si la taille du fichier de journalisation est égale ou supérieur à la valeur indiquée |
-P | La rotation n'a lieu qu'après la période indiquée |
En règle générale, le renommage d'un fichier journal lors de la rotation de celui-ci suit une règle spécifique. Prenons l'exemple d'un fichier de journal nommé journal :
nom | Description |
---|---|
journal | Le fichier journal courant |
journal.0 | Le fichier journal avant la dernière rotation |
journal.1 | Le fichier journal avant l-avant-dernière rotation |
Références
<html> <center> Copyright © 2011-2018 I2TCH LIMITED.<br><br> </center> </html>