12.4. Filtrage des journaux dans un système local logging Rôle du système
Vous pouvez déployer une solution de journalisation qui filtre les journaux en fonction du filtre basé sur les propriétés rsyslog
.
Conditions préalables
-
Accès et autorisations à un ou plusieurs managed nodes, qui sont des systèmes que vous souhaitez configurer avec le rôle de système
logging
. Accès et permissions à un control node, qui est un système à partir duquel Red Hat Ansible Core configure d'autres systèmes.
Sur le nœud de contrôle :
- Red Hat Ansible Core est installé
-
Le paquet
rhel-system-roles
est installé - Un fichier d'inventaire qui répertorie les nœuds gérés.
Il n'est pas nécessaire que le paquet rsyslog
soit installé, car le rôle de système installe rsyslog
lorsqu'il est déployé.
Procédure
Créez un nouveau fichier
playbook.yml
avec le contenu suivant :--- - name: Deploying files input and configured files output hosts: all roles: - linux-system-roles.logging vars: logging_inputs: - name: files_input type: basics logging_outputs: - name: files_output0 type: files property: msg property_op: contains property_value: error path: /var/log/errors.log - name: files_output1 type: files property: msg property_op: "!contains" property_value: error path: /var/log/others.log logging_flows: - name: flow0 inputs: [files_input] outputs: [files_output0, files_output1]
Avec cette configuration, tous les messages contenant la chaîne
error
sont enregistrés dans/var/log/errors.log
, et tous les autres messages sont enregistrés dans/var/log/others.log
.Vous pouvez remplacer la valeur de la propriété
error
par la chaîne de caractères par laquelle vous souhaitez filtrer.Vous pouvez modifier les variables selon vos préférences.
Facultatif : Vérifier la syntaxe du playbook.
# ansible-playbook --syntax-check playbook.yml
Exécutez le playbook sur votre fichier d'inventaire :
# ansible-playbook -i inventory_file /path/to/file/playbook.yml
Vérification
Tester la syntaxe du fichier
/etc/rsyslog.conf
:# rsyslogd -N 1 rsyslogd: version 8.1911.0-6.el8, config validation run... rsyslogd: End of config validation run. Bye.
Vérifiez que le système envoie au journal les messages contenant la chaîne
error
:Envoyer un message test :
# logger error
Consultez le journal
/var/log/errors.log
, par exemple :# cat /var/log/errors.log Aug 5 13:48:31 hostname root[6778]: error
Où
hostname
est le nom d'hôte du système client. Notez que le journal contient le nom de l'utilisateur qui a entré la commande logger, dans ce casroot
.
Ressources supplémentaires
-
Documentation installée avec le paquetage
rhel-system-roles
dans/usr/share/ansible/roles/rhel-system-roles.logging/README.html