功能介绍
作业管理模块由多个紧密配合的功能页面组成。以下将按系统的页面功能导航分布,为您详细介绍各模块的核心定位与具有的配置能力。
1. 首页 (Dashboard)
作业管理的入口级数字驾驶舱,旨在向运维团队提供当日任务执行的全局缩影。
- 总览统计:以统计卡片形式集中展示目标总数、脚本库与 Playbook 存量、执行记录总数(含成功/失败/执行中/待执行/已取消分项)、定时任务总数与启用数,以及全局平均执行时长(秒)。
- 执行趋势:按日期展示执行次数、成功次数、失败次数、取消次数及当日平均执行时长;支持 7/14/30 天快捷档,也支持自定义起止日期闭区间(最长 90 天)。
- 成功率对比:对比当前周期与上一等长周期的成功率及平均执行时长,支持自定义起止日期闭区间,直观评估作业质量变化趋势。
- 作业类型分布:以分组方式统计各类型作业的执行次数,直观呈现脚本执行、文件分发等类型的使用占比。
- 执行状态分布:按执行状态分组统计,支持与趋势相同的自定义日期区间过滤。
- 最近执行:以列表形式呈现最新的作业执行记录,快速定位正在运行或刚结束的任务,便于即时跟进。
- 高频触发入口:提供快捷直达「快速执行」或「新建定时任务」的便利入口按钮,平移常见的使用习惯,以供高频次唤醒。
2. 目标管理 (Target Management)
作为各种自动化执行动作的下发对象群组管控库。
- 支持多纳管模式编配:在这里定义与管理的执行组支持包含有 Agent 模式(主机已安装常驻代理进行调度)与无 Agent 模式(基于 Ansible 协议,免常驻驱直接管理)。
- 灵活目标图谱与圈定:支持从宏观集群视角、微观机器属性层面通过标签 (Tag) 或特定的 IP 列表方式,将零散的主机聚合关联保存。在后续触发其它如脚本分发的任务时,实现一键引用目标群。
3. 快速执行 (Quick Execute)
为应对突发性的短指令与排障性任务需求所搭建的无编排高速工作侧。
- 即插即开的执行面板:针对临时写下便打向主机的命令,提供类似 IDE 的可编辑代码面板。用户可以直接输入撰写 Shell、Python 等常用语言片段脚本,并选定上述目标资源执行。
- 远端流式反馈:毫秒级别开启远端机器交互响应。并在页面实时打印每一台目标机执行后的标准输出流(Stdout),极大提升紧急交互场景体验。
4. 文件分发 (File Distribution)
实现跨多端节点之间、大批量的主机物理文件传输控制中枢。
- 端到端物流传送通道:既支持将中控或远端某台资源机内的二进制配包、配置文件等推送到海量终端的指定路径上;也兼具将远端的业务日志等文件抓取回源归集的能力。
- 目标黑白明细管控:受底层「高危路径拦截系统」保护,对文件放置地址做出黑白名单限定与杜绝(严禁覆写
/etc,/boot等基石路由)。 - 临时文件自动过期回收:待分发的文件均设有过期时间(默认 7 天,可配置范围 1 ~ 365 天),由系统每日 00:00 的定时任务自动清理到期文件。平台不提供「永久保存」选项,避免临时分发文件长期占用存储空间。
5. 资源库 (Resource Library)
集中收纳管理企业侧在长周期积累下的优质可重放资产的标准化地带。
- 脚本库:将团队常用的环境修复、服务检测脚本沉淀为复用形态保存于此。提供脚本内容的代码级版本管理与上下线流程,避免误被他人篡改覆盖引发问题。脚本内容支持 Jinja2 参数模板语法(
{{ param_name }}),可定义参数名、标签、是否加密、默认值、提示信息等属性,实现一份脚本多场景复用。Shell 类型脚本默认以bash解释器执行;若脚本首行含合法 Shebang(如#!/bin/sh、#!/usr/bin/env python3),系统优先遵循 Shebang 指定的解释器(仅支持白名单内的解释器:sh、bash、python、python3、powershell、pwsh)。 - Playbook 库:针对于复杂部署任务(如安装数据库且需前置挂盘等),内置解析导入外部的 Ansible 标准 YAML 剧本(Playbook)。基于状态声明性直接维护那些依靠单一条代码无法平稳达到的长线操作环境架构态。Playbook 文件以 ZIP 压缩包形式上传,系统自动解析其中的
playbook.yml与README.md,并在详情页展示参数定义列表与 README 内容;每次执行时记录 Playbook 版本快照,事后版本可追溯。
6. 定时任务 (Cron Jobs)
为高重样式的轮耕化运维制定了无人值守处理齿轮。
- Cron 级定时推针:将「脚本库」或者是「快速执行」内固化的任务与自定义 Cron 表达式绑定,实现类似“每晚两点清理废弃日志”这类的定期定分周期驱动运作。
- 引擎全生命周期维护:内置提供针对周期规则任务的强干预——不论是任务“切断终止 (挂起)”、“重启运转”,还是推演“接下来的三波预测触发时分”。
7. 高危配置与拦截底座 (Security Config)
坚守自动化不可逾越底线的“防御保险丝”,旨在防止操作被全量击穿波及瘫痪。
- 高危命令配置:提供极强的正则捕获策略,当用户在提交指令(如输入不当的
rm -rf /或强制启停内核命令)的瞬间进行拦截,立刻阻绝投递下放并发送告警。 - 高危路径配置:结合「文件分发」动作划定文件禁止操作禁区,绝不允许文件向系统存活强相关的路径实施盲目写入。
- 团队归属隔离(防水平越权):脚本、Playbook、目标、分发文件等资产均按团队归属授权。当用户引用资产发起执行时,平台会校验该资产是否落在「当前用户已授权团队」范围内,杜绝 A 团队用户引用 B 团队的脚本、目标或文件越权执行。
⚠️ 安全最佳实践:
切勿出于所谓测试的便利将常见高危语句配置脱白。任何合规且频繁需要使用高权特性的排查动作应当优先封装至受控的「脚本库」之中,而非借由散乱的快速命令下放。
8. 作业记录与详情 (Execution History)
全局的操作过程沉淀案,也是排障时首当其冲找寻的黑匣子。
- 全局履历时间阵:记录无论处于快速触发、或者是定时调度的每一次执行流水批号与概览,所有执行明细皆落底库随时备查。
- 深潜钻取断层:在”作业详情”的各分叉视图中,可精确到追踪每一台机当时的异常下发言和最终标准退出原话。真正做到谁执行由于什么时候报了什么样错被记录成不争证词。
- 重新执行:对已进入终态的作业,支持一键基于相同参数创建新的执行实例,无需重新填写配置。
- 执行输出实时查看:执行详情页通过 SSE(Server-Sent Events)实时推送每台目标机的标准输出流,无需等待执行结束即可持续观察进度与中间日志;任务进入终态后,同一入口自动切换为历史结果快照展示,浏览体验一致。
- 取消执行:支持对待执行或执行中的任务发起取消。待执行任务取消后立即置为已取消终态;执行中任务取消后进入「取消中」过渡态,待目标机真实结果回写后自动收敛为已取消(系统设有超时兜底强制收敛);处于终态或已在取消中的任务拒绝重复取消。执行状态共七种:终态为「成功、失败、超时、已取消」,中间态为「待执行、执行中、取消中」。
- 执行来源与回调溯源:每条作业记录都会标注触发来源(手动 / 定时任务 / 接口调用)、执行人快照以及执行时的 Playbook 版本快照,并支持配置回调地址。无论作业由人工还是第三方系统触发,事后都可清晰还原「谁、以何种方式、用哪个版本」发起了本次执行。
9. 对外开放能力 (Open Integration)
作业管理不仅可在控制台内独立使用,也可作为统一的作业执行底座供平台内其它应用(如补丁管理)调用。
- NATS 开放接口:通过 NATS 消息总线对外暴露以下接口,供内网第三方应用直接调用(无需额外 Token,信任内网 NATS 通道):
job_script_execute:触发脚本执行,返回task_idjob_file_distribute:触发文件分发,返回task_idjob_task_terminate:取消正在运行或排队中的作业,与控制台保持一致的取消语义与状态流转job_status_batch_query:批量查询多个作业的执行状态job_detail_query:查询单个作业的执行详情job_target_list:查询可用目标主机列表,供构建target_list参数
- REST 文件接口:提供 HTTP 接口供第三方上传与删除待分发文件,使用 API Token(
Api-AuthorizationHeader)鉴权:POST /api/v1/job_mgmt/api/open/upload_file:上传文件,支持expire_days(1~365 天,默认 7 天)自定义过期天数DELETE /api/v1/job_mgmt/api/open/delete_file:删除已上传的文件
- 执行结果异步回调:第三方调用方可在发起作业时携带
callback_url,作业进入终态后平台带签名主动回推结果;失败时按指数退避策略(默认起始间隔约 5 秒、上限 120 秒、含随机抖动)最多重试 5 次,保证结果可靠送达。