主机基线:故障排查与值班交接

定位不可达、部分执行、未运行 handler 与重复变化,按主机记录最小恢复范围及再次放行条件。

Ansible安全加固自动化

当前状态与故障登记

状态:PENDING(待目标环境验证)。本项目没有已实现的 roles 或主机执行记录,本篇为后续实施提供部分失败与交接规程。开始前准备批准的 inventory、实际 playbook 版本、上次输出、配置备份和带外入口。本文不授权重跑基线、修改登录或对全部主机应用回退。

发生失败先区分尚未开始、已修改未验收、已验收三类主机,记录失败任务和最后成功任务;停止扩大批次。不能只看 recap 的 failed 数量,因为运行可能已经修改文件,且后续 handler 尚未执行。

第一轮只读定位

在可信控制端核对工具和计划命中范围。inventory 插件会访问其配置的数据源,必须先审阅来源;不要使用包含未知插件的清单诊断生产。以下不应用远端配置,路径与试点主机均需替换。

ansible --version
ansible-inventory -i '<INVENTORY_FILE>' --graph
ansible-playbook -i '<INVENTORY_FILE>' '<PLAYBOOK_FILE>' --list-hosts --limit '<FAILED_HOST>'
ansible-playbook -i '<INVENTORY_FILE>' '<PLAYBOOK_FILE>' --list-tasks --limit '<FAILED_HOST>'

检查动态 include、条件和标签可能造成的实际执行差异,列表不是完整执行证明。Ansible CLI 说明用于核对参数;诊断输出与资产清单存入受控位置,不公开连接账号和变量内容。

分支一:UNREACHABLE 与认证失败

先比较管理地址、跳板路径、SSH 主机指纹和批准账号,再看失败是在连接前、认证阶段还是提权阶段。指纹变化需先核对资产重建证据,不关闭 host key 检查。无法新建连接但原会话仍可用时,保留原会话并交给访问负责人,不能退出后才尝试恢复。

Ansible 将不可达主机移出本轮活动集合,重新激活不会自动补做或撤销已经执行的任务。连接恢复后须先盘点实际状态,再决定最小重试范围,不能直接对原全量清单重跑。

分支二:任务失败但文件已经变化

把执行日志中的 changed、通知 handler、失败任务和服务运行态串成时间线。默认情况下,同主机后续任务失败可能阻止之前已通知的 handler 执行,导致磁盘配置与进程实际配置不一致,见 Ansible 错误处理

在获准的目标控制台可用下例读取单个实际服务的状态及近期日志。单元名、访问权限和脱敏范围由实施方确认,不为诊断自动提权。

systemctl status '<AFFECTED_UNIT>' --no-pager
journalctl -u '<AFFECTED_UNIT>' --since '15 minutes ago' -n 100 --no-pager

先验证候选配置语法和业务影响,再由审批人决定恢复文件还是加载新配置。--force-handlers 会扩大实际执行动作,不应作为通用修复开关。

分支三:重复 changed 或错误覆盖

若同一版本重复运行仍修改,先排查模板时间戳、随机值、命令模块缺少状态判断和变量覆盖;不能仅设置 changed_when: false 隐藏真实变化。若新文件覆盖了其他团队维护的配置,暂停该对象的自动管理并确认归属,勿通过强制覆盖恢复所谓“标准状态”。

check mode 不是无副作用保证:不支持的模块、运行时依赖和 check_mode: false 例外需要逐项审阅,见检查模式限制。涉及秘密的任务禁用 diff,发生泄露应进入凭据轮换流程,不删除日志掩盖记录。

风险动作、恢复与再放行

重试、恢复文件、变更提权、解除封禁或重启服务都需明确主机、任务、批准人和恢复点。禁止全局忽略错误、清空防火墙或批量解除全部封禁。回退限定本次对象,保留属主、权限及安全属性;软件降级和持久数据不能视为普通模板回退。

恢复后从新会话验证管理登录和必要提权,再核对业务请求、监控与日志,确认待执行 handler 和待重启事项均有去向。重复执行的幂等复核只能在重新获准试点进行;其余批次保持冻结,直到验收门签收。

主机级交接模板

状态:PENDING / 部分应用 / 已恢复待验收 / 已验收
主机唯一标识、配置版本、inventory 快照:待填写
最后成功任务、失败任务、执行时间与错误类型:待填写
文件实际状态、服务状态、未执行 handler:待填写
已批准动作、备份位置、备用访问责任人:待填写
新会话登录、业务、监控与日志验收证据:待填写
冻结批次、遗留漂移、接班人及下次检查:待填写

接班人逐台签收,不以全局成功率替代异常主机清单。后续改进见分批变更与回退流程

DOUYA OPS ECOSYSTEM

完善文档,帮助更多运维人

把安装、配置、API 与运维方法沉淀为清晰文档,让工具和项目更容易被正确使用。