12 février 2014

Journaux système (logwatch)

Les journaux système (logs) permettent de suivre l’activité du système et sont situés dans le dossier /var/log.
D’une distribution à l’autre, les journaux varient.

1. Journaux de Debian

Les journaux spécifiques à Debian :
Journal
Format
Description
alternatives.log
texte
Information des update-alternatives.
L’update-alternatives gère des liens symboliques déterminant les commandes par défaut.
apt
dossier
Informations sur la commande apt.
aptitude
texte
Informations sur la commande aptitude.
auth.log
texte
Informations d’autorisation du système, c’est-à-dire les connexions des utilisateurs et des services. 
btmp
binaire
Informations sur les tentatives de connexion infructueuses. Commande :
last -f /var/log/btmp | less
ConsoleKit
dossier
Informations sur ConsoleKit qui est un dæmon pour surveiller les utilisateurs connectés sur le système.
cups
dossier
Informations sur le dæmon Common unix Printing System.
daemon.log
texte
Informations sur les dæmons du système.
debug
texte
Informations sur le débogage de toutes les installations. 
dmesg
texte
Affiche la mémoire tampon de message du noyau. Commande :
dmesg | less
dpkg.log
texte
Informations sur l’installation des paquets .deb.
exim4
dossier
Informations sur le programme exim.
faillog
binaire
Informations sur les échecs de connexion.
Commande :
faillog -a
fontconfig.log
texte
Informations sur la bibliothèque logicielle pour X Window System qui permet de configurer les polices de caractères.
fsck
dossier
Informations sur la commande fsck.
installer
dossier
Informations sur l’installation du système.
kern.log
texte
Informations du noyau Linux.
lastlog
binaire
Affiche les informations de connexion récente pour tous les utilisateurs. Commande :
lastlog
lpr.log
texte
Fichier journal de l’imprimante.
mail.err
texte
Informations critiques du serveur de messages (mail).
mail.info
texte
Informations du serveur de messages.
mail.log
texte
Informations non critiques du serveur de messages. 
mail.warn
texte
Avertissement du serveur de messages.
messages
texte
Informations générales du système.
news
dossier
Informations sur le serveur de news inn s’il est installé.
samba
dossier
Informations sur le dæmon Samba.
syslog
texte
Journal standard du système.
user.log
texte
Informations sur tous les journaux de niveau utilisateur.
wtmp
binaire
Informations sur toutes les connexions et l’historique des déconnexions. Commande :
last

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. Journaux de Ubuntu

Journal
Format
Description
alternatives.log
texte
Information des update-alternatives.
L’update-alternatives gère des liens symboliques déterminant les commandes par défaut.
auth.log
texte
Informations d’autorisation du système, c’est-à-dire les connexions des utilisateurs et des services.
boot.log
texte
Informations sur le démarrage du système.
btmp
binaire
Informations sur les tentatives de connexion infructueuses. Commande :
last -f /var/log/btmp | less
dist-upgrade
dossier
Informations sur la mise à niveau du système.
dmesg
texte
Affiche la mémoire tampon de message du noyau. Commande :
dmesg | less
dpkg.log
texte
Informations sur l’installation des paquets .deb.
faillog
binaire
Informations sur les échecs de connexion.
Commande :
faillog -a
fsck
dossier
Informations sur la commande fsck.
installer
dossier
Informations sur l’installation du système.
kern.log
texte
Informations du noyau Linux.
landscape
dossier
Informations sur les échecs de l’utilitaire : landscape-sysinfo.
lastlog
binaire
Affiche les informations de connexion récente pour tous les utilisateurs. Commande :
lastlog
mail.err
texte
Informations critiques du serveur de messages (mail).
mail.log
texte
Informations non critiques du serveur de messages. 
news
dossier
Informations sur le serveur de news inn s’il est installé.
syslog
texte
Journal standard du système.
udev
texte
Informations sur les périphériques.
ufw.log
texte
Informations sur le pare-feu ufw.
upstart
dossier
Informations sur les erreurs d’upstart.
wtmp
binaire
Informations sur toutes les connexions et l’historique des déconnexions. Commande :
last

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. Journaux de CentOS

