Control M大全集- 吃货吃数据 - 博客园

文章推薦指數: 80 %
投票人數:10人

Gateway只负责管理谁和谁通信,具体的通信是由CMS来处理。

Configuration Management Server(CMS) 与Control-M Server的Configuration Agent通信, ... 首页 新闻 博问 专区 闪存 班级 我的博客 我的园子 账号设置 简洁模式... 退出登录 注册 登录 吃货吃数据 ControlM大全集 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-M提供的DB-MIRROR进行灾备管理。

DB-MIRROR:通过Control-M的自身的数据库实时同步对作业调度信息进行实时备份。

1.2Control-M/EM Clientcomponents(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/Agent Control-M/Server Control-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)。

RemoteHost RemoteHost为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,force Schedule为作业的调度日期。

可理解为作业允许被调度的日期,可在作业配置的Scheduling页进行配置,如下如: Job被调度,即Job被放置在Control-M/Server的AJF中,分为自动和手动2种方式: 自动调度,每天CONTROL-M会通过NEWDAY形式自动扫描符合调度日期(Schedule)的作业,将作业自动调度。

手动调度,主要是通过【order】和【force】操作。

【order】方式必须符合调度日期(Schedule) 【force】方式就不管作业的调度日期(Schedule)是否符合 注:作业调度与作业运行是两个概念。

作业被调度,并需要满足前置条件与执行时间的情况下才会运行。

1.4.3Write,upload,loadanddownload Write/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/EM 1.使用emuser用户执行root_menu命令,并输入用户名密码进行登录。

2.选择1-ActivationMenu,其中2-StartAll为启动7-StopAll为停止 3.可通过选项1–CheckAll进行状态验证与查看。

2.1.2Control-M/Server 1.使用emuser用户执行ctm_menu命令。

2.选择1-CONTROL-MManager,其中2-StartAll为启动5-StopAll为停止。

3.可通过选项1–CheckAll进行状态验证与查看。

2.1.3Control-M/Agent 1.使用root用户,在/home/ctmAgent/ctm/scripts目录下 2.执行./start-ag为启动Control-M/Agent,执行./shut-ag为停止Control-M/Agent 3.可执行ps–ef|grepp_ctm命令对Control-M/Agent进程进行查看验证,启动情况下有以下两进程 root146146681017:42:26pts/10:00./ctmAgent/ctm/exe/p_ctmat root355860861017:42:25pts/10:00./ctmAgent/ctm/exe/p_ctmag 2.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/EM 2.选择所需修改或查看的作业表,点击Load 2.2.3Write(客户端界面上的作业保存到Control-M/EM) 1.点击菜单栏File=>WritetoCONTROL-M/EM 2.选择所要保存的作业表,点击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,可选中单个作业,右键点击orderJob UploadTablebeforeordering:调度作业前先进行upload操作 Force:忽略调度日期,强制执行作业 Order/ForcewithHold:强制调度作业并且将作业初始为hold状态 2.Order一个作业表 点击菜单栏tools=>TableManager,选中一张作业表,在菜单栏上点击order 2.2.6DELETE(删除作业) 点击菜单栏tools=>TableManager,选中一张作业表,在菜单栏上点击delete Delete(Remote+Local):同时删除Control-M/EM与Control/Server中的该作业表 ForceDelete(Remote+Local):强制删除 LocalDelete:只删除Control-M/EM中的该作业表,如果该已设置成每日调度作业表,则调度仍然会正常执行 RemoteDelete:删除Control-M/Server中的该作业表,在Control-M/EM中仍会保存。

2.2.7设置作业表为每日NEWDAY自动加载 1.点击菜单栏tools=>TableManager,选中一张作业表,在菜单栏上点击TableDetails 2.在UserDaily栏中设置SYSTEM(大写)并保存 3.保存后一定要将该作业表进行upload操作,将UserDaily信息上传到Control-M/Server 4.通过终端,以ctmuser登录CTM服务器。

执行ctmpsm71scheduletable检验已成功设置。

确认作业表的DailyName为“SYSTEM”,如下图所示。

