« Bac à sable » : différence entre les versions

De Le Wiki du Forum-Debian.fr
Aller à la navigation Aller à la recherche
m (Ébauche d'une nouvelle page)
Ligne 1 : Ligne 1 :
= testez le wiki ici =
= Consulter les logs : quoi, où et comment chercher ? =


{{Ébauche|les patates}}
Cet article est une ébauche. N'hésitez pas à contribuer ou à en discuter.


{{sid}}
Ê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.


{{stable}}
'''Pour voir "en direct" des logs (tail -f):'''
# tail -f /var/log/auth.log


*'''Un'''<br>
'''Avoir les 20 dernières lignes d'un fichier log:'''
*Deux
# tail -n 20 /var/log/messages
*''<u>Trois</u>''


'''Rechercher dans le texte facilement "à la vim" - "/recherche" avec less'''
# tail -n 20 /var/log/messages |less


<span style="color:#FF0000;">Texte en rouge</span>
'''Rechercher un paquet en particulier'''
# grep -R "nom_du_paquet" /var/log/*


<small>petite taille</small>
'''Y compris dans les logs compressés sous forme de fichiers .gz'''
# zgrep "nom_du-paquet" /var/log/*


<big>grande taille</big>
'''Il est également possible de "grepper" une commande grep.'''
# grep -r "dpkg" /var/log/* | grep erreur


<br>
'''Et avec une commande d'exclusion (grep -v => A l'exclusion de)'''
<blockquote>Test de citation....<br>
# grep -r "dpkg" /var/log/* | grep -v ejabberd
Deuxième ligne<br>
Troisième ligne
</blockquote>
<br> Retour


=== Faire des alinéas (décalage, tabulation) ===
'''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/


Il faut utiliser des ':', un pour chaque décalage.
'''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


Sans retrait
'''Avoir les 20 dernières lignes d'une recherche avec grep:'''
: Avec un retrait
  # grep -r "dpkg" /var/log/* | tail -n 20
  :: Avec deux retraits


Sans retrait
==Dans quels logs chercher ?==
: Avec un retrait
:: Avec deux retraits


== Titre de deuxième niveau ==
Les logs d'update-alternatives.
/var/log/alternatives.log


'''Important : le titre de premier niveau n'est jamais utilisé dans les articles puisqu'il s'agit du niveau utilisé pour le titre des articles.'''
Les logs du serveur http apache2.
/var/log/apache2/*


Une liste :
Les logs d'apt. Tous les paquets installés avec apt-get install, par exemple.
* Un lien interne direct: [[Special:Recentchanges]]
/var/log/apt/*
* ''italique''
* '''gras'''
* '''''gras et italique'''''
* <s>barré</s> ou <strike>barrer</strike>
* <u>en souligner d'autres...</u>


* Et ça marche avec les apostrophes : l''''automne''' sera pluvieux !
Les logs d'aptitude. Contient toutes les actions demandées, même les abandonnées.
On numérote '''une''' liste ?
/var/log/aptitude
# Pourquoi pas ?
# Je veux bien !
# C'est facile... Par exemple : [[Manuel_d'installation]] ou encore [[Commandes_informations]]


<ul>
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.
  <li>Liste avec balises HTML :
/var/log/auth.log
  <ol>
    <li>Premier élément
    <li>Second élément
  </ol>
  <li>d'autres branches à l'arborescence
</ul>


=== Troisième niveau : comment utiliser les indices ===
Les logs du serveur de nom bind9, s'il sont activés.
/var/log/bind.log


Du texte normal peut contenir <sub>un indice</sub> pour des notations.
Les informations enregistrées lors du démarrage du système. Ce fichier n'est pas activé par défaut.
/var/log/boot.log


==== Quatrième niveau de titre : et maintenant les exposants ====
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


Du texte normal peut contenir aussi <sup>un exposant</sup>.
Les logs du système d'impression cups.
/var/log/cups/*


===== Cinquième niveau de titre =====
Les informations sur les tâches cron. Enregistrement à chaque fois que le démon cron (ou anacron) commence une tâche.
/var/log/cron


Pour passer au paragraphe suivant, il faut laisser une ligne blanche.
Les informations enregistrées par les différents daemons (processus) de fond qui fonctionnent sur le système.
Ici, on est toujours dans le même paragraphe.
/var/log/daemon.log


Et hop, voici le nouveau paragraphe !
Les logs de debugging.
/var/log/debug


====== Sixième (et dernier) niveau de titre ======
Les messages du noyau Linux depuis le démarrage.
/var/log/dmesg


Normalement, ça doit suffire pour découper un article en détail.
Les informations sur les paquets installés ou retirés en utilisant la commande dpkg.
/var/log/dpkg.log


== Et pour les tableaux... ==
Les Ban/Unban et infos sur le programme (Error, Info, etc.) si fail2ban est installé.
/var/log/fail2ban.log


{| class="wikitable"
Les échecs de connexion. # faillog -u root
|+ Titre du tableau
/var/log/faillog
! colonne 1
! colonne 2
|-
| On peut aussi
| faire des tableaux
|- {{ligne grise}}
| c'est bien pratique
| pour présenter des données chiffrées
|}


== Exemple de texte avec une image ==
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


[[Fichier:IMG_5906.JPG|120px|right|thumb||Différents formats peuvent être utilisés pour les images (gif, png, jpg).]]
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.*


'''lol''' (Paris, 07 décembre 19xx) est un parfait inconnu !
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


Lol tente désespérément de faire fonctionner une extension du MediaWiki pendant trois jours... C'est dire son niveau !
Tous les messages, hormis les connexions des utilisateurs. Plus complet que /var/log/messages.
/var/log/syslog


Aujourd'hui après une dure bataille, il parvient enfin à mettre un terme au combat d'une semaine, contre ses propres lacunes, et en sort tout à fait plus inconnu qu'avant !
Les informations sur tous les journaux de niveau utilisateur.
/var/log/user.log


A part pédaler dans la choucroute quand il s'agit de Debian, lol fait un peu de quad, et quand il ne se casse pas la figure, il arrive à manoeuvrer sa machine (bien trop puissante pour lui) ...
Toutes les connexions et déconnexions: last -f /var/log/wtmp.
/var/log/wtmp


=== Galerie ===
Les messages du serveur X. N'existe pas sur un serveur.
/var/log/Xorg.x.log


Utilisez la galerie pour présenter plusieurs images de manière compacte au sein d'un article :
===Pour faciliter la lectures de toutes ces pages===
<gallery>
Fichier:IMG_5906.JPG|[[Utilisateur:Lol|Lol]]
Fichier:IMG_5906.JPG|[[Utilisateur:Lol|Encore Lol]]
Fichier:IMG_5906.JPG|[[Utilisateur:Lol|Toujours Lol]]
</gallery>


== Coloration syntaxique de code ==
'''Coloration syntaxique des logs'''
# apt-get install ccze
<u>Utilisation :</u>
# tail -10 /var/log/syslog | ccze -A
Voir la page de ccze : https://wiki.debian-fr.xyz/Ccze_-_Coloration_syntaxique_des_logs


Le nouvel outil mis à notre disposition est TRÈS PUISSANT et conviendra à tout le monde... [https://github.com/wikimedia/mediawiki-extensions-SyntaxHighlight_GeSHi/blob/master/SyntaxHighlight_GeSHi.lexers.php Liste des langages supportés ici]


python:
'''Pour afficher en couleur le nom de paquet recherché et aider à la lecture des history.log.'''
<syntaxhighlight lang="python">
  grep --color=always "nom_du_paquet" /var/log/apt/history.log
import string, sys
Et un alias :
$ alias grep
# If no arguments were given, print a helpful message
alias grep='grep --color=auto'
if len(sys.argv)==1:
    print 'Usage: celsius temp1 temp2 …'
    sys.exit(0)
   
# Loop over the arguments
for i in sys.argv[1:]:
    try:
        fahrenheit=float(string.atoi(i))
    except string.atoi_error:
print repr(i), "not a numeric value"
    else:
celsius=(fahrenheit-32)*5.0/9.0
print '%i\260F = %i\260C' % (int(fahrenheit), int(celsius+.5))
</syntaxhighlight>


bash:
<syntaxhighlight lang="bash">
secs=$((5 * 60))
while [ $secs -gt 0 ]; do
  echo -ne "$secs\033[0K\r"
  sleep 1
  : $((secs--))
done
</syntaxhighlight>


Etc. etc.
'''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
 


[[Catégorie:Aide]]
[[Catégorie:Aide]]

Version du 27 mai 2016 à 13:59

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