0x0i.journald

ansible logo

redhat logo

Ansible 角色 :signal_strength: :page_with_curl: Journald

Galaxy Role GitHub release (latest by date) License: MIT

目录

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年。

关于项目

Journald, a system service that collects and stores logging data

安装
ansible-galaxy install 0x0i.journald
许可证
Unknown
下载
256
拥有者