BlueKing3-作业平台

原文链接:作业平台

1. 产品介绍

1. 产品概述

作业平台(JOB)

  • 一套基于 蓝鲸智云管控平台Agent 管道之上的基础操作平台
  • 具备万级并发处理能力
  • 支持脚本执行、文件拉取/分发、定时任务
  • 运用流程化的理念很好的将零碎的单个任务组装成一个作业流程。而每个人物都可作为一个原子节点,提供给其他系统和平台调度,实现调度自动化。

2. 产品定位

  • 批量执行万级高并发性能
  • 支持复杂的运维操作场景
    作业平台

3. 功能概要

功能概要

2. 核心优势

稳定、高效」是它的代言词!

  • 支持跨多云区域 执行脚本和分发文件的场景,解决企业服务器分布在多个云区域、但需要统一管理维护的刚需

  • 基于Agent使用P2P模式的BT(BitTorrent)协议实现文传传输更强大、灵活,支持断点续传

  • 万级服务器并发执行,让批量执行更高效

  • 云化脚本版本管理模式,很好的控制版本的上/下线状态,能在出安全漏洞时快速禁用、及时止损

  • 作业编排,一切皆场景。作业模板配置执行步骤,根据需求场景衍生对应的执行方案

  • “秒级” 定时,Linux原生Crontab定时任务执行 Timing 更精准,还有监测功能掌握定时任务的动向和执行情况。

  • 开发API接口,以原子形态连接一切,让生态连接更高效

3. 术语解释

作业

  • 为完成发布变更、巡检、初始化等方面的既定任务而定制的执行流程;
  • 作业分为 模板执行方案,二者是 一对多 的关系。一个作业模板可以生成多个执行方案,执行方案可以理解成是从模板衍生出来的、跟使用场景强关联的作业实例。

全局变量

  • demo:作业是一套电风扇,全局变量是功能按钮,作业步骤是扇叶/磁铁/轴等风扇部件,风扇会把它能提供的能力以 功能按钮 的方式展示在最外层,目的是为了让用户看到功能按钮就对该风扇的能力一目了然。
  • 作业提供了什么能力、可以怎么使用等,通过赋予不同的变量值就能满足,用户一看全局变量就能知晓。

定时任务

  • 类似Linux的Crontab,可设置 周期性的执行任务、支持 单次执行 的定时策略、任务开始和结束的消息提醒

公共脚本

  • 普通业务都有属于自己的脚本管理空间,公共脚本则以 公共形态 面向所有平台上的业务/用户的,满足多业务有共性场景脚本需要统一管理和共享的需求

IP 白名单

  • 作业平台中业务之间是逻辑隔离的,因此只能执行指定业务下的关联脚本/作业或主机,不允许资源或目标是跨业务的,但 当用户是平台业务维护场景时,就需要跨业务传文件/执行任务,这就需要将业务外的主机加入IP白名单来实现。【该功能未来会通过配置平台的 [业务集] 来提供。届时IP白名单功能会在迁移后下架】

以下是另一些术语:

脚本

  • 可以运行在终端的工具脚本,包括Shell、Perl、Bat、PowerShell、Python等类似脚本

公共脚本

  • 管理员根据业务需要创建一些公共脚本,其他人员可在任意业务下直接饮用

文件

  • 蓝鲸作业平台支持分发本地文件、服务器/远程文件两种类型

作业

  • 将执行脚本步骤、分发文件步骤组装成一个任务流程,这个流程称为作业,组装作业的过程称为编排

定时作业

  • 将创建好的作业设成定时执行

云区域

  • 区分不同子网段的 IP,不同云区域的IP可以重复,同一个云区域下的IP可相互通信

服务器账户

  • 在服务器上创建的账户,如 root

云参

  • 类似公共的环境变量,整个作业所有步骤或服务器都可以获取到统一的值

上下文参数

  • 面向各服务器对象的私有变量,满足对同一变量进行管理的同时各服务器之间取值不同的需求

4. 产品架构

产品架构图
产品架构图
产品结构图【旧】
产品结构图
作业平台分为Web层和后台任务调度层,并通过消息队列来消费任务,任务执行依赖底层的管控平台,管控平台采用C/S架构,用户只需要在目标机上安装蓝鲸Agent,即可通过作业平台实现脚本执行或文件分发。

5. 快速入门

1. 创建系统(执行)账号

  • 管理员入口 → 账户管理 → 添加账户 → 填写账户信息 → 保存

