Wednesday 9 March 2011

ControlM Server Processes

ControlM Architecture is built on 10 processes.
SU,SL,NS,TR,LG,CO,CD,CS,RT and WD
I am going to take up each process one by one and then explain the functionality for it.In UNIX we have processes and in windows these things are covered under services.Each process can have only one of the three defined states namely Running,Suspended or Terminated.
All these 10 process should be running and up for our controlM server to work fine else our server goes down.Before I start it better to mention that the parameters related to these process are stored in PREFLAGS directory i.e. whether the state of process is up or down.The directory is located under home directory(%homedir) of controlm user in version 6.2 and in version 6.4 uder %homedir/ctm-agent for agent and %homedir/ctm-server for server.There is also a directory called PID which contains the id of the processes.The logs are created in the directory called as PROCLOG.However,if we restart our controlM server the logs move from here to PROCLOG.SAVE.
Now lets take up each process one by one.

1)SU-The Supervisor Process  ProcessName: p_ctmsu
*Performs heartbeat monitoring for all other process.
*First process to start,very light.
*Responsible for changing any process to needed status and if any process is down tries to make it up till MAX-RETRY times.
*If process doesn't respond even after MAX-RETRY times then SU shuts down all other processes and suspends itself as well and server goes down.

2)SL-The Selector Process ProcessName: p_ctmsl
*Determines which jobs will be submitted for execution to OS.
*Maintains information about ControlM Server active environment
*Checks whether proper condition for the job to run and resources required by the job exist or not.
*Performs partial job processing action.
*Responsible for updating the AJF(Active Job File) after each job,so whenever we see a color change in our monitoring tool it's due to this process.

3)NS-The Network Server Process Name: p_ctmns
*Manage the communication to all ControlM agents.
*Listen Agent to Server Port-default:7005
*When a message arrives from the agent,NS send a trigger to a process that will handle the request.
*Maintain list of agent and check the status of agent.
*Updates agents status files and notifies TR,SL,CD and CS process by trigger.

4)TR-The Tracker Process Name: p_ctmtr
*Updates status of jobs(Ended,Executing,Analyzed)
*Performs late execution shouts
*Performs periodical 'Track All' operation to update job in case controlM server was down,a Trigger to NS was lost or a message from controlM /Agent was lost.

5)CO-Communication Gateway Process Name: p_ctmco
*Serialize request that comes from Control-M/EM or from the CD
*Handles request like DB-UPDATE,SYNC,Download
*It analyzes request and then send them to appropriate destination
*CO refreshes gateway when NDP(New Day Procedure) happens.

6)LG-The Logger Process Name:p_ctmlg
*Performs all the logging related tasks

7)CS-The Communication Service Process Name: p_ctmcs
*No entry for CS in the PREFLAGS directory because its a temporary process.
*User limit can be set(min/max)
*All request to CO pass through CS.

8)RT-The Communication Router Process Name: p_ctmrt
*Used for internal routing

9)WD-The WatchDog Process Name: p_ctmwd
*Monitors essential controlM process and resources and sends an appropriate alert when there is a problem.
*Can be enabled via configuration parameter in config.dat file
*Works at diiferent level than SU to prepare log at different levels.

10)CD-The Data download Process Name: p_ctmcd
*Responsible for exchanging dat with RT.

So this a detailed view of the architecture of the controlM server at the architecture level regarding to the process.All these process should be up and running for the server to run fine.

No comments:

Post a Comment