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.

    Nota

    No 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.

    Nota

    No es necesario tener instalado rsyslog, porque el rol de sistema instala rsyslog 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

  1. Cree un libro de jugadas que defina el rol requerido:

    1. Cree un nuevo archivo YAML y ábralo en un editor de texto, por ejemplo:

      # vi logging-playbook.yml
    2. Inserte el siguiente contenido en el archivo:

      ---
      - name: Deploying remote input and remote_files output
        hosts: server
        roles:
          - linux-system-roles.logging
        vars:
          logging_inputs:
            - name: remote_udp_input
              type: remote
              udp_ports: [ 601 ]
            - name: remote_tcp_input
              type: remote
              tcp_ports: [ 601 ]
          logging_outputs:
            - name: remote_files_output
              type: remote_files
          logging_flows:
            - name: flow_0
              inputs: [remote_udp_input, remote_tcp_input]
              outputs: [remote_files_output]
      
      - name: Deploying basics input and forwards output
        hosts: clients
        roles:
          - linux-system-roles.logging
        vars:
          logging_inputs:
            - name: basic_input
              type: basics
          logging_outputs:
            - name: forward_output0
              type: forwards
              severity: info
              target: host1.example.com
              udp_port: 601
            - name: forward_output1
              type: forwards
              facility: mail
              target: host1.example.com
              tcp_port: 601
          logging_flows:
            - name: flows0
              inputs: [basic_input]
              outputs: [forward_output0, forward_output1]
      
      [basic_input]
      [forward_output0, forward_output1]

      Donde host1.example.com es el servidor de registro.

      Nota

      Puede modificar los parámetros del libro de jugadas para adaptarlos a sus necesidades.

      Aviso

      La 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.

  2. Cree un archivo de inventario que enumere sus servidores y clientes:

    1. Cree un nuevo archivo y ábralo en un editor de texto, por ejemplo:

      # vi inventory.ini
    2. Inserte el siguiente contenido en el archivo de inventario:

      [servers]
      server ansible_host=host1.example.com
      [clients]
      client ansible_host=host2.example.com

      Where: * host1.example.com is the logging server. * host2.example.com is the logging client.

  3. Ejecute el libro de jugadas en su inventario.

    # ansible-playbook -i /path/to/file/inventory.ini /path/to/file/_logging-playbook.yml

    Dónde:

    • inventory.ini es el archivo de inventario.
    • logging-playbook.yml es el libro de jugadas que has creado.

Pasos de verificación

  1. Tanto en el sistema cliente como en el servidor, compruebe la sintaxis del archivo /etc/rsyslog.conf:

    # 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.
  2. Compruebe que el sistema cliente envía mensajes al servidor:

    1. En el sistema cliente, envíe un mensaje de prueba:

      # logger test
    2. 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

      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 caso root.

Recursos adicionales

Red Hat logoGithubRedditYoutubeTwitter

Aprender

Pruebe, compre y venda

Comunidades

Acerca de la documentación de Red Hat

Ayudamos a los usuarios de Red Hat a innovar y alcanzar sus objetivos con nuestros productos y servicios con contenido en el que pueden confiar.

Hacer que el código abierto sea más inclusivo

Red Hat se compromete a reemplazar el lenguaje problemático en nuestro código, documentación y propiedades web. Para más detalles, consulte el Blog de Red Hat.

Acerca de Red Hat

Ofrecemos soluciones reforzadas que facilitan a las empresas trabajar en plataformas y entornos, desde el centro de datos central hasta el perímetro de la red.

© 2024 Red Hat, Inc.