首页/系统与基础设施/自动化运维速查/巡检任务的批量下发方式
巡检与自助运维60 条

巡检任务的批量下发方式

批量下发要解决的是一次定义、可靠覆盖全部目标的问题:用目标清单把任务实例化,按并发与时间窗口分批推进,结果按 task_id 与目标唯一落库。关键在并发限流与清单快照,否则规模一上去,巡检自己就会变成故障源。

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​​​​‌​‌‌‌​‌​‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌‌‌​‌‌​‌​​‌​‌‌​‌‌‌​​‌‌‌​​‌‌​‌‌‌​​​​​‌‌​​‌​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌​‌​‌‌‌​‌​​​‌‌​​​​‌​‌‌‌​​‌‌​‌‌​‌​‌‌​​‌​‌‌​‌​‌‌​​​‌​​‌‌​​​​‌​‌‌‌​‌​​​‌‌​​​‌‌​‌‌​‌​​​​​‌​‌‌​‌​‌‌​​‌​​​‌‌​‌​​‌​‌‌‌​​‌‌​‌‌‌​​​​​‌‌​​​​‌​‌‌‌​‌​​​‌‌​​​‌‌​‌‌​‌​​​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​

批量下发解决什么问题

批量下发指一次定义检查项与目标范围后,由调度端把同一份任务实例化并分发到成百上千台被检对象上执行,再把结果汇总回中心。它要解决的不是单条命令怎么跑,而是在可控时间窗口内让同一套检查覆盖全部目标,并且事后能说清哪些没跑到、为什么。核心矛盾是规模与可控性的平衡:并发过高会打满被检端与网络,过低则一个巡检周期跑不完。

基本信息

适用对象主机、网络设备、数据库、中间件等被检集合
下发方式巡检平台调度、配置管理工具、CI 定时任务
分发粒度以目标清单(inventory)为单位实例化任务
关键参数并发度、单次超时、重试次数、执行窗口
结果标识task_id 加目标标识,二者共同唯一定位一次采集

典型使用场景

  • 夜间全量巡检:在业务低谷统一执行检查,避开高峰对被检端 I/O 与连接数的挤占
  • 变更后定向复核:只对刚变更过的一批目标下发检查,验证改动是否引入偏差
  • 合规基线巡检:把内控与等保要求固化为检查项,按周期全员覆盖并留存证据
  • 发布前健康摸底:先对灰度组下发,确认检查项本身无误再推向全量组
  • 慢变量巡检:证书、域名、许可、磁盘水位这类变化缓慢的指标按月巡检

目标范围与下发方式

场景推荐方式原因
小规模且需人工判断逐台或小批交互执行便于即时看回显并止损
大批量同构目标清单分组加并行调度吞吐高、结果结构统一
含网络设备等异构目标按协议分通道下发采集通道与回显格式不同
高风险检查项先小样本试点再全量避免全量误判被放大

分批并行的最小写法

分批并行的最小写法
- hosts: all
  serial: 10            # 每批 10 台推进,控制单批冲击面
  throttle: 5           # 单个任务并发不超 5,保护被检端
  gather_facts: false   # 巡检不需要的事实采集可跳过,减少开销
  tasks:
    - name: 采集磁盘水位
      shell: df -hP | awk 'NR>1 {gsub(/%/,"",$5); if ($5+0 >= 85) print}'
      register: disk_out
      failed_when: false    # 检查项非零退出不应中断整批任务
      changed_when: false   # 只读巡检不得产生 changed 标记
下发不是终点。任务实例要有唯一 task_id,并把当次目标清单落成快照,否则无法回答今天哪些目标没被巡检到。只统计执行成功数,会把从未纳入清单的目标隐藏成覆盖率假象。
巡检项默认必须是只读动作。一旦脚本里混入修复命令,批量下发会把单机误判放大成全量故障;确需自动修复的项应独立成任务,单独审批并单独限流。

易错点

  • 不做并发限流:数千目标同时连入,被检端的 sshd 或 Agent 连接数先被打满,巡检自身成为故障源
  • 目标清单不落快照:只能统计执行次数,无法还原当次覆盖了哪些目标、漏了哪些
  • 把检查与修复写进同一任务:一次误判会在全部目标上执行变更动作
  • 只按执行成功计算完成度:超时与跳过的目标被悄悄计入已覆盖,覆盖率虚高

数据来源与参考

  • ITIL 4 服务管理实践:监控与事件管理
  • Ansible 官方文档:Playbook 执行策略与 serial/throttle 参数
  • GB/T 22239-2019 网络安全等级保护基本要求(安全运维管理)

整理校对:其其网ICT文档中心 · 本页地址:docs.qiqicto.com/automation/inspection-task-batch-dispatch.html

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​​​​‌​‌‌‌​‌​‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌‌‌​‌‌​‌​​‌​‌‌​‌‌‌​​‌‌‌​​‌‌​‌‌‌​​​​​‌‌​​‌​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌​‌​‌‌‌​‌​​​‌‌​​​​‌​‌‌‌​​‌‌​‌‌​‌​‌‌​​‌​‌‌​‌​‌‌​​​‌​​‌‌​​​​‌​‌‌‌​‌​​​‌‌​​​‌‌​‌‌​‌​​​​​‌​‌‌​‌​‌‌​​‌​​​‌‌​‌​​‌​‌‌‌​​‌‌​‌‌‌​​​​​‌‌​​​​‌​‌‌‌​‌​​​‌‌​​​‌‌​‌‌​‌​​​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​