0x0i.journald
Ansible 角色 :signal_strength: :page_with_curl: Journald
目录
Ansible 角色用于安装和配置 Journald:一个收集和存储日志数据的系统服务。
支持的平台:
* Debian
* Redhat(CentOS/Fedora)
* Ubuntu
需求
journald
被视为Linux发行版的默认日志系统,是syslog
的后继者,通常与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
作者信息
此角色由 O1.IO 创建于2019年。