robertdebock.rsyslog

Rol de Ansible rsyslog

Instala y configura rsyslog en tu sistema.

GitHub GitLab Descargas Versión
github gitlab descargas Versión

Ejemplo de Playbook

Este ejemplo está tomado de molecule/default/converge.yml y se prueba en cada push, solicitud de extracción y liberación.

---
- name: Converge
  hosts: all
  become: true
  gather_facts: true

  roles:
    - role: robertdebock.rsyslog

La máquina necesita ser preparada. En CI, esto se hace usando molecule/default/prepare.yml:

---
- name: Prepare
  hosts: all
  become: true
  gather_facts: false

  roles:
    - role: robertdebock.bootstrap

También puedes ver una explicación completa y un ejemplo sobre cómo usar estos roles.

Variables del Rol

Los valores predeterminados para las variables se establecen en defaults/main.yml:

---
# archivo de valores predeterminados para rsyslog

# Para configurar un servidor que reciba registros, establece rsyslog_receiver en yes.
rsyslog_receiver: false

# Para reenviar registros a otro servidor, establece rsyslog_remote en el nombre del host o
# la dirección IP del servidor rsyslog receptor.
# No establecer esta variable no enviará registros.
# rsyslog_remote: server1.example.com

# Si rsyslog_remote está establecido, establece el patrón de "selector" para determinar
# qué mensajes enviar al servidor remoto. El valor predeterminado "*.*" envía todo.
# Ver `man rsyslog.conf`.
rsyslog_remote_selector: "*.*"

# Si rsyslog_remote está establecido, usa TCP si es yes. UDP si es no.
rsyslog_remote_tcp: true

# Si rsyslog_remote está establecido, puerto de destino a utilizar.
rsyslog_remote_port: 514

# Establece el modo para nuevos directorios; disponible solo en la plantilla heredada.
rsyslog_dircreatemode: "0700"

# Establece el modo para nuevos archivos; disponible solo en la plantilla heredada.
rsyslog_filecreatemode: "0644"

# Establece los módulos habilitados
rsyslog_mods:
  - imuxsock
  - imjournal

# Configura rsyslog mínimamente (puede entrar en conflicto con archivos de configuración personalizados)
rsyslog_deploy_default_config: true

# Reglas predeterminadas de rsyslogd
rsyslog_default_rules:
  - { rule: '*.info;mail.none;authpriv.none;cron.none', logpath: '/var/log/messages' }
  - { rule: 'authpriv.*', logpath: '/var/log/secure' }
  - { rule: 'mail.*', logpath: '-/var/log/maillog' }
  - { rule: 'cron.*', logpath: '/var/log/cron' }
  - { rule: '*.emerg', logpath: ':omusrmsg:*' }
  - { rule: 'uucp,news.crit', logpath: '/var/log/spooler' }
  - { rule: 'local7.*', logpath: '/var/log/boot.log' }

# Usa el antiguo formato de archivo de configuración legado, o el más
# moderno formato de archivo de configuración "avanzado" disponible en v6 y superiores. El
# predeterminado es usar el formato 'legado' para no cambiar los archivos de configuración para
# los usuarios existentes de este rol de repente.
# Más información sobre los diferentes formatos en el sitio web de rsyslog:
# https://www.rsyslog.com/doc/v8-stable/configuration/conf_formats.html
rsyslog_config_file_format: legacy

# El nombre de la regla conf para agregar a /etc/rsyslog.d/
# rsyslog_forward_rule_name: <para completar>

# Configura el paquete rsyslog para que esté `present`, o establece en `latest` para instalar
# la última versión disponible.
rsyslog_package_state: present

# Si se establece en false (valor predeterminado heredado para seguir siendo compatible con sysklogd), la parte de dominio de un nombre dentro del mismo dominio que el sistema receptor se
# elimina. Si se establece en on, se usan siempre los nombres completos.
rsyslog_preservefqdn: false

# Configura archivos de configuración adicionales en /etc/rsyslog.d
# Ejemplo:
# rsyslog_rsyslog_d_files:
#   000-splunk:
#     content: |
#       auth,authpriv.* action(type="omfwd"
#                              target="splunk"
#                              port="514"
#                              protocol="tcp")
rsyslog_rsyslog_d_files: []

# Evita mensajes de error sd_journal_get_cursor() fallidos: No se puede asignar la dirección solicitada
# debido a logrotate
rsyslog_workaroundjournalbug: false

# Desactiva la recepción de mensajes a través del socket de registro local
rsyslog_imuxsock_syssock: false

# Instala paquetes adicionales de rsyslog
# Ejemplo para instalar rsyslog-elasticsearch:
# rsyslog_features:
#   - gnutls
#   - elasticsearch
rsyslog_features: []

# Destino predeterminado del archivo de configuración de rsyslog
rsyslog_dest_conf_file: "/etc/rsyslog.conf"

# Habilitar / Deshabilitar la opción OmitLocalLogging
rsyslog_omit_local_logging: true

# Permitir usar el formato de archivo tradicional.
rsyslog_traditional_file_format: true

Requisitos

Estado de los roles utilizados

Los siguientes roles se utilizan para preparar un sistema. Puedes preparar tu sistema de otra manera.

Requisito GitHub GitLab
robertdebock.bootstrap Estado de la Construcción GitHub Estado de la Construcción GitLab

Contexto

Este rol es parte de muchos roles compatibles. Consulta la documentación de estos roles para más información.

Aquí tienes un resumen de los roles relacionados: dependencias

Compatibilidad

Este rol se ha probado en estas imágenes de contenedor:

contenedor etiquetas
Alpine todas
Amazon Candidato
EL 9
Debian todas
Fedora todas
Ubuntu todas

La versión mínima de Ansible requerida es 2.12, se han realizado pruebas en:

  • La versión anterior.
  • La versión actual.
  • La versión de desarrollo.

Si encuentras problemas, por favor regístralos en GitHub.

Licencia

Apache-2.0.

Información del Autor

robertdebock

Por favor, considera patrocinándome.

Acerca del proyecto

Install and configure rsyslog on your system.

Instalar
ansible-galaxy install robertdebock.rsyslog
Licencia
apache-2.0
Descargas
334.6k
Propietario
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.