Control M大全集- 吃货吃数据 - 博客园
文章推薦指數: 80 %
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
延伸文章資訊
- 1Control M 任務排程之我見 - w3c學習教程
control-m在應用架構上分為三層,這三個層次分別是排程管理器(controlm/em),排程應用伺服器(control-m/server),排程執行**(controlm/agent)。
- 2control-m_百度百科
- 3Control M大全集- 吃货吃数据 - 博客园
Gateway只负责管理谁和谁通信,具体的通信是由CMS来处理。 Configuration Management Server(CMS) 与Control-M Server的Configura...
- 4BMC Control-M突破障礙實現輕鬆的行動IT自動化 - iThome
Control-M V8能夠降低我們做培訓的時間,並支援使用者完成他們的日常工作。」 作業調度自動化是每一個現代企業的「神經中樞」。它可在全球金融機構之間轉移 ...
- 5BMC 企業負載工作自動化解決方案 - 精誠資訊
BMC Control-M是企業級集中排程作業調度管理解決方案 ... 通過單一控制節點,集中地管理跨平臺、跨應用、跨地域的生產控制和調度過程,並憑藉其優異的高性能 ...