Control-M/EM services are a set of micro services that are independent and can perform individual tasks without making requests from larger components. This enables your environment to use fewer resources and run more efficiently.
The following Control-M/EM services can be managed in the CCM or in services-cli:
Services Configuration Agent: Functions as a watchdog process for all services, which is monitored by the Control-M/EM Configuration Agent. This service enables you to monitor and send commands for all services such as shutting down, starting up, ignoring services, viewing the status, and setting the log level, by running the emsca utility.
Apache Kafka: Open source for publish/subscribe data stream between different applications.
Apache Zookeeper: Centralized service for distributed systems, which Apache Kafka uses to coordinator between Apache Kafka instances.
Services Health Monitor: Produces health reports for all service statuses from life checks sent through Apache Kafka, and can be viewed in the CCM or by services-cli.
Protocol Translator: Enables legacy applications to connect with subsystems. For example, if you use the CMS Server for health information, you can send commands to Apache Kafka, so it can monitor services through Thrift.
Validation Service: Provides job validation services to Control-M/EM definition utilities.
Control-M Web: Enables the Control-M Web application to function.
Scheduling Service: Calculates the dates that match the scheduling criteria of a job or Smart folder. The View Schedule option sends a request to the Scheduling Service to receive the dates that match the scheduling criteria for the selected jobs or folders.
Elastic Search: A scalable search engine to search, analyze & visualize all kinds of documents & datasets.
Kibana: Kibana is an free and open frontend application that sits on top of the Elastic Stack, providing search and data visualization capabilities for data indexed in Elasticsearch.
Workflow Insights Service: Enables you to run the Workflow Insights add-on in the Control-M environment, as described in Workflow Insights.
The Services Configuration Agent is a watchdog process for all services, which is monitored by the Control-M/EM Configuration Agent and responsible for starting all the services. When the Services Configuration Agent detects that if a service process is down but set to Up, the SCA starts it up and vice versa.
All services send life checks through Kafka. The Service Health Monitor monitors the life checks and produces a report with information of all services statuses. This information is sent to the Protocol Translator which translates it to a thrift message in the CMS. If the Service Health Monitor is not running, a message appears in the Control-M client, and services cannot be displayed.
The Protocol Translator has a REST API that is used by the services-cli utility to pass commands via Kafka to the services. Services can implement commands such as log level changes, show stack, and additional custom commands. The Protocol Translator also passes commands from the CMS through Thrift to Kafka and passes validation requests from the GUI Server through Kafka to the Validation service.
NOTE:The system is optimized to a maximum of 10,000 jobs simultaneously in a single folder when using the emdef utility. If you need more, you might require adjusting memory parameters manually.
The following diagram shows the services architecture.