rsyslog

Ansible роль rsyslog

Установите и настройте rsyslog на вашей системе.

GitHub GitLab Скачивания Версия
github gitlab downloads Version

Пример Playbook

Этот пример взят из molecule/default/converge.yml и тестируется при каждом пуше, запросе на слияние и релизе.

---
- name: Согласование
  hosts: все
  become: true
  gather_facts: true

  roles:
    - role: robertdebock.rsyslog

Машина должна быть подготовлена. В CI это делается с помощью molecule/default/prepare.yml:

---
- name: Подготовка
  hosts: все
  become: true
  gather_facts: false

  roles:
    - role: robertdebock.bootstrap

Также смотрите полное объяснение и пример о том, как использовать эти роли.

Переменные роли

Значения по умолчанию для переменных задаются в defaults/main.yml:

---
# файл значений по умолчанию для rsyslog

# Чтобы настроить сервер для приема логов, установите rsyslog_receiver в yes.
rsyslog_receiver: false

# Чтобы перенаправить логи на другой сервер, установите rsyslog_remote на имя хоста или
# IP-адрес принимающего сервера rsyslog.
# Не установка этой переменной не перенаправит логи.
# rsyslog_remote: server1.example.com

# Если rsyslog_remote установлен, задайте "шаблон" селектора для определения каких
# сообщений отправлять на удаленный сервер. По умолчанию "*.*" отправляет все.
# Смотрите `man rsyslog.conf`.
rsyslog_remote_selector: "*.*"

# Если rsyslog_remote установлен, используйте TCP, если да. UDP если нет.
rsyslog_remote_tcp: true

# Если rsyslog_remote установлен, используйте указанный порт.
rsyslog_remote_port: 514

# Установите режим для новых директорий; доступно только в устаревшем шаблоне.
rsyslog_dircreatemode: "0700"

# Установите режим для новых файлов; доступно только в устаревшем шаблоне.
rsyslog_filecreatemode: "0644"

# Включенные модули
rsyslog_mods:
  - imuxsock
  - imjournal

# Минимальная конфигурация rsyslog (может быть в конфликте с пользовательскими конфигурационными файлами)
rsyslog_deploy_default_config: true

# Правила по умолчанию для 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' }

# Используйте устаревший, предшествующий конфигурационный формат файла версии 6 или более
# современный "расширенный" формат конфигурационного файла, доступный в версии 6 и выше. 
# По умолчанию используется "устаревший" формат, чтобы не менять конфигурационные файлы 
# для существующих пользователей этой роли без предупреждения.
# Подробная информация о различных форматах на сайте rsyslog:
# https://www.rsyslog.com/doc/v8-stable/configuration/conf_formats.html
rsyslog_config_file_format: legacy

# Имя правила конфигурации для добавления в /etc/rsyslog.d/
# rsyslog_forward_rule_name: <заполните>

# Настроить пакет rsyslog на "присутствует", или установить "последний", чтобы установить
# последнюю доступную версию.
rsyslog_package_state: present

# если установлено в false (устаревшее значение по умолчанию для совместимости с sysklogd), часть 
# домена из имени, который находится в том же домене, что и принимающая система 
# удаляется. Если установлено в true, всегда используются полные имена.
rsyslog_preservefqdn: false

# Настроить дополнительные конфигурационные файлы в /etc/rsyslog.d
# Пример:
# rsyslog_rsyslog_d_files:
#   000-splunk:
#     content: |
#       auth,authpriv.* action(type="omfwd"
#                              target="splunk"
#                              port="514"
#                              protocol="tcp")
rsyslog_rsyslog_d_files: []

# Избежать сообщений sd_journal_get_cursor() failed: Cannot assign requested address
# из-за logrotate
rsyslog_workaroundjournalbug: false

# Отключает прием сообщений через локальный сокет логирования
rsyslog_imuxsock_syssock: false

# Установите дополнительные пакеты rsyslog
# Пример для установки rsyslog-elastisearch:
# rsyslog_features:
#   - gnutls
#   - elastisearch
rsyslog_features: []

# Путь к конфигурационному файлу rsyslog по умолчанию
rsyslog_dest_conf_file: "/etc/rsyslog.conf"

# Включить/выключить опцию OmitLocalLogging
rsyslog_omit_local_logging: true

# Позволяет использовать традиционный формат файла.
rsyslog_traditional_file_format: true

Требования

Состояние используемых ролей

Следующие роли используются для подготовки системы. Вы можете подготовить вашу систему другим способом.

Требование GitHub GitLab
robertdebock.bootstrap Статус сборки GitHub Статус сборки GitLab

Контекст

Эта роль является частью многих совместимых ролей. Посмотрите документацию этих ролей для получения дополнительной информации.

Вот обзор связанных ролей: dependencies

Совместимость

Эта роль была протестирована на следующих образах контейнеров:

контейнер теги
Alpine все
Amazon Кандидат
EL 9
Debian все
Fedora все
Ubuntu все

Минимальная версия Ansible, необходимая для работы этой роли, составляет 2.12, тесты проводились на:

  • Предыдущей версии.
  • Текущей версии.
  • Версии разработки.

Если вы обнаружите проблемы, пожалуйста, зарегистрируйте их в GitHub.

Лицензия

Apache-2.0.

Информация об авторе

robertdebock

Пожалуйста, рассмотрите возможность поддержки меня.

О проекте

Install and configure rsyslog on your system.

Установить
ansible-galaxy install robertdebock/ansible-role-rsyslog
Лицензия
apache-2.0
Загрузки
303914
Владелец
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.