Dès que l’installation de CentOS est réussie, les journaux du programme d’installation anaconda sont copiés du dossier /tmp vers /var/log.
Journal
Format
Description
anaconda.ifcfg.log
texte
Informations sur les interfaces réseau.
anaconda.log
texte
Informations générales sur l’installation.
anaconda.program.log
texte
Informations sur l’installation des programmes. 
anaconda.storage.log
texte
Informations sur le stockage (partitions, LVM...).
anaconda.syslog
texte
Informations générales sur le système.
anaconda.yum.log
texte
Informations sur le programme yum.
audit
dossier
Informations du dæmon Linux audit (auditd).
boot.log
texte
Informations sur le démarrage du système. 
btmp
binaire
Informations sur les tentatives de connexion infructueuses. Commande :
last -f /var/log/btmp | less
cron
texte
Informations sur le dæmon de planification de tâches cron.
cups
dossier
Informations sur le dæmon Common Unix Printing System.
dmesg
texte
Affiche la mémoire tampon de message du noyau. Commande :
dmesg | less
dracut.log
texte
Informations sur le programme dracut.
lastlog
binaire
Affiche les informations de connexion récente pour tous les utilisateurs. Commande :
lastlog
maillog
texte
Informations du serveur de messagerie.
messages
texte
Informations générales du système.
secure
texte
Informations sur la sécurité du système.
spooler
texte
Informations sur les erreurs de mail et de news.
tallylog
texte
Informations sur le module PAM (Pluggable Authentication Modules) de verrouillage de comptes : pam_tally2.
wtmp
binaire
Informations sur toutes les connexions et l’historique des déconnexions. Commande :
last
yum.log
texte
Informations sur le programme yum.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4. Lire les journaux système

Les journaux au format texte sont accessibles avec les commandes qui manipulent les fichiers. Quant aux journaux qui sont au format binaire, l’accès s’effectue obligatoirement par le biais d’une commande du shell qui leur est dédiée.
Pour les manipulations suivantes, nous utilisons la distribution Debian. La démarche est identique avec Ubuntu et CentOS.

a. Lire un journal texte

La liste de commandes permettant la lecture de fichiers textes est exhaustive. Voici les principales commandes :
Commande
Description
cat
Affiche le contenu du fichier sur la sortie standard (stdin).
more
Filtre permettant de se déplacer dans un texte écran par écran.
less
Filtre permettant de se déplacer dans un texte. less est un programme plus évolué que more.
head
Affiche le début de fichier sur n lignes.
tail
Affiche la fin de fichier sur n lignes.
grep
Affiche les lignes d’un fichier correspondant au motif spécifié.
awk
Langage pour manipuler des fichiers au format texte.












