Bac à sable

De Le Wiki du Forum-Debian.fr
Révision datée du 27 mai 2016 à 13:59 par Wetaskiwin (discussion | contributions) (Ébauche d'une nouvelle page)
Aller à la navigation Aller à la recherche

Consulter les logs : quoi, où et comment chercher ?

Cet article est une ébauche. N'hésitez pas à contribuer ou à en discuter.

Être capable de chercher dans les logs peut se révéler indispensable. Les journaux log sont stockés dans le répertoire /var/log/ et sont consultables grâce aux commandes tail, grep et zgrep.

Pour voir "en direct" des logs (tail -f):

# tail -f /var/log/auth.log

Avoir les 20 dernières lignes d'un fichier log:

# tail -n 20 /var/log/messages

Rechercher dans le texte facilement "à la vim" - "/recherche" avec less

# tail -n 20 /var/log/messages |less

Rechercher un paquet en particulier

# grep -R "nom_du_paquet" /var/log/*

Y compris dans les logs compressés sous forme de fichiers .gz

# zgrep "nom_du-paquet" /var/log/*

Il est également possible de "grepper" une commande grep.

# grep -r "dpkg" /var/log/* | grep erreur

Et avec une commande d'exclusion (grep -v => A l'exclusion de)

# grep -r "dpkg" /var/log/* | grep -v ejabberd

Trouver dans quels fichiers de logs se trouve la chaine "dpkg" (-r recursive, -i insensible à la "casse", -l n'affiche pas tous les résultats, seulement le nom des fichiers)

# grep -r -i -l 'dpkg' /var/log/

Pour conserver le résultat des recherches dans un fichier (/tmp/ma_recherche_dpkg.log)

# grep -r -i -l 'dpkg' /var/log/ > /tmp/ma_recherche_dpkg.log

Avoir les 20 dernières lignes d'une recherche avec grep:

# grep -r "dpkg" /var/log/* | tail -n 20

Dans quels logs chercher ?

Les logs d'update-alternatives.

/var/log/alternatives.log

Les logs du serveur http apache2.

/var/log/apache2/*

Les logs d'apt. Tous les paquets installés avec apt-get install, par exemple.

/var/log/apt/*

Les logs d'aptitude. Contient toutes les actions demandées, même les abandonnées.

/var/log/aptitude

Les informations d'autorisation de système. Y sont consignées toutes les connexions (réussies ou pas) et la méthode d'authentification utilisée.

/var/log/auth.log

Les logs du serveur de nom bind9, s'il sont activés.

/var/log/bind.log

Les informations enregistrées lors du démarrage du système. Ce fichier n'est pas activé par défaut.

/var/log/boot.log

Semblable à /var/log/wtmp. Affiche les connexions/déconnexions au système # lastb alors que # last lira le fichier /var/log/wtmp.

/var/log/btmp

Les logs du système d'impression cups.

/var/log/cups/*

Les informations sur les tâches cron. Enregistrement à chaque fois que le démon cron (ou anacron) commence une tâche.

/var/log/cron

Les informations enregistrées par les différents daemons (processus) de fond qui fonctionnent sur le système.

/var/log/daemon.log

Les logs de debugging.

/var/log/debug

Les messages du noyau Linux depuis le démarrage.

/var/log/dmesg

Les informations sur les paquets installés ou retirés en utilisant la commande dpkg.

/var/log/dpkg.log

Les Ban/Unban et infos sur le programme (Error, Info, etc.) si fail2ban est installé.

/var/log/fail2ban.log

Les échecs de connexion. # faillog -u root

/var/log/faillog

Les informations enregistrées par le noyau. Utile pour débogguer un noyau personnalisé, par exemple.

/var/log/kern.log

Les informations de connexion récente de tous les utilisateurs. Ce n'est pas un fichier ascii. Vous devez utiliser la commande lastlog pour afficher le contenu de ce fichier.

/var/log/lastlog

Les informations du serveur de messagerie. Par exemple, sendmail enregistre des informations sur tous les éléments envoyés dans ces fichiers.

/var/log/mail.*

Les messages du système, y compris les messages qui sont enregistrés au démarrage. Beaucoup de choses sont enregistrées dans /var/log/ messages y compris le courrier, cron, daemon, kern, auth, etc.

/var/log/messages

Tous les messages, hormis les connexions des utilisateurs. Plus complet que /var/log/messages.

/var/log/syslog

Les informations sur tous les journaux de niveau utilisateur.

/var/log/user.log

Toutes les connexions et déconnexions: last -f /var/log/wtmp.

/var/log/wtmp

Les messages du serveur X. N'existe pas sur un serveur.

/var/log/Xorg.x.log

Pour faciliter la lectures de toutes ces pages

Coloration syntaxique des logs

# apt-get install ccze

Utilisation :

# tail -10 /var/log/syslog | ccze -A

Voir la page de ccze : https://wiki.debian-fr.xyz/Ccze_-_Coloration_syntaxique_des_logs


Pour afficher en couleur le nom de paquet recherché et aider à la lecture des history.log.

grep --color=always "nom_du_paquet" /var/log/apt/history.log

Et un alias :

$ alias grep
alias grep='grep --color=auto'


Et pour cumuler le tout : recherche dans les history.log.X.gz avec coloration syntaxique et coloration du nom du paquet.

# zgrep --color=always  "nom_du_paquet" /var/log/apt/history* | ccze -A