« Rsyslog » : différence entre les versions
(Page créée avec « Category:service_journalisation ''Rsyslog'' est une implémentation libre du protocole [https://fr.wikipedia.org/wiki/Syslog Syslog]. Il permet une centralisation des... ») |
(Ajout d'une configuration Rsyslog client + mise à jour de la syntaxe de la section "Configuration de l'écoute" + changement des balises sources en syntaxhighlight) |
||
(Une version intermédiaire par le même utilisateur non affichée) | |||
Ligne 15 : | Ligne 15 : | ||
'''Dé-commenter les lignes suivantes''' | '''Dé-commenter les lignes suivantes''' | ||
< | <syntaxhighlight lang="bash"> | ||
module(load="imudp") | |||
input(type="imudp" port="514") | |||
</ | </syntaxhighlight> | ||
pour écouter en | pour écouter en ''TCP'' et | ||
< | <syntaxhighlight lang="bash"> | ||
module(load="imtcp") | |||
input(type="imtcp" port="514") | |||
</ | </syntaxhighlight> | ||
pour écouter en | pour écouter en ''UDP''. | ||
==Configuration du rangement== | ==Configuration du rangement== | ||
Dans < | Dans <syntaxhighlight lang="bash" inline>/etc/rsyslog.conf</syntaxhighlight>, et avant la ligne <syntaxhighlight lang="bash" inline>$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat</syntaxhighlight>, mettre ceci: | ||
$template syslog,"/var/log/clients/%fromhost%/syslog.log" | $template syslog,"/var/log/clients/%fromhost%/syslog.log" | ||
*.* ?syslog | *.* ?syslog | ||
Ligne 36 : | Ligne 36 : | ||
Redémarrer le service | Redémarrer le service | ||
systemctl restart rsyslog.service | systemctl restart rsyslog.service | ||
=Partie cliente= | |||
Le serveur peut être utilisé par tout client communiquant via le protocole ''syslog'' tel que les [[Syslog - cisco|équipements actifs Cisco]] ou les clients Linux avec la [https://wiki.debian.org/Rsyslog configuration Rsyslog] suivante : | |||
<syntaxhighlight lang="bash"> | |||
# Règle 1 | |||
$ActionQueueType LinkedList # Exécuter le traitement de façon asynchrone. | |||
$ActionQueueFileName srvrfwd1 # Préfixe de nom unique pour les fichiers spool. Active également le mode disque. | |||
$ActionQueueMaxDiskSpace 1g # Limite d'espace de 1 Go. | |||
$ActionQueueSaveOnShutdown on # Enregistrer les données sur le disque si Rsyslog est arrêté. | |||
$ActionResumeRetryCount -1 # Tentatives infinies en cas d'échec de connexion avec l'hôte. | |||
# jouter les lignes suivantes dans la section RULES : | |||
# Envoyer tous les messages sur le serveur de journalisation distant avec la commande suivante : | |||
*.* @@Cible_IP_serveur_1_LogAnalayzer:514 # Où 514 est le port d'écoute qui a été défini dans la configuration. Il faut coller l'adresse IP du serveur aux "@@". | |||
# Règle 2 | |||
# Reprendre les éléments de la première règle. | |||
</syntaxhighlight> | |||
Un redémarrage du service doit être entrepris pour charger la configuration | |||
systemctl restart rsyslog.service | |||
Enfin, il est possible d'écrire dans le journal (depuis le client) en guise de test de bon fonctionnement | |||
logger -s "--- Ceci est un client Rsyslog ---" | |||
Le message doit-être visible sur le serveur dans le fichier <syntaxhighlight inline lang="bash">/var/log/clients/IP.DU.CLIENT.SYSLOG/syslog.log</syntaxhighlight>. |
Dernière version du 12 avril 2022 à 10:10
Rsyslog est une implémentation libre du protocole Syslog. Il permet une centralisation des journaux systèmes, qu'ils soient locaux ou en provenances d'une machine distante.
Installation
Rsyslog est présent par défaut dans de nombreuses distributions Linux et est, à défaut, présent dans les dépôts.
apt install rsyslog
Serveur de journaux
Nous allons voir comment configurer Rsyslog pour accepter les journaux en provenance des machines de notre réseau et automatiquement les ranger séparément dans des dossiers.
Configuration de l'écoute
Éditer le fichier de configuration
vim /etc/rsyslog.conf
Dé-commenter les lignes suivantes
module(load="imudp")
input(type="imudp" port="514")
pour écouter en TCP et
module(load="imtcp")
input(type="imtcp" port="514")
pour écouter en UDP.
Configuration du rangement
Dans /etc/rsyslog.conf
, et avant la ligne $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
, mettre ceci:
$template syslog,"/var/log/clients/%fromhost%/syslog.log" *.* ?syslog
Redémarrer le service
systemctl restart rsyslog.service
Partie cliente
Le serveur peut être utilisé par tout client communiquant via le protocole syslog tel que les équipements actifs Cisco ou les clients Linux avec la configuration Rsyslog suivante :
# Règle 1
$ActionQueueType LinkedList # Exécuter le traitement de façon asynchrone.
$ActionQueueFileName srvrfwd1 # Préfixe de nom unique pour les fichiers spool. Active également le mode disque.
$ActionQueueMaxDiskSpace 1g # Limite d'espace de 1 Go.
$ActionQueueSaveOnShutdown on # Enregistrer les données sur le disque si Rsyslog est arrêté.
$ActionResumeRetryCount -1 # Tentatives infinies en cas d'échec de connexion avec l'hôte.
# jouter les lignes suivantes dans la section RULES :
# Envoyer tous les messages sur le serveur de journalisation distant avec la commande suivante :
*.* @@Cible_IP_serveur_1_LogAnalayzer:514 # Où 514 est le port d'écoute qui a été défini dans la configuration. Il faut coller l'adresse IP du serveur aux "@@".
# Règle 2
# Reprendre les éléments de la première règle.
Un redémarrage du service doit être entrepris pour charger la configuration
systemctl restart rsyslog.service
Enfin, il est possible d'écrire dans le journal (depuis le client) en guise de test de bon fonctionnement
logger -s "--- Ceci est un client Rsyslog ---"
Le message doit-être visible sur le serveur dans le fichier /var/log/clients/IP.DU.CLIENT.SYSLOG/syslog.log
.