14.4. Aplicación de una solución de registro remoto mediante el rol de sistema de registro
Siga estos pasos para preparar y aplicar un libro de jugadas de Red Hat Ansible Engine para configurar una solución de registro remoto. En este libro de jugadas, uno o más clientes toman los registros de systemd-journal
y los envían a un servidor remoto. El servidor recibe la entrada remota de remote_rsyslog
y remote_files
y envía los registros a archivos locales en directorios nombrados por nombres de hosts remotos.
Requisitos previos
Tiene instalado Red Hat Ansible Engine en el sistema desde el que desea ejecutar el libro de jugadas.
NotaNo es necesario que tenga instalado Red Hat Ansible Engine en los sistemas en los que desee implementar la solución de registro.
Tiene el paquete
rhel-system-roles
en el sistema desde el que quiere ejecutar el libro de jugadas.NotaNo es necesario tener instalado
rsyslog
, porque el rol de sistema instalarsyslog
cuando se despliega.Tienes al menos dos sistemas:
- Al menos uno será el servidor de registro.
- Al menos uno será el cliente de registro.
Procedimiento
Cree un libro de jugadas que defina el rol requerido:
Cree un nuevo archivo YAML y ábralo en un editor de texto, por ejemplo:
vi logging-playbook.yml
# vi logging-playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Inserte el siguiente contenido en el archivo:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Donde
host1.example.com
es el servidor de registro.NotaPuede modificar los parámetros del libro de jugadas para adaptarlos a sus necesidades.
AvisoLa solución de registro sólo funciona con los puertos definidos en la política SELinux del sistema servidor o cliente y abiertos en el cortafuegos. La política SELinux por defecto incluye los puertos 601, 514, 6514, 10514 y 20514. Para utilizar un puerto diferente, modifique la política SELinux en los sistemas cliente y servidor . La configuración del cortafuegos a través de los roles del sistema aún no está soportada.
Cree un archivo de inventario que enumere sus servidores y clientes:
Cree un nuevo archivo y ábralo en un editor de texto, por ejemplo:
vi inventory.ini
# vi inventory.ini
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Inserte el siguiente contenido en el archivo de inventario:
[servers] server ansible_host=host1.example.com [clients] client ansible_host=host2.example.com
[servers] server ansible_host=host1.example.com [clients] client ansible_host=host2.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Where: *
host1.example.com
is the logging server. *host2.example.com
is the logging client.
Ejecute el libro de jugadas en su inventario.
ansible-playbook -i /path/to/file/inventory.ini /path/to/file/_logging-playbook.yml
# ansible-playbook -i /path/to/file/inventory.ini /path/to/file/_logging-playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Dónde:
-
inventory.ini
es el archivo de inventario. -
logging-playbook.yml
es el libro de jugadas que has creado.
-
Pasos de verificación
Tanto en el sistema cliente como en el servidor, compruebe la sintaxis del archivo
/etc/rsyslog.conf
:rsyslogd -N 1
# rsyslogd -N 1 rsyslogd: version 8.1911.0-6.el8, config validation run (level 1), master config /etc/rsyslog.conf rsyslogd: End of config validation run. Bye.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Compruebe que el sistema cliente envía mensajes al servidor:
En el sistema cliente, envíe un mensaje de prueba:
logger test
# logger test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow En el sistema del servidor, vea el registro
/var/log/messages
, por ejemplo:cat /var/log/messages Aug 5 13:48:31 host2.example.com root[6778]: test
# cat /var/log/messages Aug 5 13:48:31 host2.example.com root[6778]: test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Donde
host2.example.com
es el nombre del host del sistema cliente. Tenga en cuenta que el registro contiene el nombre del usuario que introdujo el comando del registrador, en este casoroot
.
Recursos adicionales
- Introducción a los roles de sistema de RHEL
-
Documentación instalada con el paquete
rhel-system-roles
en/usr/share/ansible/roles/rhel-system-roles.logging/README.html
- Artículo de la KB sobre losroles del sistema RHEL