0x0i.journald

Ansible Роль :signal_strength: :page_with_curl: Journald
Содержание
- Поддерживаемые платформы
- Требования
- Переменные роли
- Зависимости
- Пример плейбука
- Лицензия
- Информация об авторе
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.journald