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 信息等等
BlueKing3-作业平台相关推荐
- 利用WSS搭建学生作业平台
这是我以前写过的一个文档,现在与大家分享下: 我们将需要以下几点步骤: l 部署相应的环境 l 在WSS服务器上创建相应的网站并添加相应功能模块 l 创建相应的管理人员与用户并赋予相应的权限 l 测试 ...
- 地图作业平台低代码实战(搭建能力提升)
背景 1.地图数据作业平台由大型的WebGIS"综合作业"逐步转换为人机结合,所见即所得的流水化"简单作业"; 图1-1 综合作业与流水化作业 2.流水化作业的 ...
- 蓝鲸作业平台:搞定与脚本相关的一切
目录 蓝鲸简介 蓝鲸作业平台能干嘛? Just so so怎敢称强大 总结一下 蓝鲸简介 蓝鲸智云,简称蓝鲸,是腾讯游戏运营部"腾讯智营"下的子品牌.它是一套基于 PaaS 的企业 ...
- 用CRM的思想定制客户经理作业平台
一.客户经理的工作就是CRM工作 伴随国内金融市场的激烈竞争,以及金融体制.经营机制改革的不断深入,银行客户经理制正在全国各家商业银行兴起.从前年开始,为应对WTO,增强银行核心竞争力,中国工商银行. ...
- 淘宝Hadoop作业平台宙斯(zeus)开源
https://github.com/alibaba/zeus 宙斯(zeus)是什么 宙斯是一个完整的Hadoop的作业平台 从Hadoop任务的调试运行到生产任务的周期调度 宙斯支持任务的整个生命 ...
- android畅言作业平台,畅言作业平台学生端
&emsp:&emsp:作业平台学生端是移动教学工具,作业平台学生端潜心K12作业答题,平台移动端软件提供一对一在线辅导,错题自动生成,平台内加入魔圈,让你随时轻松学习.轻松训练. 软 ...
- java泰坦宙斯之战程序_详解Hadoop作业平台宙斯Zeus.pdf
详解Hadoop作业平台宙斯Zeus 杨⻜ 分布式研发⼯程师 开源爱好者 技术顾问 邮箱:yangf_sky@163.com 博客:/yangfei001 微博:/u/1664659850 内容⼤纲 ...
- 淘宝Hadoop作业平台 宙斯Zeus(转)
宙斯(zeus)是什么 宙斯是一个完整的Hadoop的作业平台 从Hadoop任务的调试运行到生产任务的周期调度 宙斯支持任务的整个生命周期 从功能上来说,支持: Hadoop MapReduce任务 ...
- 在线学习及作业平台管理系统(ssm,mysql)
本次设计开发的在线学习平台管理系统,该系统基本上可以满足学校及现代信息化的课程教学的要求,可以实现学校的低成本投入,高效率办公的宗旨.本网站采用JAVA语言开发,jsp技术,SSM框架,eclipse ...
- 南邮c语言作业平台,“像妈妈一样关心爱护学生”南邮C语言老师教课20年收获学生“2本留言册”的暖心赞美...
"我感觉我好像是撒了一把爱的种子,但现在是漫山遍野的花回馈给我,这种幸福难以言表!"说这话的是南京邮电大学的严英老师,今年是她在南邮工作的第20年,她教授的<高级语言程序设计 ...
最新文章
- ASP.NET Razor – C# 逻辑条件简介
- 《Drupal实战》——1.9 小结
- LyaoutParameters作用
- C#位运算实际作用之操作整型某一位
- 【Python】判断列表中是否存在一个数
- 2021博客之星,请帮忙投上宝贵一票
- CF1392G-Omkar and Pies【dp】
- JavaScript笔记集
- 如何用结构型信号量实现互斥和同步
- Linux的shell中echo改变输出显示样式
- IntentService简介
- 热议:为什么近些年硕士生考博意愿偏低?
- 微信小程序下拉刷新,上拉加载
- 计算机电子表格选取内容,如何快速选择Excel表格特定内容?
- 假设你毕业后有两个选择:一个是在某处找工作,另一个是自己创业。你要做决定。写一篇文章解释你的决定的理由
- element中el-select实现拼音搜索(el-autocomplete等下拉框搜索都可添加)
- Python动态可视化Cufflinks
- 20220518编译OpenHarmony-v3.1-Release出现genext2fs: command not found
- Java创建对象的四种方法
- 考研复试-数据结构-面试题