GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment configurer le serveur Rsyslog sur Ubuntu 18.04 LTS

Les journaux sont très utiles pour analyser et résoudre les problèmes liés au système et aux applications sous Linux. Par défaut, tous les fichiers journaux se trouvent dans le répertoire /var/log des systèmes d'exploitation basés sur Linux. Il existe plusieurs types de fichiers journaux, notamment cron, noyau, utilisateurs, sécurité et la plupart de ces fichiers sont contrôlés par le service Rsyslog.

Rsyslog est un système puissant et sécurisé pour le traitement des journaux. Le serveur Rsyslog reçoit les journaux sur le réseau de plusieurs serveurs physiques ou virtualisés et surveille la santé des différents services. Avec le serveur Rsyslog, vous pouvez surveiller les journaux d'autres serveurs, périphériques réseau et applications distantes à partir d'un emplacement centralisé.

Dans ce tutoriel, nous expliquerons comment configurer le serveur Rsyslog sur le serveur Ubuntu 18.04.

Prérequis

  • Deux serveurs exécutant Ubuntu 18.04.
  • Une adresse IP statique 192.168.0.101 est configurée sur la machine serveur Rsyslog et 192.168.0.102 est configurée sur la machine client Rsyslog.
  • Un mot de passe root est configuré sur les deux serveurs.

Installer Rsyslog

Par défaut, Rsyslog est installé sur le serveur Ubuntu 18.04. S'il n'est pas installé, vous pouvez l'installer en exécutant la commande suivante :

apt-get install rsyslog -y

Après avoir installé Rsyslog, vous pouvez vérifier la version de Rsyslog avec la commande suivante :

rsyslogd -v

Vous devriez obtenir le résultat suivant :

rsyslogd 8.32.0, compiled with:
	PLATFORM:				x86_64-pc-linux-gnu
	PLATFORM (lsb_release -d):		
	FEATURE_REGEXP:				Yes
	GSSAPI Kerberos 5 support:		Yes
	FEATURE_DEBUG (debug build, slow code):	No
	32bit Atomic operations supported:	Yes
	64bit Atomic operations supported:	Yes
	memory allocator:			system default
	Runtime Instrumentation (slow code):	No
	uuid support:				Yes
	systemd support:			Yes
	Number of Bits in RainerScript integers: 64

See http://www.rsyslog.com for more information.

Vous pouvez également vérifier l'état de Rsyslog avec la commande suivante :

systemctl status rsyslog

Vous devriez voir le résultat suivant :

? rsyslog.service - System Logging Service
   Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-10-22 04:28:55 UTC; 1min 31s ago
     Docs: man:rsyslogd(8)
           http://www.rsyslog.com/doc/
 Main PID: 724 (rsyslogd)
    Tasks: 4 (limit: 1114)
   CGroup: /system.slice/rsyslog.service
           ??724 /usr/sbin/rsyslogd -n

Oct 22 04:28:53 ubuntu1804 systemd[1]: Starting System Logging Service...
Oct 22 04:28:54 ubuntu1804 rsyslogd[724]: imuxsock: Acquired UNIX socket '/run/systemd/journal/syslog' (fd 3) from systemd.  [v8.32.0]
Oct 22 04:28:54 ubuntu1804 rsyslogd[724]: rsyslogd's groupid changed to 106
Oct 22 04:28:54 ubuntu1804 rsyslogd[724]: rsyslogd's userid changed to 102
Oct 22 04:28:54 ubuntu1804 rsyslogd[724]:  [origin software="rsyslogd" swVersion="8.32.0" x-pid="724" x-info="http://www.rsyslog.com"] start
Oct 22 04:28:55 ubuntu1804 systemd[1]: Started System Logging Service.

Configurer le serveur Rsyslog

Rsyslog est maintenant installé et en cours d'exécution. Ensuite, vous devrez le configurer pour qu'il s'exécute en mode serveur. Vous pouvez le faire en éditant le fichier /etc/rsyslog.conf.

nano /etc/rsyslog.conf

Tout d'abord, vous devrez définir le protocole soit UDP, soit TCP, soit les deux.

Pour utiliser les connexions UDP et TCP en même temps, recherchez et décommentez les lignes ci-dessous :

$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514