Lire l’intégralité du journal dmesg
Le fichier /var/log/dmesg est long pour tout afficher à l’écran. La commande choisie est less :
Syntaxe
less <nom_du_journal>
Tapez dans un terminal :
# less /var/log/dmesg
Et, vous obtenez à l’écran :
images/03EI15.png
Avec les flèches de direction, vous pouvez naviguer dans le texte. La lettre q quitte less.
Afficher les 10 premières lignes du journal dmesg
La commande head est choisie.
Syntaxe
head <nombre_de_lignes_à_afficher> <nom_du_fichier>
Tapez dans un terminal :
# head -10 /var/log/dmesg 
[    0.000000] Initializing cgroup subsys cpuset  
[    0.000000] Initializing cgroup subsys cpu  
[    0.000000] Linux version 3.2.0-4-amd64 (debian- 
kernel@lists.debian.org) (gcc version 4.6.3 (Debian 4.6.3-14) ) 
#1 
SMP Debian 3.2.41-2+deb7u2  
[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.2.0-4-amd64 
root=/dev/mapper/rootvg-root ro quiet  
[    0.000000] BIOS-provided physical RAM map:  
[    0.000000]  BIOS-e820: 0000000000000000 - 000000000009fc00  
(usable)  
[    0.000000]  BIOS-e820: 000000000009fc00 - 00000000000a0000  
(reserved)  
[    0.000000]  BIOS-e820: 00000000000f0000 - 0000000000100000 
 (reserved)  
[    0.000000]  BIOS-e820: 0000000000100000 - 000000001fff0000  
(usable)  
[    0.000000]  BIOS-e820: 000000001fff0000 - 0000000020000000 
 (ACPI data)
Afficher les 8 dernières lignes du journal dmesg
La commande tail est donc choisie.
Syntaxe
tail <nombre_de_lignes_à_afficher> <nom_du_fichier>
Tapez dans un terminal :
# tail -8 /var/log/dmesg 
[    8.136024] RPC: Registered tcp transport module.  
[    8.136025] RPC: Registered tcp NFSv4.1 backchannel transport  
module.  
[    8.168233] FS-Cache: Loaded  
[    8.213843] FS-Cache: Netfs ’nfs’ registered for caching  
[    8.228745] Installing knfsd (copyright (C) 1996  
okir@monad.swb.de).  
[    9.175446] ADDRCONF(NETDEV_UP): eth0: link is not ready  
[    9.177264] e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex,  
Flow Control: RX  
[    9.177788] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready 
Afficher les lignes contenant le mot clef « eth0 »
La commande grep est choisie.
Syntaxe
grep <motif> <nom_du_fichier>
Tapez dans un terminal :
# grep eth0 /var/log/dmesg 
[    3.378150] e1000 0000:00:03.0: eth0: (PCI:33MHz:32-bit) 
08:00:27:bb:0c:81  
[    3.378156] e1000 0000:00:03.0: eth0: Intel(R) PRO/1000 Network 
Connection  
[    9.175446] ADDRCONF(NETDEV_UP): eth0: link is not ready  
[    9.177264] e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex,  
Flow Control: RX  
[    9.177788] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready 

b. Lire un journal binaire

L’utilisation de certaines commandes du shell permet d’accéder à des fichiers journaux binaires comme last, lasb, lastlog, who...
Savoir qui est connecté sur la machine
La commande who va lire le fichier /var/log/wtmp.
# who 
bob      tty1         2013-07-13 14:22  
bob      pts/0        2013-07-13 14:33 (jersey.local)

c. Logwatch

Le programme logwatch permet de surveiller les journaux système et de créer des rapports. Il n’est pas installé par défaut mais il est présent dans les dépôts.
Installation sur Debian et Ubuntu
# apt-get install logwatch 
Lecture des listes de paquets... Fait  
Construction de l’arbre des dépendances        
Lecture des informations d’état... Fait  
Les paquets supplémentaires suivants seront installés :  
  libdate-manip-perl libyaml-syck-perl  
Paquets suggérés :  
  fortune-mod  
Les NOUVEAUX paquets suivants seront installés :  
  libdate-manip-perl libyaml-syck-perl logwatch  
0 mis à jour, 3 nouvellement installés, 0 à enlever et 0 non mis à  
jour.  
Il est nécessaire de prendre 3 403 ko dans les archives.  
Après cette opération, 13,9 Mo d’espace disque supplémentaires  
seront utilisés.  
Souhaitez-vous continuer [O/n] ?
Répondez o pour valider :
Réception de : 1 http://debian.proxad.net/debian/ wheezy/main 
libyaml-syck-perl amd64 1.20-1 [75,5 kB]  
Réception de : 2 http://debian.proxad.net/debian/ wheezy/main  
libdate-manip-perl all 6.32-1 [2 870 kB]  
Réception de : 3 http://debian.proxad.net/debian/ wheezy/main  
logwatch all 7.4.0+svn20120502rev103-1 [457 kB]  
3 403 ko réceptionnés en 7s (461 ko/s) 
Sélection du paquet libyaml-syck-perl précédemment désélectionné.  
(Lecture de la base de données... 49901 fichiers et répertoires  
déjà installés.)  
Dépaquetage de libyaml-syck-perl (à partir de .../libyaml-syck- 
perl_1.20-1_amd64.deb) ...  
Sélection du paquet libdate-manip-perl précédemment désélectionné.  
Dépaquetage de libdate-manip-perl (à partir de .../libdate-manip- 
perl_6.32-1_all.deb) ...  
Sélection du paquet logwatch précédemment désélectionné.  
Dépaquetage de logwatch (à partir de .../logwatch_7.4.0+svn20120502rev103-1_all.deb) ...  
Traitement des actions différées (« triggers ») pour « man-db »...  
Paramétrage de libyaml-syck-perl (1.20-1) ...  
Paramétrage de libdate-manip-perl (6.32-1) ...  
Paramétrage de logwatch (7.4.0+svn20120502rev103-1) ...
Installation sur CentOS
# yum install logwatch 
Loaded plugins: fastestmirror  
Loading mirror speeds from cached hostfile  
 * base: mirrors.coreix.net  
 * extras: mirrors.coreix.net  
 * updates: mirrors.coreix.net  
Setting up Install Process  
Resolving Dependencies  
--> Running transaction check  
---> Package logwatch.noarch 0:7.3.6-49.el6 will be installed  
--> Processing Dependency: perl(Date::Manip) for package:  
logwatch-7.3.6-49.el6.noarch  
--> Running transaction check  
---> Package perl-Date-Manip.noarch 0:6.24-1.el6 will be installed 
--> Processing Dependency: perl(YAML::Syck) for package: perl- 
Date-Manip-6.24-1.el6.noarch  
--> Running transaction check  
---> Package perl-YAML-Syck.x86_64 0:1.07-4.el6 will be installed 
--> Finished Dependency Resolution  
 
Dependencies Resolved  
 
================================================================== 
Package          Arch      Version            Repository     Size  
================================================================== 
Installing:  
logwatch         noarch    7.3.6-49.el6       base           298 k  
Installing for dependencies:  
perl-Date-Manip  noarch    6.24-1.el6         base           1.4 M  
perl-YAML-Syck  x86_64     1.07-4.el6         base            75 k  
 
Transaction Summary  
================================================================== 
Install       3 Package(s)  
  
Total download size: 1.7 M  
Installed size: 11 M  
Is this ok [y/N]:
Répondez y pour poursuivre :
Downloading Packages:  
(1/3): logwatch-7.3.6-49.el6

Aucun commentaire :

Enregistrer un commentaire