2.2.8Save,Open(将作业保存为本地文件与读取作业文件) 1.点击File=>Save将当前界面上的作业保存为本地文件,Open则为打开本地作业文件。

2.2.9FindJobs(查询作业) 1.点击菜单栏Edit=>FindJobs,可对当前界面上的作业进行搜索。

2.填写过滤条件,可使用通配符,点击FindNext进行搜索。

2.2.10FindandUpdate(作业批量修改) 1.点击菜单栏Edit=>FindandUpdate,可对当前界面上的作业进行搜索。

2.上边Find为搜索所要修改的作业条件设置,点击右边Find可查出所有作业列表。

3.中间Update为填写需要批量修改的内容,点击右侧update进行修改。

4.下图修改内容为:修改当前界面上所有作业的MaxWait参数为1. 2.2.11JobTemplate(作业模板) 1.点击菜单栏Tools=>TemplateManager,可对当前界面上的作业进行搜索 2.点击AddJobTemplate进行模板设置 3.在作业定义时可以选择模板,也可将目前作业设置成模板。

2.2.12Authorization(用户权限设置) 1.点击菜单栏Tools=>Authorizations,进行用户权限设置 2.权限分为用户与组,如果改用户属于该组,那该组的所有权限该用户都将默认拥有 3.权限配置: General:用户基本信息及密码设置 MemberOf:用户所属组 Active:用户在监控视图中Control-MEnterpriseManager7.0.00(Default)所能查 看的作业与执行的权限 Privileges:用户对各组件的操作权限 Tables:用户对作业表的操作权限 PrerequstiteConditions:用户对Condition条件的操作权限 Owmer:允许调度的作业定义用户 ControlResources:用户对控制资源设置的权限 QuantitaveResources:用户对定量资源设置的权限 GblbalCondition:用户对全局变量设置的权限 Calenders:用户对日历表的设置权限 2.2.13LoadForecast(查看未来某一天将调度的作业) 1.点击菜单栏File=>LoadForecast,可对当前界面上的作业进行搜索。

2.选择调度日期,点击Load进行打开。

3.展示结果。

2.3普通类型作业定制 2.3.1General Control-M:作业所属的Control-M/Server名 JobType:作业类型,例如:OS(普通作业),AFT(文件传输),FileWatch(文件监测)Databases(数据库存储过程) JobName:作业名(系统名_操作简称) TaskType:Job-后台运行的脚本等等。

Detached-运行可执行的文件。

Command-执行操作系统命令。

Dummy-不负责job和系统命令的执行,而是指示control-M执行后续动作,如增加输出条件等。

FileName:文件名(脚本程序名) FilePath:路径 Command:命令(也可用于全路径执行脚本) Description:作业描述(可使用中文) ParentTable,Application,Group:三层分类分组。