Ensuite, définissez le sous-réseau, l'adresse IP ou le domaine spécifique pour limiter l'accès comme indiqué ci-dessous :

$AllowedSender TCP, 127.0.0.1, 192.168.0.0/24, *.example.com
$AllowedSender UDP, 127.0.0.1, 192.168.0.0/24, *.example.com

Ensuite, vous devrez créer un modèle pour indiquer au serveur Rsyslog comment stocker les messages syslog entrants. Ajoutez les lignes suivantes juste avant la section GLOBAL DIRECTIVES :

$template remote-incoming-logs, "/var/log/%HOSTNAME%/%PROGRAMNAME%.log" 
*.* ?remote-incoming-logs

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, vérifiez la configuration de Rsyslog pour toute erreur de syntaxe avec la commande suivante :

rsyslogd -f /etc/rsyslog.conf -N1

Vous devriez voir le résultat suivant :

rsyslogd: version 8.32.0, config validation run (level 1), master config /etc/rsyslog.conf
rsyslogd: End of config validation run. Bye.

Enfin, redémarrez le service Rsyslog avec la commande suivante :

systemctl restart rsyslog

Maintenant, vérifiez que Rsyslog écoute sur TCP/UDP avec la commande suivante :

netstat -4altunp | grep 514

Vous devriez obtenir le résultat suivant :

tcp        0      0 0.0.0.0:514             0.0.0.0:*               LISTEN      1332/rsyslogd       
udp        0      0 0.0.0.0:514             0.0.0.0:*                           1332/rsyslogd       

Configurer le client Rsyslog

Le serveur Rsyslog est installé et configuré pour recevoir les journaux des hôtes distants.

Maintenant, vous devrez configurer le client Rsyslog pour envoyer des messages syslog au serveur Rsyslog distant.

Connectez-vous à la machine cliente et ouvrez le fichier de configuration Rsyslog comme indiqué ci-dessous :

nano /etc/rsyslog.conf

Ajoutez les lignes suivantes à la fin du fichier :

##Enable sending of logs over UDP add the following line:

*.* @192.168.0.101:514


##Enable sending of logs over TCP add the following line:

*.* @@192.168.0.101:514

##Set disk queue when rsyslog server will be down:

$ActionQueueFileName queue
$ActionQueueMaxDiskSpace 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1

Enregistrez et fermez le fichier. Ensuite, redémarrez le serveur Rsyslog pour appliquer les modifications de configuration :

systemtcl restart rsyslog

Afficher le journal du client

À ce stade, le client Rsyslog est configuré pour envoyer son journal au serveur Rsyslog.

Maintenant, connectez-vous au serveur Rsyslog et vérifiez le répertoire /var/log. Vous devriez voir l'entrée avec le nom d'hôte de vos machines clientes, y compris plusieurs fichiers journaux :

ls /var/log/rsyslog-client/

Sortie :

CRON.log  kernel.log  rsyslogd-2039.log  rsyslogd.log  sudo.log  wpa_supplicant.log

Conclusion

Dans l'article ci-dessus, nous avons appris comment installer et configurer le serveur Rsyslog sur le serveur Ubuntu 18.04. Nous avons également appris à configurer le client Rsyslog pour envoyer des journaux au serveur Rsyslog. N'hésitez pas à me demander si vous avez des questions.


Ubuntu
  1. Comment configurer le serveur et le client Kerberos sur Ubuntu 18.04 LTS

  2. Comment configurer le serveur de stockage iSCSI sur Ubuntu 18.04 LTS

  3. Comment configurer un serveur de stockage iSCSI sur Ubuntu 20.04 LTS

  4. Comment configurer Elasticsearch sur Ubuntu 18.04 et 16.04 LTS

  5. Configurer Rsyslog Server sur Ubuntu 20.04 - Comment faire ?

Comment configurer le serveur Git sur Ubuntu 20.04

Comment configurer le serveur Rsyslog sur Ubuntu

Comment configurer le serveur DHCP sur Ubuntu

Comment mettre à niveau vers Ubuntu Server 22.04 LTS

Comment configurer le serveur et le client NTP sur Ubuntu 20.04 LTS

Comment configurer Rsyslog sur Ubuntu 20.04 LTS