Controlm Tute
Controlm Tute
It is designed for automation of various functions in the enterprise including traditional IBM
mainframe OS/MVS (z/OS today) JCL, batch files and shell scripts, as well as routine
functions such as invoking database stored procedures, invoking and using Web services and
handling file transfers inside and outside the organization.
Control-M can schedule workloads on a daily, weekly or monthly interval. It can also be used
to respond to trigger events such as the appearance of a file, being called by a third party
application through an API, or invocation on demand through Java or Web services.
Control-M can be integrated with applications such as SAP and Oracle's PeopleSoft, to act as
a scheduling organizer in these computing platforms.
With the addition of BMC Batch Discovery in 2007, it integrates with the configuration
management database ("CMDB") of BMC Remedy Action Request System. This is intended
to help identify the relationships between batch processes and other business and information
technology ("IT") infrastructure component
Control M Components-->
CONTROL-M/Agents and remote hosts are identified by their node IDs. Jobs are assigned to
specific node IDs.
It is important to understand what each of these components does and its place in
the Control-M architecture.
GUI’s:--->
Gateways: These are used for communication between Control-M/EM and Control-
M Server. If these gateways are down then Control-M/EM GUI won’t get any status
updates from the Control-M Server.
Global Alert Server (GAS): GAS will contain all the alerts sent from jobs which are
active in Control-M. You can connect to GAS using ‘Alert window’ and can view all
the alerts. Usually operations will monitor these alerts and take appropriate actions.
Global Condition Server (GCS): GCS will keep track of all Prerequisite and Global
conditions added by jobs which are in AJF. Once a condition added to GCS, control-
M will satisfies the condition for all the waiting jobs.
The Control-M/Data Center is the true core of the Control-M system. The Data
Center is comprised of a Control-M/Server, Database and Control M/Agents.
The Control-M/Server
The Database
The database serves as a backend data repository for Control-M (Sybase, PGSQL,
Oracle or MS SQL server can be used). The CTM/SERVER has its own data-space
within an Oracle instance. This data-space contains the Master versions of all of the
job-related data: job-definitions, scheduling tables, resources, calendars active jobs
tables and shout tables, to name a few. It also houses runtime specific data for the
CTM/SERVER such as process flags, user access profiles and agent status.
The Control-M/Agent---->
CONTROL-M/Agents and remote hosts are identified by their node IDs. Jobs are
assigned to specific node IDs. You can balance processing loads by grouping a
number of CONTROL-M/Agents together into a node group, and then assigning jobs
to the node group, instead of to a specific CONTROL-M/Agent. The job will be
processed on any agent in the group, according to the processing load at that
particular moment.
It is used to pass conditions created on one system to any other systems so they may trigger jobs on
platforms other than their own.
It also managed all alerts generated by job processes from all CONTROL-M/Servers
The CONTROL-M/Desktop software product is used as a focal point to define jobs online or off-line
on all the CONTROL-Ms that run on all distributed systems and on z/OS
· CONTROL-M/Servers
The CONTROL-M/Server software product is used to submit (schedule) jobs, scripts or commands
based on events such as time or conditions.
The server also passes on the statuses of the jobs to the CM/EM from the CONTROL-M agents that
run the jobs.
· CONTROL-M/Agents
The agent software actually executes the task submitted by the CONTROL-M/Server under which the
agent is controlled by.
It also notifies the Server as to the status of the job; Waiting/Ready to run, Running, Ended-OK or
Not-OK
i) Enhanced Services
Automated Job Scheduling.
Various criteria can be specified to determine when a job should be scheduled. Jobs
can be scheduled
by calendar and clock (days, dates, time of day, etc.), job priority, predecessor job
completion,
availability of input, and dependencies upon other events. These user-defined
specifications are
recorded in Job Processing definitions. Jobs can also be scheduled according to special
calendars,
which are created using the Calendar facility. Calendars can define workdays,
weekends, holidays, etc.
for each data center. Once a job is scheduled, it is not submitted for execution until its
runtime
requirements (e.g., availability of a tape drive) are satisfied.
Load Balancing.
When the Agent Technology implementation is used, CONTROL-M is capable of monitoring
resource availability on Agent platforms distributed across the network. Using a load-balancing
algorithm, CONTROL-M determines which Agent platform has sufficient available resources
to handle execution of a job at any given moment and submits the job to that platform.
In this manner, CONTROL-M assures efficient utilization of available resources and helps achieve
maximum production throughput.
CONTROL-M dynamically resolves contention for all data center resources while taking into account
a job’s requirement for exclusive or shared control of each Resource. Contention problems are resolved
prior to submitting jobs. CONTROL-M also allows logical definition of resources which are otherwise not
usually controlled (e.g., CPU utilization). By logically defining how much of a resource is available and
how much of that resource is required by each job, utilization of the resource can be controlled.
Shout Messages.
A Shout message is a message sent to one or more destinations when certain conditions exist
at the time a job is executed or completes execution. The targeted destinations may include the
CM/EM Alerts window, the CONTROL-M log (described below), the system console, certain terminals
, users or users’ mail. Potential recipients of Shout messages are defined in a table
called the “Shout Destination table” in the CONTROL-M data center. By switching the table
(either manually or automatically), the user can alter the recipients of messages targeted for
specific logical addresses.
Utilities
Utilities provided with CONTROL-M are used to perform a variety of management functions.
Some utilities also generate reports, which assist in the efficient use of CONTROL-M
(e.g., CTMRPLN that indicates when selected jobs in a Scheduling table are scheduled to run).
Report facilities
Job Report:
Lists jobs and their attributes.
Link Report:
Lists job dependencies and their attributes.
Prerequisite Conditions Report
Lists prerequisite conditions and their attributes.
Control Resources Report
Lists Control resources and their attributes.
Quantitative Resources Report
Lists Quantitative resources and their attributes.
Detect Logical Errors Report
Performs validity checks on the current network and lists errors, which have,
been detected.
Manual Report
Lists any IN condition which is not defined as an OUT condition of another
job.
Alerts Report
Lists alerts generated by CM/EM
Download History
Provides a history of downloads with related data.
Graphical Job Report
Lists jobs and their attributes, and includes graphics. This report only refers
to jobs displayed in
the current CM/EM GUI View window.
Poster
Presents the job schedule in graphic poster form. This report only refers to
jobs displayed in
the current CM/EM GUI View window.
Printing facilities
Based on a report created as indicated above, said report can be send to:
When a job ends NOT-OK, either due to script failure or based on the ON STATEMENT
parameters, the CONTROL-M/Server responsible for the agent that executed the script,
sends or "SHOUTS" an alert message to the CM/EM
The JOBNAME (as defined in the job definition using Sears Canada Inc. standard jobname convention)
The NodeID (the platform's I.P. address where the script was executed)
The COMPSTAT (The completion status of the script as code by the programmer)
This information once received by the CM/EM application is routed to the mainframe system
HOST166 where CONTROL-O, the mainframe automation application, creates a PMS record that is
passed to the TOROPS INFO-PMS queue (PS) for handling
B) CONTROL-M Server
CONTROL-M includes an option for accumulating and collating runtime statistics for each defined job.
These statistics are used for the following purposes:
i. Runtime statistics
CONTROL-M includes an option for accumulating and collating runtime statistics for each defined job.
These statistics are used for the following purposes:
· The Job Processing parameter Shout can be specified to issue a message if the execution time
required by a job varies from its average runtime by more than a stated interval. This can help highlight
possible errors. (The Shout parameter is described in Chapter 5, working with the Job editing form, in
the CONROL-M/Desktop User guide.)
· When a simulation is run using the CM/EM Simulation facility, job statistics are used by the
facility to determine how much time to allow for the execution of each job.
· When viewing information regarding a scheduled job (i.e., a job in the Active Jobs file) in CM/EM
GUI, you are provided with the average runtime and the standard deviation in the Job Details window.
In addition, you can view the job statistics recorded in the Statistical Details table by selecting the
Statistics option from the job node menu.
All Shout messages are recorded in the CONTROL-M log. You would select the log as a destination
only when you do not wish to send the message to any additional destination.
· The Job Processing parameter Shout can be specified to issue a message if the execution time
required by a job varies
2) CONTROL-M/AGENT
Once all its prerequisite conditions, resource requirements and all other scheduling
constraints are satisfied, CONTROL-M/Server instructs CONTROL-M/Agent to submit the job.
Upon receiving a request for submission, CONTROL-M/Agent submits the job for execution locally
according to the job definition.
CONTROL-M/Agent monitors the job and reports any exceptional situation to CONTROL-M/Server.
Post-Processing parameters specify what actions should be performed by the CONTROL-M Monitor
at completion of job execution.
In addition, CONTROL-M/Agent may perform the following functions as instructed by "Job processing"
parameters supplied with the job submission request:
Each Agent platform requires a “listener” process to accept requests from CONTROL-M/Server.
UNIX platforms can provide this service using operating system services. On other types of platforms,
CONTROL-M/Agent, started at boot-time, includes this listener process.
Each Agent platform is known to CONTROL-M/Server by its node ID. This is generally the
Agent platform’s host name. The Job Processing definition for each job should include the node ID of the
If processing on the Agent platform was not interrupted, any job which had been submitted to a
platform prior to the interruption continues executing.
i) Sysout handling
Specifies how the job’s log should be maintained/ handled after the job completes with a
completion status of OK. Sysout handling is specified using the parameters Option and Parm.
Option Specifies whether the job’s Sysout should be copied/moved to another location, printed or
deleted.
Parm Provides supplementary information for the action specified by the Option parameter.
CONTROL-M/CM for FTP implements File Transfer Protocol (FTP) as defined in RFC 959.
It serves as an interface between the CONTROL-M environment and FTP servers. CONTROL-M/CM
for FTP enables you to define, schedule and monitor file transfer jobs.
The CONTROL-M/CM for PeopleSoft is a Java-based server that serves CONTROL-M/Agent requests.
It uses TCP/IP to communicate with CONTROL-M/Agent on one side and with a PeopleSoft Component
Interface on the other. Configuration parameters control the number of concurrent connections to
PeopleSoft. CONTROL-M/CM for PeopleSoft is automatically activated by the first request that arrives
from CONTROL-M/Agent. It remains active to serve CONTROL-M/Agent requests. You can
use a utility to shut down CONTROL-M/CM for PeopleSoft.
Control-M 7 Basics
This is currently a Work In Progress. Ignore any spelling
errors or anything else really. Consider it a draft.
Thanks.
The goal of this guide is to provide a jump in point for
Control-M. It is going to cover only the basic
understanding of Control-M to allow someone with very
little scheduling knowledge to jump into creating and
uploading test jobs and learn on the fly.
Disclaimer: When in doubt read the manual. BMC provides
very easy to read manuals (compared to other applications)
they are full of details and tidbits you just wont find
anywhere else. I would have to say Control-M is very user
intuitive and you can use the manuals as a great reference
for any issues that arise.
What is covered?
How Control-M works
Parts of Control-M
How to create a job
How to upload a table
How Control-M works:
Parts of Control-M.
By parts I am referring to the interfaces you will use, GUI's
or applications. Average users will use only two of these,
Desktop and Enterprise Manager. There are however other
interfaces like Configuration manager, Reporting facility
and BIM. For the purpose of this we will cover Desktop
and Enterprise Manager (EM).
Desktop
Desktop is used to create Tables and jobs. You will do all
of you actual manipulation of the jobs in Desktop. If you
were building a chair it would be the workshop you would
cut and assemble the pieces.
Enterprise Manager (EM)
EM is where you follow your job and manipulate it daily. It
is where if a job was scheduled to run and you wanted to
hold it you would do so. If you wanted to see why the job
hasn't run yet, Delete the job, rerun it etcetera you would do
this all in EM. With our chair example this is the house you
would sit in it at.
How to create a job.
Now lets get to the best part creating the job. There are
several Job types, we are going to cover the following
types; Job Type OS : Command, Job & Dummy. We will
assume that most jobs are on a Linux platform but will also
include a windows job as an example.