This section summarizes the architecture of the ManageCat and how to easily download and install the platform.

This part of the document contains the following sections.

  • Architecture of the ManageCat platform,

  • Download and install Controller,

  • Download and install Server Agents.

ManageCat Architecture

This part summarizes the components of ManageCat platform and how they work together to monitor and manage your Apache Tomcat servers. ManageCat consists of several components, these components are fully explained in below.

Agent Component

Very lightweight agent web application which must be deployed into the monitored Tomcat servers. After deploying the agent into the Tomcat server, agent will start to send all information about the server to the ManageCat Controller component. There is a two way communication between the controller and the agent. When agent is starting up, it tries to register itself with the controller. ManageCat agents support several configuration parameters. You can configure them using Java System Properties.Not all the configuration parameters are required to start the agent.

Agent must be deployed for each monitored server.

Logical Model of Agents:

Each Tomcat server must be located in Server Groups and must be provided a Server Name. Server groups allows you to parition your Tomcat servers, such as Test Environments, Production Environments or Pre Production Servers.You can give any friendly name for server groups. Server names uniquley define your servers in server groups.

In the Controller UI, you will see servers under server groups.

Agent supports lot of configuration parameters. These parameters and their descriptions are shown in the below table. Not all of the below configuration parameters are required to install agents.

Table 4.1. Agent Configuration Parameters
Name Description
com.managecat.controller.url URL of the ManageCat controller. It is required. Default is http://localhost:8080/managecat-controller/
com.managecat.collector.url URL of the ManageCat collector. It is required. Default is http://localhost:8080/managecat-collector/
com.managecat.console.agent.servername Name of the server. There must be unique server name. It is required.
com.managecat.console.agent.hostname Host or ip address of the Tomcat server. It is required.
com.managecat.console.agent.port Tomcat used HTTP Connector (BIO, NIO etc.) port. It is required.
com.managecat.console.agent.groupname Each server is categorized under server groups. If not set, default default-group is used.
com.managecat.console.agent.description Description of the server.
com.managecat.console.agent.restartcommand Restart command of the ManageCat Startup Agent. Default is RESTART.
com.managecat.console.agent.restartport Restart port of the ManageCat Startup Agent. Default is 9999.
com.managecat.console.agent.shutdowncommand Shutdown command of the ManageCat Startup Agent. Default is SHUTDOWN.
com.managecat.console.agent.shutdownport Shutdown port of the ManageCat Startup Agent. Default is 9999. HTTP or HTTPS connection between controller and agent. Default is false.
com.managecat.console.agent.contextname Agent web application context name. Default is managecat-console.
com.managecat.console.agent.register.sleepinterval If agent is not able to register itself with the controller, it waits as sleep interval. Default is 60000 miliseconds.
com.managecat.console.agent.register.maxtry If agent is not able to register itself with the controller, it waits as sleep interval and then retry to connect. This parameter specifies how many times to try before giveup. Default is 5.
com.managecat.console.agent.appdynamics.enabled AppDynamics APM is supported. Default is false.
com.managecat.console.agent.override.servername If AppDynamics APM is supported, and this parameter specifies whether or not use the AppDynamics Node name as a server name.
appdynamics.agent.applicationName If AppDynamics APM is supported, this parameter specifies AppDynamics application name in which this server is belong.
appdynamics.agent.nodeName If AppDynamics APM is supported, this parameter specifies AppDynamics node name of this server.
appdynamics.controller.username If AppDynamics APM is supported, this parameter specifies AppDynamics REST API user name (for exmaple: root@customer1).
appdynamics.controller.username If AppDynamics APM is supported, this parameter specifies AppDynamics REST API password.
appdynamics.controller.url If AppDynamics APM is supported, this parameter specifies AppDynamics controller URL (default is http://localhost:8090/controller)

Only three parameters are required to install and run the agent. These parameters are:

  • com.managecat.console.agent.servername: Server name of the agent.

  • com.managecat.console.agent.hostname: Host name of the agent.

  • com.managecat.console.agent.port: Port of the agent.


Your firewall must allow network traffic between Controller and Agent. Default controller port is 8080. Default agent port depends on your Tomcat HTTP connector port number (For example, if you use HTTP BIO Connector in Tomcat, default port for this connector is 8080).

If you don't configure the Server Group of the agent, it automatically located in Default Group.

After agent registers itself with the controller, it periodically sends status information to the controller. Default interval value is 60000 miliseconds and it is specified by SEND_STATUS_INFO_DELAY configuration parameter.

In default configuration, ManageCat overrides default System.out and System.err streams with their own objects. If you disable this feature, it is impossible to see System.out and System.err files content from Controller UI. You can disable it with configuration parameter SYSTEM_LOG_OVERRIDE_DEFAULT_STREAMS.

Controller and Collector Component

ManageCat Controller
is the main hub for the agents. Controller is a central data repository and recevies data from connected agents, persists them to a persistence store. Controller instance also hosts the UI application which enables administrators to manage and monitor their connected servers. Controller instance is designed and implemented to manage thousands of agents from a single instance. Currently ManagedCat supports On-Premise and Private Cloud controller platforms. In a near future, we will also support SaaS based controller platform. ManageCat uses MySQL instance to persist data.

Controller includes the collector component which is designed to be a collect the metrics from agents.

There are lots of configuration parameters you can set for controller instance. All of these parameter and their default values are explained in Settings section.

Overall Architecture picture is provided at below picture

The Controller uses an embedded Apache Tomcat application server and an embedded MySQL database. It has a browser-based Controller UI for configuring the overall system and managing the Tomcat servers.


There is a single Controller UI browser based web interface to manage the platform. This interface actually contains two different parts, Admnistrator UI and Console UI. Administrator UI is used for managing the system internals. Console UI is used for managing and monitoring the Tomcat servers.

Supported Operating Systems:

The controller supports every operating system in which the Apache Tomcat is supported. Moreover, JVM (version is greater than 5) must be installed before installing the platform.

Supported Browsers

The controller supports the popular web browsers like Firefox, Internet Explorer, Google Chrome, Safari and Opera. Please use the latest version of these internet browsers.    

Size of the Controller Environment

Before installing the controller, you must ensure that your controller environment supports the system requirements and performance profiles. Please see Performance Profiles solution.