2. 创建一个脚本

  • 业务管理 → 脚本管理 →新建脚本 → 填写脚本信息 → 保存

3. 执行脚本

前置条件

  • 条件业务下有可执行的服务器(Agent状态正常)
  • 准备好系统执行账号(必备)
  • 准备好一个已上线的脚本(必备)

执行步骤

选择刚创建的脚本 → 去执行 → 填写所需的执行参数和内容 → 去执行【即可在目标机器上执行该脚本】

4. 创建作业模板

作业是用于组装一个或多个操作节点的流程统称,就像工厂的流水线作业一样,将几个需要的操作拼装到一个流程中,使其能够串联起来实现一键自动化执行。

在作业平台中,一个可执行的完整作业由 模板+执行方案 组成;模板提供通用、标准且统一模式化的完整样板,执行方案是从模板中根据场景需要而衍生出来的相应实体。

前置条件

  • 条件业务下有可执行的服务器(Agent状态正常)
  • 准备好系统执行账号(必备)
  • 准备好一个已上线的脚本(可选)

执行步骤

  • 作业执行 → 新建作业 → 填写信息,右上角 全局变量设置 → 脚本中设置刚创建的脚本 → 保存

5. 创建执行方案

作业执行方案是由模板衍生出来的实体对象,不同的执行方案通常用于面向不同的使用场景

前置条件

  • 业务下有可执行的服务器(Agent状态正常)
  • 准备好系统执行账号(必备)
  • 准备好一个已上线的脚本(可选)
  • 准备好一个作业模板(必备)

操作步骤

  • 进入刚创建的作业模板 → 点击 选择方案(创建或查看执行方案)→ 新建执行方案(创建全新的作业执行方案)→ 提交保存即可查看

6. 执行作业

前置条件

  • 业务下有可执行的服务器(Agent状态正常)
  • 准备好系统执行账号(必备)
  • 准备好一个已上线的脚本(可选)
  • 准备好一个作业模板(必备)
  • 准备好一个作业执行方案(必备)

操作步骤

  • 从刚创建的执行方案页面 → 去执行(执行前还可以根据自己的需求修改全局变量的值) → 执行 → 检查执行总览 → 点击单个步骤可查看该步骤的执行详情 → 完成

6. 产品功能

1. 平台首页

  • 首页分为四大块:数据分析、数据统计、收藏的作业、近期执行历史

  • 核心:让用户进入作业平台后能更全面的掌握业务的使用情况,更快的找到用户在这个场景下所需要的。

1. 分析模块

  • 知识科普:作业平台范畴一些常用的使用经验分享
  • 配置巡检:作业平台定期对平台内所有的配置的信息做异常检查的汇总信息

2. 统计数据

  • Agent状态分布:展示当前业务的主机Agent状态分布情况,包括 正常、异常、未安装
  • 作业量:展示当前业务下的作业模板总量
  • 脚本量:展示当前业务下的脚本总量

3. 我收藏的作业

  • 显示用户在当前业务下所收藏的所有作业模板列表

4. 最近执行记录

  • 全部:最近执行的记录直接按执行顺序倒序排列
  • 我执行:显示执行人为当前用户的最近执行记录
  • 更多:执行历史

2. 快速执行脚本

导入脚本并批量执行的方式:

  • 手动编写
  • 从已有的脚本克隆
  • 从本地上传
  • 从公共脚本

只要能够读取主机信息以及Agent的状态是正常的,那均可一键执行脚本,作业更快速高效。

3. 快速分发文件

  • 支持方式:本地上传、服务器上传
  • 分件分发到服务器上的形式:一对多、多对多、多对一
  • 传输模式:
    • 严谨模式:严谨判断目标路径是否存在,若不存在则自动终止任务
    • 强制模式:不论目标路径是否存在都将强制按照用户指定的目标路径进行传输(不存在会自动创建)
    • 保险模式:避免因源文件或目标机器有同名时被覆盖,为安全起见将自动在目标路径后面追加源IP目录

4. 作业管理