ParentTable就是该作业的Table名 Owner:脚本或命令执行用户 Author:作业的制定人(用于描述) 2.3.2Scheduling 作业允许调度日期,如允许每天调度,则选择所有的MonthDays与Months即可 2.3.3Execution NodeID/Group:填写该作业所需运行CTM/Agent的名字(该名字可在CCM中查看) Waitforconfirmation:作业运行时是否需要进行手动确认(测试时可进行勾选) Priorit:作业抢占系统资源优先级(0<9QuantitativeResources中设置资源名与数量 作业配置时可配置该作业使用该资源的份额。

2.ControlResources控制资源,类似文件、数据库,将其设置为共享或者独享形式。

控制资源则用于控制不同的作业对系统共享资源的使用.假设一个作业A在写一个文件时,另外两个需要从此文件中读数据的的作业B,C不能启动,于是你可以为此文件定义一个控制资源,作业A定义此资源为排它性资源(exclusive),作业B,C中定义此资源为共享资源,这样,当作业调度执行时,如果A在执行,则B,C不能被调度执行,同一时间只能有一个作业占有该资源。

2.3.6Set 1.设置变量,供作业定义或作业执行的脚本中使用。

常用:%%$CALCDATE%%DATE-1 代表作业运行时当前系统日期的前一天,格式为YYYYMMDD %%CALCDATE%%ODATE-1 代表作业运行时当前系统日期的前一天,格式为YYMMDD %%$ODATE 代表作业的调度日期,格式为YYYYMMDD %%ODATE 代表作业的调度日期,格式为YYMMDD 在作业定义时,如命令行中可用%%PARM形式使用。

在执行的脚本中也可通过$PARM进行读取。

2.3.7Steps 用于作业的异常逻辑处理 例如ONStatementStatement=*Code=COMPSTAT=1 DOOK 以上代表当作业返回码是1的情况下作业标识为成功 ONStatementStatement=*Code=NOTOK DOForce-JobTable=XXXXJobName=XXXDate=ODAT 以上代表作业执行出错的情况下强制执行Force-Job所配置的作业 DO操作中说明:OK作业执行成功 NOTOK作业执行失败 Rerun 作业重跑 StopCyclic 停止循环 Set-Var设置变量 Shout 告警 Force-Job强制执行作业 Sysout 屏幕输出 Condtiion 对Condition进行添加或删除 Mail 发送邮件 Remedy Remedy软件相关 2.3.8PostProc 作业处理结束后来发送告警(在alert告警台生成告警信息) 【PostProc】when中,例如 latesub9:00这个作业晚于9:00还未被agent执行,进行告警。

latetime9:00这个作业完成时间晚于9:00,进行告警。

executing>30执行时间超过30分钟,进行告警。

Urgency中选择告警级别。

在Message中可以设置自定义告警信息。

2.4特殊类型作业的配置 2.4.1AFT(文件传输类型作业) 帐号配置: 1.登陆Control-MConfigurationManager,点开Agentoncontrol(control某Control-M/Agent的名字),选择CM(FILE_TRANS)。

2.右键点击右侧CM(FILE-TRANS)行,列出对话框,选择AccountManagement,弹出AFT账户管理菜单: 3.添加账户:点击左上角“+”号(NewAccount),输入一个AccountName,选择一个EMUsers,点击“Add”将其加到右侧栏: 4.设置host1的信息。

通讯协议缺省为FTP,可修改为SFTP:(如为Agent本机则直接勾选LocalCM) 5.设置host2的信息: 6.点击“Next”: 7.点击“Next”,显示之前的配置信息: 8.点击“Test”,测试设置是否正确: 9.点击“Finish”,完成AFT账号设置。

作业配置: 10.创建一个新的作业,选择CONTROL-M,选择JobType为AFT。

点开Execution栏,填写NodeID:XXX(XXX为账号所在Control-M/Agent名字) 11.打开FILE_TRANS栏,点击“Load…”,选择账号,点击“OK”。

12.填写传输的指定路径和文件,Adcanced中可对传输的源文件与目标文件进行特殊处理设置(如传输完成后进行权限修改等)。

其他信息与普通作业一样,正常填写。

2.4.2FileWatch(文件监测作业) 监测单个文件 1.将作业JobType选择FileWatcher,注:owner一定要填写Control-M/Agent安装时所创建的用户(ctmAgent/ctmagent) 2.填写FileWatch栏: Path:所检测文件的绝对路径; 备注:每层路径必须是ctmagent用户有权限访问的; Mode:CREATE——检测文件生成;DELETE——检测文件删除(不常用) Mindetectedsize:文件有效检测的最小容量,单位字节。

通常可设置为0; Intervalbetweenfilesearches:检测文件生成的轮询时间,单位秒; Intervalbetweenfilesizecomparisoniterations:检测文件容量变化的轮训时间,单位秒; Numberofiterations:检测文件容量变化的轮询次数 Timelimitfortheprocess:作业执行时间,单位分; 或设置时间段,如下: Startingtimefordetectingfiles:作业开始时间; Absolutestoptime:作业结束时间; 监测多个文件 1.轮询多个文件需要使用底层utility来实现,配置作业为普通类型,执行命令ctmfw–input配置文件(全路径) 该配置文件需放置在所需轮询文件的应用服务器上 2.配置文件编写如下: INTERVAL:轮询间隔时间设置 MIN_SIZE:文件监测最小SIZE MIN_DETECT:轮询到文件后文件大小比较次数 WAIT_TIME:最长监测时间(分钟),超过该事件,如有文件未监测到则作业报错。

2.4.3DataBase存储过程 数据库存储过程帐号配置: 1.需要首先在需要调用存储过程的Control-M/Agent上安装存储过程插件。

然后选择帐号管理 2.选择数据库类型与版本: 3.填写相关数据库连接信息: 4.设置相关连接参数: 数据库存储过程作业配置: 5.创建一个新的作业,选择CONTROL-M,选择JobType为Databases。

点开Execution栏,填写NodeID:例如PAM_81_50(PAM_81_50为账号所在Control-M/Agent名字) 6.打开Databases栏,点击“Load…”,选择账号,点击“OK”。

7.填写或选择存储过程的SCHEMA与NAME: 8.其他作业参数正常配置 2.4.4AS400类型作业 1.选择JobType为OS/400Program或OS/400Full。

2.详细配置可请OS400工程师参与进行作业配置。

3.其他页配置与普通作业相同。

2.5监控管理(EnterpriseManager) 2.5.1查看当天作业(AJF) 1.菜单栏File==>OpenViewPoint==>选择AllActiveJob(当前正在调度的作业) 2.点击OK后如下显示: 2.5.2查看历史作业运行情况 菜单栏File==>OpenArchivedViewPoint==>选择AllActiveJob 2.选择所需查看的日期 3.作业展示 2.5.3统一监控控制台 工具栏点击alerts(红色感叹号)。

2.点击connect。

3.监控台中可以对报错作业的时间,作业名,以及自定义报错信息和作业的其他相关信息等(值班人员通过查看监控台即可进行作业监控)。

PS:信息列的排列顺序可通过拖拽进行调整。

4.右键单条报错信息,可点击FindJob直接查询到报错作业,可点击Handle对已处理的报错进行标识。

2.5.4作业操作 作业呈现不同颜色代表如下情况: 灰色 等待执行(运行时间未到或前置条件未生成,可通过右键=>why查看详细信息) 粉红色 需要人工确认才能执行的作业 黄色 正在执行 绿色 作业执行成功 红色作业执行出错 蓝色 等待资源或该作业所需CTM/Agent不可用 2.右键相关作业操作功能如下: properties 查看作业配置信息 hold 锁定当前作业(暂停) free 释放当前作业(与hold相反) confirm 作业确认,只有作业为等待确认(粉红色)才能点击 rerun 作业重跑,只有作业为出错(红色)时才能点击 delete/undelete 删除/恢复作业,将作业从当前作业调度视图中删除 kill 强行中止正在执行的作业,只有作业正在执行(黄色)时并且需要先hold才能中止进程 ForceOK 强制将作业设置成运行成功(作业不会执行) Bypass=>runnow 忽略任何时间与条件限制,立即执行该作业 Sysout… 查看当前作业的屏幕输出 Statistics 查看当前作业历史运行记录 ViewJCL/Scripts 查看当前作业脚本,只有配置为job类型的shell脚本作业才能查看 Why 查看当前作业未能运行的理由,只有未执行(灰色)作业才能点击 Neighbourhood 查询当前作业相邻近的作业 2.5.5Condition管理 1.工具栏点击Tools=>PrerequisiteCondition 2.Condition条件与日期相绑定,正常生产环境中同一Condition每天生成一次,不会相互冲突。

测试环境中如需要将一个批量流程重复跑多次,则需要每次将相应的Condition进行删除,否则作业将会不安Condition逻辑同时执行。

3.在Condition管理器中可以对Condition进行搜索,添加与删除动作。

2.5.6Resource管理 1.工具栏点击Tools=>QuantitativeResources 在资源管理器中可对资源进行定义,用于作业定义时的资源使用(控制并发) posted@ 2020-01-0413:16  吃货吃数据  阅读(7194)  评论(0)  编辑  收藏  举报 刷新评论刷新页面返回顶部 Copyright©2022吃货吃数据 Poweredby.NET6onKubernetes



請為這篇文章評分?