Aujourd'hui, nous allons configurer un serveur syslog centralisé sur CentOS 8 / RHEL 8 pour permettre à l'administrateur Linux de lire plusieurs journaux de serveur en un seul endroit.
Linux étiquette (auth, cron, FTP, LPR, authpriv, news, mail, syslog, etc.) les messages du journal pour indiquer le type de logiciel qui a généré les messages avec sévérité (Alerte, critique, Avertissement, Avis, info, etc. ..).
Vous pouvez trouver plus d'informations sur les étiquettes de message et les niveaux de gravité
Environnement
Deux serveurs Linux (serveur et client).
server.itzgeek.local 192.168.0.10
client.itzgeek.local 192.168.0.20
Configuration du serveur
Installez le package rsyslog sur le serveur syslog au cas où le package n'existerait pas déjà.
dnf install -y rsyslog
Modifiez le fichier /etc/rsyslog.conf.
vi /etc/rsyslog.conf
Protocole
Rsyslog prend en charge les protocoles UDP et TCP pour la réception des journaux. C'est à vous de décider quel protocole vous souhaitez utiliser.
Rsyslog suggère l'utilisation du protocole TCP pour une livraison fiable des journaux.UDP
Décommentez ce qui suit pour permettre au serveur syslog d'écouter sur le port UDP.
DE :
# Provides UDP syslog reception # for parameters see http://www.rsyslog.com/doc/imudp.html # module(load="imudp") # needs to be done just once # input(type="imudp" port="514")
À :
# Provides UDP syslog reception # for parameters see http://www.rsyslog.com/doc/imudp.html module(load="imudp") # needs to be done just once input(type="imudp" port="514")
TCP
Décommentez ce qui suit pour permettre au serveur syslog d'écouter sur le port TCP.
DE :
# Provides TCP syslog reception # for parameters see http://www.rsyslog.com/doc/imtcp.html #module(load="imtcp") # needs to be done just once #input(type="imtcp" port="514")
À :
# Provides TCP syslog reception # for parameters see http://www.rsyslog.com/doc/imtcp.html module(load="imtcp") # needs to be done just once input(type="imtcp" port="514")
Redémarrez le service syslog
systemctl restart rsyslog
Vérifiez le serveur syslog à l'écoute sur le port 514.
netstat -antup | grep 514
Sortie :
udp 0 0 0.0.0.0:514 0.0.0.0:* 30918/rsyslogd udp6 0 0 :::514 :::* 30918/rsyslogd
Configuration client
Installez le package rsyslog sur le client au cas où le package n'existerait pas déjà.
dnf install -y rsyslog
Modifiez le fichier /etc/rsyslog.conf.
vi /etc/rsyslog.conf
À la fin du fichier, placez la ligne suivante pour transférer les messages du journal du client vers le serveur syslog centralisé.
UDP :
action(type="omfwd" Target="192.168.0.10" Port="514" Protocol="udp")
TCP :
action(type="omfwd" Target="192.168.0.10" Port="514" Protocol="tcp")Vous pouvez également utiliser le nom d'hôte dans Target.
Redémarrez le service syslog
systemctl restart rsyslog
Maintenant, tous les journaux de messages sont envoyés au serveur central et il conserve également la copie localement.
Pare-feu
Si le système a FirewallD, exécutez la commande suivante sur le serveur syslog pour accepter le trafic entrant sur le port 514.
UDP :
firewall-cmd --permanent --add-port=514/udp firewall-cmd --reload
TCP :
firewall-cmd --permanent --add-port=514/tcp firewall-cmd --reload
Valider
Accédez au serveur syslog et affichez le fichier journal des messages.
tail -f /var/log/messages
J'ai installé et démarré vsftpd sur la machine cliente, vous pouvez voir que les deux sont enregistrés sur un serveur syslog.
Jan 31 03:21:07 client systemd[1]: Stopping System Logging Service... Jan 31 03:21:08 client rsyslogd[30944]: [origin software="rsyslogd" swVersion="8.37.0-13.el8" x-pid="30944" x-info="http://www.rsyslog.com"] exiting on signal 15. Jan 31 03:21:08 client systemd[1]: Stopped System Logging Service. Jan 31 03:21:08 client systemd[1]: Starting System Logging Service... Jan 31 03:21:08 client rsyslogd[30952]: environment variable TZ is not set, auto correcting this to TZ=/etc/localtime [v8.37.0-13.el8 try http://www.rsyslog.com/e/2442 ] Jan 31 03:21:08 client systemd[1]: Started System Logging Service. Jan 31 03:21:08 client rsyslogd[30952]: [origin software="rsyslogd" swVersion="8.37.0-13.el8" x-pid="30952" x-info="http://www.rsyslog.com"] start
Conclusion
C'est tout. J'espère que vous avez réussi à configurer un serveur syslog centralisé sur CentOS 8 / RHEL 8. Vous pouvez également utiliser des outils de gestion de journaux open source tels que la pile ELK ou Graylog pour des fonctionnalités plus avancées telles que l'interface Web, la corrélation des événements de journal, etc.