1. 作业模板和执行方案功能介绍

  • 作业是蓝鲸作业平台的核心能力之一。
  • 通过流程编排能力,将运维操作场景中涉及到的多个脚本执行或文件分发步骤合成一个作业模板,这个作业模板尽可能把场景相关的共性逻辑都包含进去,然后再根据实际情况衍生出相应的执行方案,那么作业模板和执行方案的关系即为“一对多”。
  • 作业模板由 基础信息、全局变量、作业步骤 三部分组成
    • 基础信息:模板名称、场景标签、模板描述
    • 全局变量:变量类型(字符串、命名空间、主机列表、密文)、变量名称、默认值、变量描述、其他(赋值可变、必填)
    • 作业步骤:步骤类型(执行脚本、分发文件、人工确认)、步骤名称、步骤内容(执行脚本和分发文件相同,人工确认包含确认人、通知方式、确认描述)、错误处理
  • 模板调试:为模板所属人在变更模板逻辑后需要调试而设计的,调试模式中的作业内容与作业模板完全保持一致。
  • 导入/导出
    • 导入:用户须知 → 文件包上传 → 导入内容确认 → 导入设置(重名后缀、作业ID处理) → 开始导入
    • 导出:用户须知 → 导出内容确认 → 导出设置(压缩包名、密文变量值处理、文件加密、文件有效期) → 开始导出(如果丢失可点击重新下载文件)

2. 作业模板的操作流程和逻辑关系
作业模板的操作流程和逻辑关系

  • 调试与作业模板是强同步关系
  • 一旦修改了模板的变量属性或步骤内容,都会与执行方案产生差异,需要同步才能保持一致
  • 强制终止是针对“整个任务” 的,而非“单个步骤”
  • 执行方案的变量值可以自定义,不会因为跟模板的同步而改变
  • 人工确认步骤只有 确认人 可以进行相关操作

5. 脚本管理

  • 提供业务管理维护脚本,包括脚本的引用关系、版本日志、版本上下线/对比等
  • 脚本信息:脚本名称、场景标签、描述、版本号、脚本内容
  • 脚本的版本管理:版本的状态(未上线/已上线/已下线/禁用)、版本对比

6. 定时任务

  • 用来管理定时执行的作业任务,引入 周期成功率 的统计方法,可确认循环执行过程中有哪些任务执行失败

  • 定时任务列表:

    • 任务名称
    • 执行方案名称
    • 执行策略:定时的策略,周期执行显示表达式,单次执行显示执行时间
    • 更新人:最近一次编辑该任务的人
    • 更新时间:最近一次编辑该任务的时间
    • 最新执行结果:最近一次该任务执行的结果
    • 周期成功率:更直观看出定时任务的最近执行情况
      • 周期性 且 时间间隔 ≤ 一小时 的,计算公式:

         最近24小时成功次数 / 最近24小时执行总次数 * 100 相当于 60 * 24 = 最近1440次成功次数 / 1440 * 100
        
      • 此外,一次性或周期性 且 时间间隔 ≥ 2小时的,计算公式:

         最近10次的成功次数 / 10 * 100
        
    • 操作:开关、编辑、删除、执行记录
  • 创建定时任务:

  • 列表左上角“新建” → 填写任务信息(任务名称、执行策略(单次执行/周期执行)、作业模板、执行方案)

7. 执行历史

显示的是对应业务下的所有历史执行任务,可选择 重做 对任务重复执行。

  • 任务ID:每条历史执行任务的ID是唯一的,如果已经有明确的ID,可通过ID搜索对应的任务
  • 任务名称:可重名,因为一个场景可能会执行多次,同名可以帮助用户归类同一场景的执行记录
  • 执行方式:表示任务通过哪种渠道触发执行,渠道来源:页面执行、定时执行、API调用
  • 任务类型:作业执行、脚本执行、文件分发
  • 任务状态:等待执行、正在执行、执行成功、执行失败、等待用户、强制终止中、强制终止成功
  • 执行人
  • 开始时间
  • 耗时时长

8. 账号管理

  • 提供用户按不同业务来存储管理不同类型的 OS 执行账号

创建账号:

  • 用途:系统账号、数据库账号
  • 类型:系统账号类型:Linux、Windows;数据库账号类型:MySQL、Oracle、DB2
  • 名称:实际名称,服务器操作系统上的真实名称,如 root、user00
  • 别名
  • 密码:服务器账号的密码
  • 确认密码
  • 描述

9. 消息通知

帮助用户能够更及时的掌握任务的执行状态,支持根据不同的任务类型选择不同的通知方式给到特定的对象。

10. 公共脚本

公共脚本的功能和业务下的脚本管理是完全相同的,区别只是公共脚本面向的是平台全局的,而业务脚本面向的是单个业务,两者的使用对象维度不同。

11. IP白名单

  • 业务:该白名单生效的业务范围(多选)
  • 云区域
  • IP:输入白名单的IP列表
  • 备注(用途说明)
  • 生效范围:选择该条记录的操作生效范围,即作业平台的原子能力:执行脚本和作业分发

