Control-M使用手册中亦安图科技发展(北京)有限公司二零一二年十二月1体系结构1.1架构说明CONTROL-M生产管理建立在一个三层结构基础上,它包括CONTROL-M/EnterpriseManager,CONTROL-M/Server和CONTROL-M/Agents三个组件。CONTROL-M/EnterpriseManager(以下简称:CONTROL-M/EM)提供一个统一的,适用于所有平台的GUI界面。它拥有自己的独立的数据库,通过Gateway与Control-M/Server进行连接,管理与控制所有的Control-M/Server与Control-M/Agent。Control-M的服务器(Server)Control-M处理的核心,它是调度作业、管理作业处理流程、提供作业流状态信息的引擎。保存所有作业的定义及其调度规则。同一架构体系中Control-M/Server可以有多个(青岛银行目前只有一个)。Control-M/Agent负责在应用服务器上执行具体的作业,如批量调度,文件传输等等。Control-M/Agent可安装在各种操作系统上,并提供如AFT(文件传输),DATABASES(数据库存储过程),SAP(SAP软件相关)等功能模块方便不同的应用进行作业执行。注:另外在CONTROL-M/Server和CONTROL-M/EMServer支持高可用,保障整个系统的不受故障影响。作业生命周期:1.作业在Control-M/EM提供的GUI界面中进行定义。2.作业提交到Control-M/Server进行调度。3.Control-M/Server将作业提交到所需执行的Control-M/Agent进行执行。4.Control-M/Agent将作业执行信息返回到Control-M/Server。5.Control-M/Server将作业信息同步到Control-M/EM供GUI界面进行展示。青岛银行架构:CONTROL-MServerDBCTM1CONTROL-MEMDBCONTROL-MServerDBCTM2CONTROL-MEMDBMIRROR主机备机AgentDesktopEnterpriseManagerGUIConfigurationManager青岛银行采用Control-M提供的DB-MIRROR进行灾备管理。DB-MIRROR:通过Control-M的自身的数据库实时同步对作业调度信息进行实时备份。1.2Control-M/EMClientcomponents(EM客户端组件)(3个GUI):ConfigurationManager用于管理EMServer的相关组件以及Control-M/Server和Control-M/Agent。Desktop定制作业,也可以视为编辑作业。EnterpriseManager监控运行环境,必要时也可以介入(比如【hold】、【rerun】)。其实就是连接到EM上,看到的是Control-MServer上的Job(只有order或upload后的job才能传到Control-MServer上,不然也就保存在EMServer上)Servercomponents(EMServer组件):Gateway处理EMServer与Control-MServer的通信。因为1个EM要对应多个Control-MServer,所以通过Gateway来处理EM具体和哪个Control-MServer通信。Gateway只负责管理谁和谁通信,具体的通信是由CMS来处理。ConfigurationManagementServer(CMS)与Control-MServer的ConfigurationAgent通信,通过它来处理管理员发布的请求。GlobalAlertsServer(GAS)管理报警信息给所有的EMGUI。GlobalConditionsServer(GCS)发布全局条件给不同的Control-M/Server。BatchImpactManager(BIM)进行关键作业进行提前告警。ForecastServer帮助查看未来某一天所需执行的作业。NamingService用于提供EMServer对外的服务接口。ConfigurationAgent用于与Control-M/Server进行通信,下发作业调度指令。1.3Control-M/Server和Control-M/AgentControl-M/ServerControl-M/Server通过Gateway与Control-M/EM进行通信,通过ConfigurationManagerServer与EM进行指令交互。Control-M/Server拥有独立的数据库,通过server-to-agent与agent-to-server端口与执行作业的Control-M/Agent进行通信。Control-M/Agent如之前所说,Control-M/Agent用于执行作业与收集作业执行情况,并可以在Control-M/Agent上安装如AFT,Databases等功能模块(CM)。RemoteHostRemoteHost为Control-M/Agent的一种远程发送指令形式。即通过某一个Control-M/Agent向另一台未安装Control-M/Agent的应用服务器去下发作业。由于受网络以及用户的限制以及RemoteHost无法加载功能模块,所以使用起来相对没有Control-M/Agent便捷。注:如果所需调度的作业为IBM的大机,则需要在大机上单独安装大机版Control-M/Server进行作业调度1.4关键词1.4.1Database,Definitionfile,ActiveJobsfile(AJF)Control-M/EM和Control-M/Server都含有一个数据库,主要包含两部分信息:Definitionfile和ActiveJobsfile(AJF),其中Control-M/EM中:Definitionfile包含所有被定义的作业信息。AJF中包含所有正在调度的作业信息(包括执行情况),Control-M/Server会实时将AJF中的作业调度信息同步给Control-M/EM的AJF,供客户端能实时查看。Control-M/Server中:Definitionfile包含所有提交等待调度的作业信息。AJF中包含所有正在调度的作业信息(包括执行情况),即EM客户端组件EnterpriseManager所查看到的信息总结,Control-M/Server中Definitionfile可以认为是所有需要被处理的作业的仓库,AJF就是从这个仓库中取出的马上要处理的作业。1.4.2Schedule,order,forceSchedule为作业的调度日期。可理解为作业允许被调度的日期,可在作业配置的Scheduling页进行配置,如下如:Job被调度,即Job被放置在Control-M/Server的AJF中,分为自动和手动2种方式:自动调度,每天CONTROL-M会通过NEWDAY形式自动扫描符合调度日期(Schedule)的作业,将作业自动调度。手动调度,主要是通过【order】和【force】操作。【order】方式必须符合调度日期(Schedule)【force】方式就不管作业的调度日期(Schedule)是否符合注:作业调度与作业运行是两个概念。作业被调度,并需要满足前置条件与执行时间的情况下才会运行。1.4.3Write,upload,loadanddownloadWrite/Load:Write为将作业从本地客户端保存至Control-M/EM的DefinitionFile中。可理解为仅仅将作业进行保存。Load则相反,从Control-M/EM的DefinitionFile中将作业读取到本地。Upload/Download:upload为将作业从Control-M/EM的DefinitionFile上传到Control-M/Server的DefinitionFile中。只有将作业上传,Control-M才能通过order或NewDay方式写入到Control-M/Server的AJF中进行调度。DownLoad则相反。注意:我们在新建一个job后,如果想直接upload操作,系统会返回错误。必须先write到EMServer上,然后在upload操作。1.4.4NewDayprocedure,UserDailyjobs每个Control-M/Server上会在每天的某一时刻运行一个处理过程,这个时刻就被称为NewDay。主要的工作是,删除前一天的所有job,然后增加新的job到AJF中。具体操作实现可查看2.2.7。说明:在银行系统中,工作日和实际日是不一定一致的.例如,如果每天晚上的批处理要在第二天的凌晨4点才能做完,那么就可以指定银行系统工作日的变更时间为凌晨四点,而不是自然日的凌晨0点.AJF的NewDay运行时间就是这样一个切换时间,即工作日切换时间.工作日和实际日期的不同,是为了满足业务系统核算的要求.2操作2.1启停各组件2.1.1Control-M/EM1.使用emuser用户执行root_menu命令,并输入用户名密码进行登录。2.选择1-ActivationMenu,其中2-StartAll为启动7-StopAll为停止3.可通过选项1–CheckAll进行状态验证与查看。2.1.2Control-M/Server1.使用emuser用户执行ctm_menu命令。2.选择1-CONTROL-MManager,其中2-StartAll为启动5-StopAll为停止。3.可通过选项1–CheckAll进行状态验证与查看。2.1.3Control-M/Agent1.使用root用户,在/home/ctmAgent/ctm/scripts目录下2.执行./start-ag为启动Control-M/Agent,执行./shut-ag为停止Control-M/Agent3.可执行ps–ef|grepp_ctm命令对Control-M/Agent进程进行查看验证,启动情况下有以下两进程root146146681017:42:26pts/10:00./ctmAgent/ctm/exe/p_ctmatroot355860861017:42:25pts/10:00./ctmAgent/ctm/exe/p_ctmag2.2作业管理(Desktop)2.2.1Login(登录)登录前准备:在C:\Windows\System32\drivers\etc\hosts中配置所连接的Control-M服务器的IP与主机名映射1.打开Control-MDesktop7.0.00,在Advanced中的填写主机名与端口号(默认13075),点击apply,输入用户密码进行登录。2.2.2Load(将作业从Control-M/EM展示到客户端)1.点击File=LoadjobformCONTROL-M/EM2.选择所需修改或查看的作业表,点击Load2.2.3Write(客户端界面上的作业保存到Control-M/EM)1.点击菜单栏File=WritetoCONTROL-M/EM2.选择所要保存的作业表,点击write(右下角)2.2.4Upload与Download(向CTM/Server提交与下载作业)Upload为:将作业从Control-M/EM的Definitionfile上传到Control-M/Server的Definitionfile,DownLoad则相反点击菜单栏tools=TableManager,选中一张作业表,在菜单栏上可进行upload与download操作。另外upload也可在作业界面上通过右键作业表进行操作2.2.5Order(将作业进行手动调度)1.对单个作业进行order,可选中单个作业,右键点击or