Table des matières
Version : 2020.01
Dernière mise-à-jour : 2020/01/30 03:28
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_2019_11_29_1344 begin.log_2019_11_29 install_log finish.log sysidtool.log finish.log_2019_11_29 # 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 :
# head /var/adm/messages Nov 29 13:46:34 unknown genunix: [ID 672855 kern.notice] syncing file systems... Nov 29 13:46:34 unknown genunix: [ID 904073 kern.notice] done Nov 29 13:26:09 unknown genunix: [ID 540533 kern.notice] ^MSunOS Release 5.10 Version Generic_147148-26 64-bit Nov 29 13:26:09 unknown genunix: [ID 700403 kern.notice] Copyright (c) 1983, 2013, Oracle and/or its affiliates. All rights reserved. Nov 29 13:26:09 unknown unix: [ID 223955 kern.info] x86_feature: lgpg Nov 29 13:26:09 unknown unix: [ID 223955 kern.info] x86_feature: tsc Nov 29 13:26:09 unknown unix: [ID 223955 kern.info] x86_feature: msr Nov 29 13:26:09 unknown unix: [ID 223955 kern.info] x86_feature: mtrr Nov 29 13:26:09 unknown unix: [ID 223955 kern.info] x86_feature: pge Nov 29 13:26:09 unknown unix: [ID 223955 kern.info] x86_feature: cmov
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 Tue Jan 14 13:45:26 CET 2020 Nov 30 06:22:09 solaris.i2tch.loc pseudo: [ID 129642 kern.info] pseudo-device: systrace0 Nov 30 06:22:09 solaris.i2tch.loc genunix: [ID 936769 kern.info] systrace0 is /pseudo/systrace@0 Nov 30 06:22:09 solaris.i2tch.loc pseudo: [ID 129642 kern.info] pseudo-device: fbt0 Nov 30 06:22:09 solaris.i2tch.loc genunix: [ID 936769 kern.info] fbt0 is /pseudo/fbt@0 Nov 30 06:22:09 solaris.i2tch.loc pseudo: [ID 129642 kern.info] pseudo-device: sdt0 Nov 30 06:22:09 solaris.i2tch.loc genunix: [ID 936769 kern.info] sdt0 is /pseudo/sdt@0 Nov 30 06:22:09 solaris.i2tch.loc pseudo: [ID 129642 kern.info] pseudo-device: fasttrap0 Nov 30 06:22:09 solaris.i2tch.loc genunix: [ID 936769 kern.info] fasttrap0 is /pseudo/fasttrap@0 Nov 30 06:22:09 solaris.i2tch.loc pseudo: [ID 129642 kern.info] pseudo-device: fcsm0 Nov 30 06:22:09 solaris.i2tch.loc genunix: [ID 936769 kern.info] fcsm0 is /pseudo/fcsm@0 --More--
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:version_81.log application-database-postgresql:version_82.log application-database-postgresql:version_82_64bit.log application-database-postgresql_83:default_32bit.log application-database-postgresql_83:default_64bit.log application-font-fc-cache:default.log application-gdm2-login:default.log application-graphical-login-cde-login:default.log application-management-dmi:default.log application-management-ocm: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 --More--
Journalisation Sécuritaire
/var/adm/sulog
Ce fichier contient la journalisation de l'utilisation de la commande su :
# tail /var/adm/sulog SU 11/30 05:27 + console LOGIN-root
/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/2 2.2.0.10.rev.sfr Tue Jan 14 12:45 still logged in root sshd 2.2.0.10.rev.sfr Tue Jan 14 12:45 still logged in reboot system boot Tue Jan 14 12:44 reboot system down Sat Nov 30 06:23 root console :0 Sat Nov 30 06:23 - down (45+06:21) root pts/2 2.2.0.10.rev.sfr Sat Nov 30 06:22 - 06:23 (00:00) root sshd 2.2.0.10.rev.sfr Sat Nov 30 06:22 - 06:23 (00:00) root pts/2 2.2.0.10.rev.sfr Sat Nov 30 06:22 - 06:22 (00:00) root sshd 2.2.0.10.rev.sfr Sat Nov 30 06:22 - 06:22 (00:00) reboot system boot Sat Nov 30 06:22 reboot system down Sat Nov 30 06:21 root pts/3 :0.0 Sat Nov 30 06:20 - down (00:01) root console :0 Sat Nov 30 06:20 - down (00:01) reboot system boot Sat Nov 30 06:19 reboot system down Sat Nov 30 06:18 root pts/3 :0.0 Sat Nov 30 06:17 - 06:17 (00:00) root console :0 Sat Nov 30 06:17 - down (00:02) reboot system boot Sat Nov 30 06:14 reboot system down Sat Nov 30 06:14 root pts/3 :0.0 Sat Nov 30 05:28 - down (00:45) root console :0 Sat Nov 30 05:28 - down (00:45) reboot system boot Sat Nov 30 05:28 reboot system down Sat Nov 30 05:27 reboot system boot Fri Nov 29 17:41 reboot system down Fri Nov 29 14:19 root console :0 Fri Nov 29 13:30 - down (04:10) reboot system boot Fri Nov 29 13:26 wtmp begins Fri Nov 29 13:26
/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 Tue Jan 14 13:47:32 CET 2020 solaris.i2tch.loc pts/2 root 12:45 pts/2 822 0:00 sh pts/2 952 0:00 whodo
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.
Important - 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 # tail /var/adm/messages Jan 14 12:44:54 solaris.i2tch.loc pseudo: [ID 129642 kern.info] pseudo-device: vol0 Jan 14 12:44:54 solaris.i2tch.loc genunix: [ID 936769 kern.info] vol0 is /pseudo/vol@0 Jan 14 12:44:54 solaris.i2tch.loc pseudo: [ID 129642 kern.info] pseudo-device: rsm0 Jan 14 12:44:54 solaris.i2tch.loc genunix: [ID 936769 kern.info] rsm0 is /pseudo/rsm@0 Jan 14 12:44:54 solaris.i2tch.loc pseudo: [ID 129642 kern.info] pseudo-device: pool0 Jan 14 12:44:54 solaris.i2tch.loc genunix: [ID 936769 kern.info] pool0 is /pseudo/pool@0 Jan 14 12:44:54 solaris.i2tch.loc ipf: [ID 774698 kern.info] IP Filter: v4.1.9, running. Jan 14 12:44:56 solaris.i2tch.loc syslogd: line 24: WARNING: loghost could not be resolved Jan 14 13:49:42 solaris.i2tch.loc root: [ID 702911 user.error] Unix est super Jan 14 13:49:42 solaris.i2tch.loc 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 (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. # #ident "@(#)logadm.conf 1.8 10/04/12 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 -c # # 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 |
<html> <center> Copyright © 2020 Hugh Norris.<br><br> </center> </html>