12. 全局设置

全局设置提供了面向平台管理员的管理/维护功能,该页面下的功能核心是作用于整个平台的,如平台内所有业务的可选消息发送渠道、作业平台的历史数据存储策略、等等

  • 通知设置:设置作业平台内所有业务/用户可选的消息通知渠道、模板和对象
    • 「通讯黑名单」的使用场景:每个企业都会有一些高层、特殊敏感人员是跟业务不相关的,为了避免业务运维在设置任务的消息通知对象时误操作配置了这些敏感用户,所以提供了黑名单功能来避免出现这种问题。
  • 账号命名规则:通过页面可配置化的方式,提供给企业作业平台管理员自定义设置。
  • 高危语句规则:企业可以按照自己的场景需要,通过正则的方式按不同脚本类型进行配置。(比如 rm -rf / 删除服务器根目录的严重错误)
  • 平台信息:提供企业可定制化的平台信息显示功能,其中包含作业平台的网页标签 Title 文案、Footer 信息等等
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
蓝鲸作业平台(Job)是一套运维脚本管理系统,具备海量任务并发处理能力。除了支持脚本执行、文件分发、定时任务等一系列基础运维场景以外,还支持通过流程调度能力将零碎的单个任务组装成一个自动化作业流程;而每个作业都可做为一个原子节点,提供给上层或周边系统/平台使用,实现跨系统调度自动化。 ## Benefits ### 安全可靠的高危命令检测能力 作为底层面向服务器OS的原子操作平台,对用户操作指令是否合规、安全的检测至关重要!作业平台支持通过正则表达式设置各种不同脚本语言的高危命令语句检测规则,并且提供被阻拦的操作日志;即便是周边系统通过 API 形式调度执行,也能够被实时检测拦截,让服务器操作更安全! ### 完善的脚本版本管理 云化脚本版本管理模式,贴合现代化开放协同的理念,协作者之间借助平台便捷的共享脚本资源;利用版本管理功能,您可以很好的控制版本的上/下线状态,并能够在出安全漏洞时快速禁用、及时止损! ### 作业编排,一切皆场景 当一个操作场景需要多个步骤串联执行时,如果手工一个个去点击执行,那么效率实在太低了!并且,也没办法很好的沉淀下来,方便后续持续使用和维护。 作业平台作业管理功能很好的解决了这个问题,用户可以在「作业模板」中配置好相应的执行步骤,然后再根据需求场景衍生对应的「执行方案」;如此,即清晰的区分开作业模板和实例的关系,避免强耦合关系,也便于后续对使用场景的管理和维护。 ### 原汁原味的 Cron 定时任务 保留了 Linux 原生的 Crontab 定时任务使用习惯,让运维同仁能够更平滑、快速的上手;更有贴心的监测功能助您发现及时掌握定时任务的动向和执行情况。 ### 高扩展性的文件源管理能力 在文件分发的需求场景中,我们除了从远程服务器、本地文件作为传输源以外,还可能需要从对象存储、FTP、Samba等不同的文件系统/服务获取文件; 为了满足这种多元化的文件源对接诉求,我们开放了文件源插件的能力,支持开发者根据自己的文件系统类型开发插件对接作业平台的文件源管理模块,从而实现从不同文件系统分发的能力。 bk-job 提供了快速执行、任务编排、定时执行等核心服务,多重组合,满足企业不同场景的需求: - **快速执行**:提供临时性且多变的快速一次性操作入口,用完即走 - **任务编排**:对于重复性的操作组合,可以通过编排功能将其沉淀为“作业”,方便管理和使用 - **定时执行**:支持用户按业务逻辑诉求设置周期性或一次性的定期执行计划 - **脚本管理**:将脚本以云化模式统一管理,更好的支持作业编排和周边系统调度的灵活度 - **账号管理**:管理服务器OS的执行账户,如Linux的 root,Windows的 administrator 等等 - **消息通知**:满足业务按管理需求设置任务不同状态的执行结果消息通知 - **文件源管理**:开放文件源对接插件能力,满足从不同文件系统类型拉取文件并传输的诉求 - **运营分析**:提供平台的运营统计数据展示,助力管理员更全方位的了解平台的运行情况 - **平台管理**:丰富的平台管理员工具,包括但不仅限于信息更改、消息渠道设置、高危语句检测规则、功能限制设置、公共脚本管理、后台服务状态展示等等
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值