Outils pour utilisateurs

Outils du site


linux:logs

SYSLOG & LOGROTATE : Gestion des fichiers journaux

LOG

Gestion de la journalisation

Le daemon qui gère la journalisation est syslogd. Le fichier de configuration par lequel il gérable :

vi /etc/syslog.conf

Le champ sélecteur est lui-même encore divisé en deux parties, une facility et une priorité, séparés par un point («.»).

Facility

Les différentes facility sont définies par les mots suivants:

auth
authpriv
cron
daemon
kern
lpr
mail
mark
news
security (identique à auth)
syslog
user
uucp
local0 à local7

Priority

La priorité définit la sévérité du message. La priorité est l'un des mots-clés suivants :

debug
info
notice
warning
warn (identique à warning)
err
error (identique à err)
crit
alert
emerg
panic (identique à emerg)

Destination

Envoyer les logs :

@                # Envoyer les logs sur une machine distante
*                # Envoyer les logs à tous les utilisateurs connectés
root             # Envoyer les logs uniquement sur la console de root
/var/log/syslog  # Envoyer vers un fichier

Exemple

    kern.*                       /var/adm/kernel
    kern.crit                    @finlandia
    kern.crit                    /dev/console
    kern.info;kern.!err          /var/adm/kernel-info
La première règle dirige tous les messages de facility kernel vers le fichier /var/adm/kernel.

La seconde déclaration dirige tous les messages noyau de priorité crit et au-dessus vers l'hôte distant finlandia. Ceci est utile, car si l'hôte se crashe et que le disque subit des erreurs irréparables vous pourriez ne plus arriver à lire les messages stockés. S'ils sont aussi sur un hôte distant, vous pouvez encore essayer de trouver les raisons du crash.

La troisième règle dirige ces même messages vers la console courante, aussi l'utilisateur qui travaille sur la machine les recevra, aussi.

La quatrième ligne indique à syslogd de sauvegarder tous les messages noyau arrivant avec un priorité de info à warning dans le fichier /var/adm/kernel-info. Tout de err et au-dessus est exclu.

Gestion des rotations de logs

La rotation des logs est géré par logrotate. La gestion se fait par :

vi /etc/logrotate.conf

Dans ce fichier, il y a la conf par défault et il est possible de créer des conf spécifiques.

Options de conf

  • Voici les options possibles :

compress 	                This is used to compress the rotated log file with gzip. 
nocompress 	                This is used when you do not want to compress rotated log files. 
copytruncate 	                This is used when processes are still writing information to open log files. This option copies the active log file to a backup and truncates the active log file. 
nocopytruncate 	                This copies the log files to backup, but the open log file is not truncated. 
create mode owner group 	This rotates the log file and creates a new log file with the specified permissions, owner, and group. The default is to use the same mode, owner, and group as the original file. 
nocreate 	                This prevents the creation of a new log file. 
delaycompress 	                When used with the compress option, the rotated log file is not compressed until the next time it is cycled. 
nodelaycompress 	        This overrides delaycompress. The log file is compressed when it is cycled. 
errors address 	                This mails logrotate errors to an address. 
ifempty 	                With this, the log file is rotated even if it is empty. This is the default for logrotate. 
notifempty 	                This does not rotate the log file if it is empty. 
mail address 	                This mails log files that are cycled to an address. When mail log files are cycled, they are effectively removed from the system. 
nomail 	                        When mail log files are cycled, a copy is not mailed. 
olddir directory 	        With this, cycled log files are kept in the specified directory. This directory must be on the same filesystem as the current log files. 
noolddir 	                Cycled log files are kept in the same directory as the current log files. 
prerotate/endscript 	        These are statements that enclose commands to be executed prior to a log file being rotated. The prerotate and endscript keywords must appear on a line by themselves. 
postrotate/endscript 	        These are statements that enclose commands to be executed after a log file has been rotated. The postrotate and endscript keywords must appear on a line by themselves. 
daily 	                        This is used to rotate log files daily. 
weekly 	                        This is used to rotate log files weekly. 
monthly 	                This is used to rotate log files monthly. 
rotate count 	                This specifies the number of times to rotate a file before it is deleted. A count of 0 (zero) means no copies are retained. A count of 5 means five copies are retained. 
tabootext [+] list 	        This directs logrotate to not rotate files with the specified extension. The default list of extensions is .rpm-orig, .rpmsave, v, and ~. 
size size 	                With this, the log file is rotated when the specified size is reached. Size may be specified in bytes (default), kilobytes (sizek), or megabytes (sizem). 

Exemple

/var/log/maillog {
daily
missingok
rotate 52
compress
delaycompress
notifempty
create 640 root
sharedscripts
postrotate
if [ -f /var/run/postfix.pid ]; then
/etc/init.d/postfix reload > /dev/null
fi
endscript
}
daily : La rotation s’effectuera tous les jours. Nous pouvons aussi mettre weekly pour toutes les semaines , monthly pour tous les mois.

missingok : signifie que l’absence du/des fichier(s) log(s) n’est pas anormale. Si cette option n’est pas active alors l’administrateur recevra un mail si le/les log(s) est/sont manquant(s).

rotate 52: Nous garderons 52 fichiers. Soit pour mon cas, 52 jours de logs

compress : Les fichiers logs secondaire c’est à dire tout ce qui n’est pas le fichier de log principal ;) seront compréssés.

delaycompress : Reporte la compression du journal précédent au prochain cycle de permutation. Ceci n’a un effet qu’utilisé en combinaison avec l’option compress. Elle peut être utilisée quand il n’est pas possible de demander à un programme de fermer son journal et qu’il puisse par conséquent continuer à écrire pour un moment dans le journal précédent. notifempty: permet de ne pas permuter le journal lorsqu’il est vide create 640 root : Les fichiers secondaire créés auront pour créateur root et auront les droits 640

postrotate/endscript : Les lignes entre prerotate et endscript (chacun devant apparaître sur une ligne isolée) sont exécutées avant permutation du journal. Ces directives doivent apparaîtrent dans la définition d’un journal

sharedscripts : permet exécuter qu’ une fois le script postrotate par rotation

linux/logs.txt · Dernière modification: 15/04/2016 à 21:15 (modification externe)

Outils de la page