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/ansible-role-journald