La fonctionnalité syslog est l'un des principaux outils pour un administrateur système. Bien que l'écriture de fichiers journaux avec des événements d'intérêt soit une caractéristique commune à toute application, le fait d'avoir une fonctionnalité de journalisation à l'échelle du système signifie que tous les journaux peuvent être traités comme un seul sur le système. Mais syslog ne s'arrête pas là. Avec ces outils, un administrateur système peut centraliser le traitement des journaux dans le centre de données en transférant les événements entrants des applications vers des serveurs de journaux centraux, où ils peuvent être traités à grande échelle.
La journalisation centralisée est exagérée sur un système domestique avec quelques ordinateurs, mais a déjà ses avantages autour d'une douzaine de machines. Par exemple, une douzaine de bureaux envoyant tous leurs fichiers journaux à un serveur de journaux central signifie qu'ils n'ont pas besoin de les stocker à long terme, les journaux occuperont de l'espace disque dans le serveur de journaux. L'administrateur peut vérifier les problèmes en un seul endroit (éventuellement au moyen de rapports automatisés), les journaux peuvent être conservés de manière sûre au moyen de sauvegardes, stockés plus efficacement au moyen d'une compression lourde, et ne seront pas perdus sur un échec du client ou erreur de l'utilisateur.
Dans ce didacticiel, vous apprendrez :
- Comment installer le package rsyslog sur RHEL 8/CentOS 8.
- Comment vérifier que l'installation a réussi.
- Comment démarrer, arrêter et démarrer automatiquement le service rsyslog.
- Comment tester la fonctionnalité syslog avec logger.

Configuration logicielle requise et conventions utilisées
Catégorie | Exigences, conventions ou version du logiciel utilisée |
---|---|
Système | RHEL 8/CentOS 8 |
Logiciel | rsyslog 8 |
Autre | Accès privilégié à votre système Linux en tant que root ou via le sudo commande. |
Conventions | # - nécessite que les commandes linux données soient exécutées avec les privilèges root soit directement en tant qu'utilisateur root, soit en utilisant sudo commande$ – nécessite que les commandes linux données soient exécutées en tant qu'utilisateur normal non privilégié |
Comment installer syslog sur RHEL 8 / CentOS 8 instructions étape par étape
Sur RHEL 8 / CentOS 8 rsyslog
package doit être installé et en cours d'exécution par défaut. Il peut y avoir des cas où vous devez quand même l'installer, par exemple un paquet cassé/supprimé, revenir d'un autre service syslog, etc.
- Le
rsyslog
est accessible depuis les référentiels de base. Vous devez disposer de référentiels de gestion des abonnements configurés et accessibles afin d'installer des packages. Avec cela en place, l'installation n'est qu'un seuldnf
commande away :# dnf install rsyslog -y
- Pour vérifier que l'installation a réussi, vous pouvez interroger le
rpm
base de données pour le package :# rpm -q rsyslog rsyslog-8.37.0-6.el8.x86_64
dnf
devrait également afficher l'état "heure d'installation" dans lesinfo
sortie avec le--verbose
choix :# dnf info rsyslog --verbose [...] Installed Packages Name : rsyslog Version : 8.37.0 Release : 6.el8 Arch : x86_64 Size : 2.2 M Source : rsyslog-8.37.0-6.el8.src.rpm Repo : @System [...] Install time : Thu Dec 27 12:24:35 2018 Installed by : [...]
Et enfin,
systemd
devrait connaître le service (non en cours d'exécution), ce qui signifie que les fichiers de service sont en place :# systemctl status rsyslog.service ● rsyslog.service - System Logging Service Loaded: loaded (/usr/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled) Active: inactive (dead) Docs: man:rsyslogd(8) http://www.rsyslog.com/doc/
- Pour démarrer, arrêter et obtenir l'état du service, nous utilisons
systemctl
. Dans la dernière étape, nous avons vu l'état du service qui vient d'être installé, à l'état inactif. Nous pouvons le démarrer avec :# systemctl start rsyslog.service
Et arrêtez avec :
# systemctl stop rsyslog.service
L'état indique que le service est activé à l'installation, ce qui signifie qu'il démarrera automatiquement au démarrage du système d'exploitation. Nous pouvons désactiver cette fonctionnalité de démarrage automatique avec :
# systemctl disable rsyslog.service
Et réactivez-le de la même manière :
# systemctl enable rsyslog.service
- Pour tester si le service est fonctionnel (c'est-à-dire qu'il accepte les événements syslog du système), nous pouvons utiliser
logger
:# echo "test message from user root" | logger
Et voyez le message correctement envoyé dans le fichier syslog principal en vérifiant les dernières lignes de
/var/log/messages
:# tail /var/log/messages [...] Dec 27 12:39:46 rhel8 rsyslogd[2636]: [origin software="rsyslogd" swVersion="8.37.0-6.el8" x-pid="2636" x-info="http://www.rsyslog.com"] start Dec 27 12:39:46 rhel8 systemd[1]: Started System Logging Service. Dec 27 12:41:56 rhel8 testuser[2668]: test message from user root
Où
rhel8
est le nom d'hôte de la machine de laboratoire,testuser
est l'utilisateur d'origine qui est passé àroot
, le PID de notre session, et enfin notre message deecho
redirigé verslogger
's STDIN.