自动化运维

自动化运维已经成为IT服务内涵中重要的组成部分。面对越来越复杂的业务,面对越来越多样化的用户需求,不断扩展的IT应用需要越来越合理的模式来保障IT服务能灵活便捷、安全稳定地持续保障。

自动化流程引擎
一、丰富的平台内置作业库

HP作业调度平台HP OO的内置作业库包含大量基础作业,在新运维作业的设计过程中,应当首先考虑在基础作业库中搜寻,尽量使用现成的基础作业来构建新运维作业,这样既可以节省设计调试作业的时间,又可以保障新作业的质量。

平台的内置作业库按照下述规则进行了分类:

√ Accelerator Packs

“Accelerator Packs”库中基础作业的操作对象包括Weblogic、JBoss、Tomcat、WebSphere等应用服务器,Oracle、SQL Server、Sybase等数据库,也包括网络设备、操作系统、存储、虚拟化平台等。主要实现了各类复杂的健康检查、诊断、修复等作业,也实现了各类信息收集作业。

√ Integrations

“Integrations”库包含了OO与其它第三方产品集成的基础作业。其中,既包括HP的各类产品,也包括IBM、Microsoft、BMC、Symantec、F5、VMware等公司的主流产品。

√ Operations

“Operations”库包含了各类最基础的作业,这些作业是构建复杂作业的原子模块。比如在“File System”目录下有文件拷贝、文件属性读取等基本操作,在“Remote File Transfer”目录下有FTP、SCP、SFTP等文件传输操作。

√ Utility Operations

“Utility Operation”库包含了各类数据操作分析作业、结构化作业、工具作业以及其它一些非技术性的作业。

二、模块化设计

在作业的设计过程中,时常可能发现作业之间存在一些相似之处,具体来说就是多个作业中存在相同的作业步骤。如果在每个作业中都去实现这些步骤,无疑增大了工作量,而且这些步骤的实现标准和效果也得不到统一。

HP流程引擎提供模块化设计功能,在日常运维过程中,运维人员只需要设计一套逻辑。即可在其他流程中方便的调用该逻辑,在复杂系统环境下,将流程设计成一个子作业是必要的。

三、多元化逻辑

惠普作业调度平台HP OO可以帮助用户实现各种作业逻辑,包括顺序执行、循环执行、并发执行等。

√ 循环执行

实现循环逻辑的核心要素是Operation Utility -> Looping目录下的List Iterator作业。

List Iterator作业会逐个输出对应参数到用户交互界面上,用户逐个,并且随着遍历的过程,这些参数也排列顺序组成了一个列表并输出。

√ 并发执行

HP OO支持单脚本并发到多服务器同时执行,可实现任意多台服务器并发,大大方便了自动化流程定义。

四、人机交互

惠普作业调度平台能实现完全自动化的作业执行。但在实际的运维作业中,操作员往往希望在作业执行过程中插入一次或数次人机交互。

√ 变量输入

最常用的人机交互是变量输入。平台中给变量赋值可以使用Utility Operations -> Flow Variable Manipulation目录下的Set Flow Variable。

√ 变量选择

如果希望给操作员提供输入范围,则可以将Prompt For设置为Selection,并在Named中选择已定义的list。

√ 作业停止等待

还有一个常见的需求是,当作业进行到某一步时停止下来,在交互界面上输出等待提示文字(可能是前一步的执行报告、下一步的确认执行语等等),当操作员点击继续执行按钮后,再进入下一步。

五、多元化逻辑

作业调度自动化的好处之一是可以定时触发作业,对于像巡检等工作量大而无须人员值守的作业来说,完全可以通过作业调度平台进行定时触发。本次测试中也存在需要定时触发的自动清理脚本。

在需要定时触发的流程上,右键选择“Schedule”:

以每周一中午12点定时触发为例: