Log : Message de texte horodaté
Ces informations sont utile pour diagnostiquer et monitorer les services.
Syslog
Syslog est utilisé sur 3 couches :
- "syslog content" : Le contenu du message
- "syslog application" : Le nom de l'application qui a généré le message (generation, interpretation, stockage)
- "syslog transport" : Le protocole utilisé pour l'envoi et la réception de logs.
Sous cette forme :
+---------------------+ +---------------------+
| content | | content |
|---------------------| |---------------------|
| syslog application | | syslog application | (originator,
| | | | collector, relay)
|---------------------| |---------------------|
| syslog transport | | syslog transport | (transport sender,
| | | | (transport receiver)
+---------------------+ +---------------------+
^ ^
| |
--------------------------
Path | Où sont stocké les logs
Les logs system sont stocké dans le répertoire /var/log/
Dans ce dossier il y a :
- auth.log
: Log des authentification
- kernel.log
: Log du noyau
- syslog
: Log des services
- deamon.log
: Log des démons
...
Commande pratique pour naviguer dans les logs depuis le terminal
Commande | Description |
---|---|
grep "error" /var/log/syslog |
Recherche les lignes contenant le mot "error" dans le fichier syslog |
grep "error" /var/log/ |
wc |
tail -n 10 /var/log/syslog |
Affiche les 10 dernières lignes du fichier syslog et suit les modifications |
Classification des logs de log
Niveau | Utilisation |
---|---|
auth | Utilisé pour des évènements concernant la sécurité ou l'authentification à travers des applications d'accès (type SSH) |
authpriv | Utilisé pour les messages relatifs au contrôle d'accès |
daemon | Utilisé par les différents processus systèmes et d'application |
kern | Utilisé pour les messages concernant le kernel |
Utilisé pour les évènements des services mail | |
user | Par défaut quand aucun n'est spécifié |
local7 | Utilisé pour les messages du boot |
* |
Désigne tous les éléments |
none | Ne désigne aucun élément |
Niveau des logs
Log Level | Signification |
---|---|
Emerg | urgence, système inutilisable |
Alert | intervention immédiate nécessaire |
Crit | erreur système critique |
Err | erreur de fonctionnement |
Warning | avertissement |
Notice | évènement normaux devant être signalés |
Info | pour information |
Debug | message de déboguage |
Serveur rsyslog
Exemple d'infra :
PC1 PC2 PC3
| | |
+------+------+
|
RSyslog
Configuration serveur rsyslog
/etc/rsyslog.conf
: Fichier de configuration de rsyslog
Il faut décommenter la lignes de connecte de logs sur le port UDP 514 (défault) :
# provides UDP syslog reception
module(load="imudp")
input(type="imudp" port="514")
Ensuite restart rsyslog : sudo systemctl restart rsyslog
Configuration client rsyslog
Il faut maintenant configurer les logs qu'il faut envoyé sur le serveur rsyslog.
/etc/rsyslog.d/50-default.conf
: Fichier de configuration de rsyslog
auth,authpriv.* @192.168.10.10:514
Bonne pratique
Mettre en place du filtrage via ip source sur le firewall de la machine afin de ne pas recevoir des logs de n'importe qui.
Logrotate
Logrotate eset un service qui permet de gérer la rotation et compression des logs.
Configuration
/etc/logrotate.conf
: Fichier de configuration de logrotate
Autres | Diagnostic
journalctl
: Affiche les logs du noyau