16.3. Application d'un rôle de système local logging
Préparer et appliquer un playbook Ansible pour configurer une solution de journalisation sur un ensemble de machines distinctes. Chaque machine enregistre les journaux localement.
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 :
-
Les paquets
ansible-core
etrhel-system-roles
sont installés.
-
Les paquets
RHEL 8.0-8.5 provided access to a separate Ansible repository that contains Ansible Engine 2.9 for automation based on Ansible. Ansible Engine contains command-line utilities such as ansible
, ansible-playbook
, connectors such as docker
and podman
, and many plugins and modules. For information about how to obtain and install Ansible Engine, see the How to download and install Red Hat Ansible Engine Knowledgebase article.
RHEL 8.6 et 9.0 ont introduit Ansible Core (fourni en tant que paquetage ansible-core
), qui contient les utilitaires de ligne de commande Ansible, les commandes et un petit ensemble de plugins Ansible intégrés. RHEL fournit ce paquetage par l'intermédiaire du dépôt AppStream, et sa prise en charge est limitée. Pour plus d'informations, consultez l'article de la base de connaissances intitulé Scope of support for the Ansible Core package included in the RHEL 9 and RHEL 8.6 and later AppStream repositories (Portée de la prise en charge du package Ansible Core inclus dans les dépôts AppStream RHEL 9 et RHEL 8.6 et versions ultérieures ).
- 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 cahier de jeu qui définit le rôle requis :
Créez un nouveau fichier YAML et ouvrez-le dans un éditeur de texte, par exemple :
# vi logging-playbook.yml
Insérer le contenu suivant :
--- - name: Deploying basics input and implicit files output hosts: all roles: - rhel-system-roles.logging vars: logging_inputs: - name: system_input type: basics logging_outputs: - name: files_output type: files logging_flows: - name: flow1 inputs: [system_input] outputs: [files_output]
Exécuter le manuel de jeu sur un inventaire spécifique :
# ansible-playbook -i inventory-file /path/to/file/logging-playbook.yml
Où ?
-
inventory-file
est le fichier d'inventaire. -
logging-playbook.yml
est le manuel de jeu que vous utilisez.
-
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 des messages au journal :
Envoyer un message test :
# logger test
Consultez le journal
/var/log/messages
, par exemple :# cat /var/log/messages Aug 5 13:48:31 hostname root[6778]: test
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 de l'enregistreur, dans ce cas
root
.