journald

логотип ansible

логотип redhat

Ansible Роль :signal_strength: :page_with_curl: Journald

Galaxy Role GitHub выпуск (последний по дате) Лицензия: MIT

Содержание

Ansible роль, которая устанавливает и конфигурирует Journald: системную службу, которая собирает и хранит данные логирования.

Поддерживаемые платформы:
* Debian
* Redhat(CentOS/Fedora)
* Ubuntu

Требования

Считается стандартной системой логирования для дистрибутивов Linux и рассматривается как преемник syslog в области системных служб логирования. journald, как правило, устанавливается вместе с systemd и доступен без ручной установки на поддерживаемых платформах Linux.

Смотрите systemd README и документацию по journald документация для получения дальнейших деталей.

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

Переменные доступны и организованы в соответствии с различными этапами установки и настройки программного обеспечения и оборудования:

  • установка
  • конфигурация
  • удаление

Установка

Следующие переменные можно настроить для контроля некоторых аспектов процесса установки journald. Предполагается, что на хосте установлена работающая версия пакета systemd. Доступные версии в зависимости от дистрибутива ОС можно найти здесь.

journal_group_adds: <список-аккаунтов> (по умолчанию: [])

  • указывает учетные записи пользователей, которые будут автоматически добавлены в группу systemd-journal для привилегированного мониторинга логов

Файлы журнала, как правило, принадлежат и доступны для чтения только группе системы systemd-journal, но не подлежат записи. Добавление пользователя в эту группу позволяет ему/ей читать файлы журналов без повышения привилегий. Смотрите эту документацию по systemd-journald для получения дополнительных деталей.

Пример
 journal_group_adds:
   - user-account-1
   - user-account-2

Конфигурация

Конфигурация journald объявляется в файле конфигурации в формате ini, который по умолчанию хранится как journald.conf. Этот INI конфиг состоит из одного раздела, [Journal], который может содержать разные параметры для объявления желаемого поведения службы логирования.

Эти конфигурации могут быть выражены в хеш-переменной journald_config роли как списки словарей, содержащие пары ключ-значение, представляющие имя, путь загрузки и комбинацию вышеупомянутых параметров раздела. Полный список доступных параметров можно найти здесь.

[journald_configs: <список-входов>:] name: <строка> (по умолчанию: journald.conf)

  • имя конфигурационного файла journald

[journald_configs: <список-входов>:] path: <строка> (по умолчанию: /etc/systemd/)

  • путь загрузки конфигурационного файла journald

Когда пакеты или локальные администраторы нуждаются в настройке базовой или стандартной конфигурации, они могут установить фрагменты конфигурации в одной из следующих директорий переопределения:

Путь загрузки конфигурации Описание
/etc/systemd/journald.conf стандартная/базовая конфигурация, как определено локальным системным администратором
/etc/systemd/journald.conf.d/*.conf каталог переопределения локального администратора (имя файла произвольно)
/run/systemd/journald.conf.d/*.conf каталог переопределения во время выполнения (имя файла произвольно)
/usr/lib/systemd/journald.conf.d/*.conf каталог переопределения для пакета поставщика

Основной конфигурационный файл читается перед любыми конфигурационными директориями и имеет наименьший приоритет. Записи в файле в любой конфигурационной директории переопределяют записи в едином конфигурационном файле. Файлы в подкаталогах конфигурации *.conf.d/ сортируются и загружаются по имени файла в лексикографическом порядке независимо от того, в каком из подкаталогов они находятся.

[journald_config: <список-входов>:] config: <словарь> (по умолчанию: {})

  • определения разделов для конфигурации журнала

Любая настройка/значение ключевой пары, поддерживаемой journald, должна быть выражена в каждой записи списка journald_configs и правильно отображена в указанном INI конфиге.

Пример
 journald_configs:
   - name: debug-overrides.conf
     path: /run/systemd/journald.conf.d
     config:
       MaxLevelStore: debug
       Storage: volatile
       RateLimitIntervalSec: 0
       RateLimitBurst: 0

Удаление

Удаляет управляемую конфигурацию journald.conf, возвращая целевой хост в состояние, в котором он был до применения этой роли (например, может быть полезным для переработки настроек конфигурации во время обновлений системы).

Следующие переменные можно настроить для управления этим процессом удаления:

perform_uninstall: <true | false> (по умолчанию: false)

  • указывает, следует ли удалять управляемую конфигурацию конфигурации journald.conf на целевом хосте (см.: handlers/main.yml для деталей)

Зависимости

Нет

Пример плейбука

пример по умолчанию:

- hosts: all
  roles:
  - role: 0x0I.journald

установить постоянное хранение логов и обновить/уменьшить интервал синхронизации:

- hosts: staging
  roles:
  - role: 0x0I.journald
    vars:
      journald_configs:
        - config:
            Storage: persistence
            SyncIntervalSec: 10

создать базовую пользовательскую конфигурацию с настройкой для отладки:

- hosts: all
  roles:
  - role: 0x0I.journald
    vars:
      journald_configs:
          # базовая конфигурация будет установлена в /etc/systemd/journald.conf
          - config:
              Storage: auto
              MaxLevelStore: warning
          # переопределение будет установлено в /run/systemd/journald.conf.d/debug-overrides.conf
          - name: debug-overrides.conf
            path: /run/systemd/journald.conf.d
            config:
              Storage: volatile
              MaxLevelStore: debug
              RateLimitIntervalSec: 0
              RateLimitBurst: 0

добавить группу пользователей в группу systemd-journal для привилегированного доступа к журналу:

- hosts: prod
  roles:
  - role: 0x0I.journald
    vars:
      journal_group_adds: ['sysadmin-user', 'sre-user']

Лицензия

MIT

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

Эта роль была создана в 2019 году O1.IO.

О проекте

Journald, a system service that collects and stores logging data

Установить
ansible-galaxy install 0x0I/ansible-role-journald
Лицензия
Unknown
Загрузки
247
Владелец