# Systemd-Journald 日志配置管理架构 ## 1. 身份 - **目的:** 通过 Ansible Playbook 管理和优化 systemd-journald 日志配置 - **核心功能:** 提供自动化、可重复且可控制的日志管理策略 ## 2. 核心组件 - `journald_configure.yml` (主要配置剧本): 负责整个日志配置管理流程 - `journald_config` (变量集): 定义日志配置参数和限制 ## 3. 执行流程(LLM 检索图) ### 3.1 备份阶段 - **步骤:** 使用 `ansible.builtin.copy` 备份原始 `journald.conf` - **条件:** `backup_journald` 变量为 `true` - **备份路径:** `/etc/systemd/journald.conf.backup.[timestamp]` ### 3.2 配置部署 - **步骤:** 使用 `ansible.builtin.copy` 部署新的 `journald.conf` - **配置参数:** - 日志总体空间限制 - 单文件日志大小限制 - 日志保留时间 - 日志速率控制 ### 3.3 服务管理 - **触发重启:** 通过 handler `重启 systemd-journald` - **触发条件:** 配置文件发生变更 ### 3.4 验证与监控 - **服务状态检查:** 使用 `ansible.builtin.systemd` 模块 - **磁盘使用监控:** 执行 `journalctl --disk-usage` ## 4. 设计原理 - **幂等性:** 确保多次执行不会产生意外副作用 - **安全性:** 防止日志炸弹,限制日志资源消耗 - **可追溯性:** 通过备份机制保留配置变更历史 ## 5. 关键变量和参数 - `system_max_use`: 总日志空间限制 - `system_max_file_size`: 单文件日志大小限制 - `max_retention_sec`: 日志保留时间 - `rate_limit_interval_sec`: 日志速率限制时间间隔 - `rate_limit_burst`: 日志突发速率限制