一、产品概述
作业管理是面向 IT 基础设施自动化运维的控制平台,提供批量脚本执行、文件分发、Playbook 编排与定时调度能力,并支持有 Agent(控制器纳管)与无 Agent(Ansible)两种执行模式。它把批量运维串成一条线:备目标 → 选内容 → 批量执行 → 追踪结果 → 沉淀复用。
主要功能入口:
- 快速执行 / 文件分发:即时对一批主机跑脚本 / 分发文件。
- 定时任务:让脚本执行 / 文件分发按计划周期运行。
- 脚本库 / Playbook 库:沉淀可复用、可参数化的脚本与 Playbook。
- 目标管理:维护可执行的目标主机及其驱动与凭据。
- 作业记录:查询执行历史并下钻每台主机的输出与退出码。
- 系统配置:高危命令配置、高危路径配置(安全拦截)。
边界说明: 目标主机的纳管(装控制器 / Agent)由 节点管理 提供;组织与权限、凭据管理由 系统管理 维护。
二、核心概念与术语
| 概念 | 说明 |
|---|---|
| 目标(主机) | 作业可下发的主机;可从《节点管理》同步或手动录入 |
| 执行驱动 | 执行通道:Ansible、Sidecar(SSH 是凭据 / 连接方式,不是执行驱动) |
| 凭据 | 连接目标的账号密码 / 密钥(Linux SSH / Windows WinRM) |
| 脚本库 / Playbook 库 | 可复用模板库;脚本支持 Jinja2 参数、Playbook 依赖 Ansible 驱动 |
| 快速执行 / 文件分发 | 两类即时作业:跑脚本 / 分发文件 |
| 定时任务 | 按简单策略或 Cron 周期运行的作业 |
| 高危命令 / 高危路径 | 安全拦截规则:命中后禁止执行或二次确认 |
| 作业记录 | 执行历史,含状态、发起人、按主机的输出与退出码 |
| 触发来源 | 作业由人工、定时任务或其他业务模块发起;可在作业记录中用于追溯 |
常见技术名词速查(在后文看到不懂的词,回这里查):
| 名词 | 通俗解释 |
|---|---|
| 有 Agent 模式 | 目标主机已通过《节点管理》装好控制器(在线),经 Agent 高速并发执行 |
| 无 Agent(Ansible)模式 | 目标主机无需装 Agent,平台用 SSH / Ansible 直接下发 |
| Sidecar | 已装 Agent 主机上的本地执行组件 |
| Playbook | Ansible 的自动化编排文件,只能在 Ansible 驱动的主机上执行 |
| Stdout / Exit Code | 命令的标准输出 / 退出码;退出码非 0 通常表示执行异常 |
| Jinja2 | 脚本里的参数模板语法,便于同一脚本套不同参数 |
| 执行账户 | 在目标主机上以哪个系统账户执行作业 |
原理提示: 作业能下发的前提是目标主机已可被纳管——要么走有 Agent 模式(在《节点管理》装好控制器、状态在线),要么走无 Agent 模式(具备 SSH 访问并配好凭据)。执行前,命令 / 路径还会经高危规则校验。
三、目标与执行引擎
| 纳管模式 | 适用 | 前提 | 执行驱动 |
|---|---|---|---|
| 有 Agent | 已装控制器的节点,高速并发 | 《节点管理》装好控制器、状态在线 | Sidecar |
| 无 Agent(Ansible) | 未装 Agent 的主机 | 具备 SSH 访问并配好凭据 | Ansible |
凭据按操作系统:Linux 用 SSH(密码或密钥),Windows 用 WinRM。Playbook 内容只能选 Ansible 驱动的目标主机,不兼容主机会在选择列表中被禁用并提示原因。
目标可从《节点管理》同步(同步来源的基础信息不可改、在本地节点执行无需额外凭据)或手动录入(可完整编辑、需配凭据)。
四、通用流程
- 备目标: 目标管理 → 从《节点管理》同步或手动添加主机,配好驱动与凭据,做连接测试。
- 选内容: 用脚本库 / Playbook 库的模板,或临时输入脚本。
- 选执行方式并下发: 快速执行(即时跑脚本)/ 文件分发(即时发文件)/ 定时任务(周期运行);选目标主机、设执行账户与超时,执行。
- 看结果: 作业记录 → 先核对触发来源,再进详情看总成功率、按主机的输出(Stdout)与退出码(Exit Code);失败可重试,队列中可取消。
任务名称: 6.11 起创建任务时可由页面生成默认任务名称,便于快速提交;正式生产任务仍建议改成能体现对象、动作和时间窗口的名称,避免执行记录难以追溯。
关于安全拦截: 命令执行受高危命令规则约束、文件分发受高危路径规则约束;命中”禁止”会被拦截,命中”二次确认”需确认后继续。
关于入口名称: 控制台中的英文「Job」即本「作业管理」,按本指南中文名对应即可。
五、新手第一课:5 分钟跑通第一次批量执行
第一次使用,建议用「快速执行」在一台主机上跑一段无害脚本,走通”下发 → 看输出”。
第 0 步:先确认目标主机可纳管。 二选一:① 有 Agent——该主机已在《节点管理》装好控制器、状态”在线”;② 无 Agent——该主机可 SSH 访问且系统内已配好匹配凭据。
第 1 步:进入快速执行。 左侧导航 作业管理 → 快速执行。
第 2 步:写脚本。 选脚本语言 Shell,输入无害探测命令,如:
echo "=== Uptime ==="; uptime
echo "=== Memory ==="; free -m
第 3 步:选目标主机。 在「目标选择」点「+ 添加」,从拓扑勾选或手动输入 IP,确认。
第 4 步:执行。 执行账户与超时可保持默认,点「执行」提交。
第 5 步:看结果。 页面跳到追踪详情,看总成功率;点目标主机看它的 Stdout(应能看到 Uptime / Memory),退出码非 0 时在日志栏看异常原因。
若失败,按顺序排查: ① 主机是否在线(有 Agent)或凭据是否正确(无 Agent);② 是否被高危命令规则拦截;③ Exit Code 非 0——看该主机执行日志定位原因。
下一步: 想分发文件用文件分发;想周期巡检用定时任务 + 脚本库;要批量复用脚本 / Playbook,在脚本库 / Playbook 库沉淀(Playbook 需 Ansible 驱动主机)。
六、产品介绍
1. 产品简介
作业管理(Job Management)是一款面向 IT 基础设施自动化运维的核心控制平台。它通过统一的任务下发渠道,为运维人员提供支持批量脚本执行、自动化文件分发、Playbook 编排与定时调度的强大能力。系统同时支持传统 Agent 纳管模式与轻量级无 Agent (Ansible) 模式,帮助企业在保障安全合规的前提下,大幅提升批量运维操作的执行效率并降低业务风险。
2. 核心优势
- 双引擎驱动架构:支持在已安装控制器的节点通过 Agent 实现高速并发执行,同时也支持对无 Agent 节点通过 Ansible 协议直接下发处理。两套引擎对用户层屏蔽差异,满足不同安全级别与网络环境的纳管要求。
- 安全合规的执行通道:系统通过正则表达式与路径白名单双重校验,从下发源头阻断违规破坏性操作,保证每一个批量命令和文件分发均处于安全授权框定内。
- 统一丰富的资源沉淀:不仅支持临时命令的即插即用,还内置标准化的「脚本库」与「Playbook 库」,支持脚本的多版本管控与上线流转,便于企业持续沉淀与复用运维资产。
- 所见即所得的追踪闭环:任务触发后生成全局唯一的追踪流水信息。运维人员可通过直观的详情界面,向下穿透剖析每一台主机的标准输出 (Stdout) 与退出码 (Exit Code),故障排查直观精准。
- 统一作业执行底座:除控制台内直接使用外,作业管理还可承接其他业务模块发起的脚本执行和文件分发,并把执行状态与结果返回调用方。
3. 应用场景
- 应用批量发布与部署:结合「文件分发」和「Playbook 库」能力,将业务更新后的制品架构批量投递到指定的业务集群节点,并自动拉起服务、进行预热与自测。
- 系统异常应急恢复:面临告警系统抛出的网络满载或负载飙升危机情况,运维值班人员能利用「快速执行」入口加载应急脚本,火速将临时降级、诊断隔离命令打向被波及的集群。
- 全局自动化资产巡检:诸如僵尸进程度量、业务过期日志清理、磁盘空间探测等高度重复的日常运维动作,可打包固化于「脚本库」,并结合「定时任务」形成自动化例行巡检与自我愈合的闭环。
七、功能介绍
作业管理模块由多个紧密配合的功能页面组成。以下将按系统的页面功能导航分布,为您详细介绍各模块的核心定位与具有的配置能力。
1. 首页 (Dashboard)
作业管理的入口级数字驾驶舱,旨在向运维团队提供当日任务执行的全局缩影。
* 执行数据大盘:直观展示特定时间段内的“作业执行总数”以及“成功/失败率”占比分布,帮助运维大管家把控系统自动化整体运行的健康度水位。
* 高频触发入口:提供快捷直达「快速执行」或「新建定时任务」的便利入口按钮,平移常见的使用习惯,以供高频次唤醒。
2. 目标管理 (Target Management)
作为各种自动化执行动作的下发对象群组管控库。
* 支持多纳管模式编配:在这里定义与管理的执行组支持包含有 Agent 模式(主机已安装常驻代理进行调度)与无 Agent 模式(基于 Ansible 协议,免常驻驱直接管理)。
* 灵活目标图谱与圈定:支持从宏观集群视角、微观机器属性层面通过标签 (Tag) 或特定的 IP 列表方式,将零散的主机聚合关联保存。在后续触发其它如脚本分发的任务时,实现一键引用目标群。
3. 快速执行 (Quick Execute)
为应对突发性的短指令与排障性任务需求所搭建的无编排高速工作侧。
* 即插即开的执行面板:针对临时写下便打向主机的命令,提供类似 IDE 的可编辑代码面板。用户可以直接输入撰写 Shell、Python 等常用语言片段脚本,并选定上述目标资源执行。
* 远端流式反馈:毫秒级别开启远端机器交互响应。并在页面实时打印每一台目标机执行后的标准输出流(Stdout),极大提升紧急交互场景体验。
4. 文件分发 (File Distribution)
实现跨多端节点之间、大批量的主机物理文件传输控制中枢。
* 端到端物流传送通道:既支持将中控或远端某台资源机内的二进制配包、配置文件等推送到海量终端的指定路径上;也兼具将远端的业务日志等文件抓取回源归集的能力。
* 目标黑白明细管控:受底层「高危路径拦截系统」保护,对文件放置地址做出黑白名单限定与杜绝(严禁覆写 /etc, /boot 等基石路由)。
* 临时文件到期清理:待分发文件会设置保存期限,到期后由系统自动清理,不提供永久保存选项。具体期限和当前状态以文件上传页或文件列表展示为准;需要长期留存的安装包、配置文件应另行保存到正式制品库。
5. 资源库 (Resource Library)
集中收纳管理企业侧在长周期积累下的优质可重放资产的标准化地带。
* 脚本库:将团队常用的环境修复、服务检测脚本沉淀为复用形态保存于此。提供脚本内容的代码级版本管理与上下线流程,避免误被他人篡改覆盖引发问题。
* Playbook 库:针对于复杂部署任务(如安装数据库且需前置挂盘等),内置解析导入外部的 Ansible 标准 YAML 剧本(Playbook)。基于状态声明性直接维护那些依靠单一条代码无法平稳达到的长线操作环境架构态。
6. 定时任务 (Cron Jobs)
为高重样式的轮耕化运维制定了无人值守处理齿轮。
* Cron 级定时推针:将「脚本库」或者是「快速执行」内固化的任务与自定义 Cron 表达式绑定,实现类似“每晚两点清理废弃日志”这类的定期定分周期驱动运作。
* 引擎全生命周期维护:内置提供针对周期规则任务的强干预——不论是任务“切断终止 (挂起)”、“重启运转”,还是推演“接下来的三波预测触发时分”。
7. 高危配置与拦截底座 (Security Config)
坚守自动化不可逾越底线的“防御保险丝”,旨在防止操作被全量击穿波及瘫痪。
* 高危命令配置:提供极强的正则捕获策略,当用户在提交指令(如输入不当的 rm -rf / 或强制启停内核命令)的瞬间进行拦截,立刻阻绝投递下放并发送告警。
* 高危路径配置:结合「文件分发」动作划定文件禁止操作禁区,绝不允许文件向系统存活强相关的路径实施盲目写入。
* 组织范围校验:脚本、Playbook、目标和分发文件均受组织权限约束。发起执行或重新执行时,平台会再次校验当前账号是否仍有权使用相关资源,避免跨组织误操作。
⚠️ 安全最佳实践:
切勿出于所谓测试的便利将常见高危语句配置脱白。任何合规且频繁需要使用高权特性的排查动作应当优先封装至受控的「脚本库」之中,而非借由散乱的快速命令下放。
8. 作业记录与详情 (Execution History)
全局的操作过程沉淀案,也是排障时首当其冲找寻的黑匣子。
* 全局履历时间阵:记录无论处于快速触发、或者是定时调度的每一次执行流水批号与概览,所有执行明细皆落底库随时备查。
* 深潜钻取断层:在“作业详情”的各分叉视图中,可精确到追踪每一台机当时的异常下发言和最终标准退出原话。真正做到谁执行由于什么时候报了什么样错被记录成不争证词。
* 来源与版本追溯:作业记录会区分人工执行、定时任务和其他模块调用等来源;使用 Playbook 时保留执行版本信息,便于确认当时实际运行的内容。
9. 跨模块作业执行
作业管理可作为 WeOpsX 的统一执行底座,供 补丁管理 等业务模块复用脚本执行、文件分发和结果查询能力。
- 统一查看执行结果:其他模块发起的任务仍可能形成作业记录,可在这里查看进度、目标主机和失败原因。
- 结果自动返回:调用方可接收完成状态,用于继续自身业务流程;运维人员不需要手工转录执行结果。
- 边界说明:作业管理负责执行与追踪;审批、补丁风险判断、基线编排等仍由发起模块负责。排查补丁安装 / 重启问题时,优先在补丁管理的「执行记录」查看主机阶段与日志,再视需要到作业记录核对底层执行结果。
八、操作指引(快速入门)
本指南将引导您使用「快速执行」功能,以最快的方式完成在目标主机上的第一次批量脚本执行。
1. 前置条件
在开始之前,请确保您的目标主机满足以下任意一种纳管方式:
* 有 Agent 模式:目标主机已通过「节点管理」安装控制器并在系统中呈现「在线」状态。
* 无 Agent (Ansible) 模式:目标主机具备 SSH 访问条件,并在系统内正确关联了相匹配的凭证信息。
2. 分步操作指引
第一步:进入快速执行页面
登录控制台左侧侧边栏,点击导航「作业管理」>「快速执行」。
第二步:编写执行脚本
- 在页面左侧的代码编辑区域上方选择您的「脚本语言」(例如:Shell)。
- 在代码框中输入一段简单的状态探测指令,例如查看远端机器运行时间与内存:
bash
echo "=== System Uptime ==="
uptime
echo "=== Memory Usage ==="
free -m
第三步:选择目标主机
目标主机前置条件
- 纳管方式(二选一): 有 Agent——目标主机已在《节点管理》装好控制器、状态在线;无 Agent(Ansible)——主机可 SSH 访问且已配好匹配凭据。
- 凭据: 手动录入目标按系统配凭据(Linux SSH / Windows WinRM);从《节点管理》同步的目标在本地节点执行、无需额外凭据。
- 安全约束: 执行的命令会经高危命令规则校验,命中可能被拦截或要求二次确认;Playbook 内容只能选 Ansible 驱动的主机。
- 在页面右半部分的「目标选择」区域,点击对应的「+添加」按钮。
- 弹出拓扑结构域后,您可以通过现有的系统拓扑模块勾选需要纳入测试的业务机,或者直接通过“手动输入 IP”的方式填入目标主机。
- 确认已选中的机器列表无误后,点击右下角确定闭合弹窗。
第四步:执行作业
- 若无特权要求,可保持下方的“执行账户”和“超时时间”为系统默认值。
- 点击页面最下方的主按钮「执行」来提交本次作业下发。
⚠️ 安全最佳实践:
在您点击执行前的一瞬间,该执行代码将经过「高危命令配置」层识别。如果您一时手快输入了类似的破坏性语句(如
rm -rf /),这笔执行单据将被作业平台直接强制截阻拦截,全方位防止低级失误。
3. 结果验证与闭环
提交操作请求几乎是瞬间响应完成的,页面会自动跳转定位至该笔任务的诊断追踪页面层:
🖼️ 界面指引:
- 总运行成功率概览:界面顶端的饼环或进度条会直观向您展示成功主机/失败主机的总体分档情况。
- 日志结果追踪:点击下方主机表格中那台我们刚刚选定的目标节点,右侧或展开的弹窗将直接输出刚刚通过命令查询到的
Uptime与Memory信息!如果命令退出回执存在异常(即 Exit Code 不为 0 ),直接在执行日志栏亦可以直观洞悉异常缘由。