Les fichiers journaux sont les fichiers qui conservent des informations sur les activités du système telles que les tentatives d'autorisation et d'accès, les tentatives de démarrage et d'arrêt, le démarrage et l'arrêt du service, etc. Il existe différents fichiers journaux pour différents types d'activités. Les fichiers journaux facilitent le dépannage et la surveillance des activités du système. Rsyslog est un programme open-source pour le système d'exploitation Linux qui peut être configuré à la fois comme serveur de journalisation et comme client.
Chez LinuxAPT, dans le cadre de nos services de gestion de serveur, nous aidons régulièrement nos clients à effectuer des requêtes Rsyslog associées.
Dans ce contexte, nous examinerons la configuration du serveur Rsyslog sur Ubuntu OS 20.04 à l'aide de deux machines Ubuntu. Sur une machine Ubuntu, nous allons configurer Rsyslog en tant que serveur de journalisation, et sur l'autre machine ; nous allons configurer Rsyslog en tant que client qui enverra les journaux au serveur Rsyslog.
Comment installer Rsyslog sur Ubuntu 20.04 LTS Focal Fossa ?
1. Effectuez la mise à jour du système
Pour commencer, assurez-vous que tous vos packages système sont à jour en exécutant les commandes apt suivantes dans le terminal :
$ sudo apt update
$ sudo apt upgrade
2. Installez Rsyslog sur le système
Par défaut, Rsyslog est désormais disponible sur le référentiel de base Ubuntu. Maintenant, nous exécutons la commande suivante ci-dessous pour installer le package serveur Rsyslog sur votre système :
$ sudo apt install rsyslog
Une fois l'installation terminée, démarrez et activez le service Rsyslog :
$ sudo systemctl start rsyslog
$ sudo systemctl enable rsyslog
$ sudo systemctl status rsyslog
Pour vérifier l'installation de Rsyslog et afficher l'état de son service, exécutez la commande ci-dessous :
$ sudo systemctl status rsyslog
Comment configurer le serveur Rsyslog sur Ubuntu ?
1. Configurer Rsyslog
Maintenant que Rsyslog est installé et en cours d'exécution, nous allons maintenant le configurer en tant que serveur de journalisation.
Editez le fichier de configuration Rsyslog etc/rsyslog.conf :
$ sudo nano /etc/rsyslog.conf
Ajoutez les lignes ci-dessous dans le fichier de configuration Rsyslog :
# Receive syslog over UDP
module(load="imudp")
input(type="imudp" port="514")
# Receive syslog over TCP
module(load="imtcp")
input(type="imtcp" port="514")
Ensuite, nous créerons un modèle qui sera utilisé par Rsyslog pour stocker les messages syslog entrants. Pour ce faire, ajoutez les lignes ci-dessous dans le fichier de configuration Rsyslog avant la section GLOBAL DIRECTIVES :
$template remote-incoming-logs, "/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?remote-incoming-logs
Ensuite, enregistrez et fermez le fichier de configuration.
Exécutez maintenant la commande ci-dessous pour redémarrer le service de Rsyslog :
$ sudo systemctl restart rsyslog
Vous pouvez également vérifier si Rsyslog écoute le port TCP/UDP 514 à l'aide de la commande ci-dessous :
$ sudo ss -tunlp | grep 514
2. Configurer le pare-feu
Si le pare-feu est activé sur votre système, vous devrez ouvrir le port TCP/UDP 514. Ce port est utilisé par le serveur Rsyslog pour recevoir les journaux du client distant. Exécutez ces commandes pour ouvrir le port TCP/UDP 514 dans le pare-feu Ubuntu :
$ sudo ufw allow 514/tcp
$ sudo ufw allow 514/udp
Rechargez ensuite le pare-feu :
$ sudo ufw reload
Comment configurer le client Rsyslog sur Ubuntu ?
Maintenant, sur l'autre système Ubuntu, nous allons effectuer la configuration du client Rsyslog. Ce client enverra alors ses journaux au serveur de journalisation Rsyslog.
Sur la machine Ubuntu que vous souhaitez configurer en tant que client Rsyslog, installez d'abord Rsyslog (s'il n'est pas déjà installé) :
$ sudo apt install rsyslog
Modifiez ensuite le fichier de configuration Rsyslog à l'aide de cette commande :
$ sudo nano /etc/rsyslog.conf
Ajoutez les lignes ci-dessous à la fin du fichier de configuration Rsyslog. Assurez-vous de remplacer 192.168.72.201 par l'adresse IP de votre serveur de journalisation Rsyslog :
#Send system logs to rsyslog server over RDP
*.* @192.168.72.201:514
#Send system logs to rsyslog server over TCP
*.* @@192.168.72.201:514
##Set disk queue to preserve your logs in case rsyslog server is experiencing any downtime
$ActionQueueFileName queue
$ActionQueueMaxDiskSpace 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1
Enregistrez et fermez le fichier de configuration Rsyslog.
Exécutez maintenant la commande ci-dessous pour redémarrer le service de Rsyslog :
$ sudo systemctl restart rsyslog
Comment afficher les fichiers journaux du client dans le serveur Rsyslog ?
Une fois que vous avez terminé toutes les configurations décrites ci-dessus, vous pouvez afficher les fichiers journaux envoyés par les clients au serveur Rsyslog. Sur votre machine serveur Rsyslog, exécutez la commande ci-dessous dans le Terminal :
$ ls /var/log/
Dans la sortie de la commande ci-dessus, vous verrez un répertoire portant le même nom que le nom d'hôte de votre système client.
Pour afficher les fichiers journaux de la machine cliente, listez le contenu de ce répertoire :
$ sudo ls /var/log/directory