Application Monitoring and Control Overview

Application Monitoring and Control

The Application Monitoring and Control feature of Universal Controller allows you to use it as a network control and monitoring tool. You can use Application Monitoring and Control to start, stop, and query any application running on any machine where you have Universal Agent installed and running.

Application Monitoring and Control is comprised of three components:

  • Application resource records allow you to define the name and location of your applications, along with the specific commands to control (Start, Stop, and Query) the applications. The Applications list displays a status for the application that is defined in each Application resource record.
  • Three Application Control tasks are automatically generated when you create an Application resource record: one each for executing the Start, Stop, and Query commands (which you specified in the Application resource record) against the application. You can use these control tasks to schedule the Start, Stop, and Query commands in Workflows and triggers. You also can manually create customized Application Control tasks.
     

    Note

    You can manually run an Application Control task to execute a command specified in an Application resource record, but it is simpler to just execute the command from the Applications list or Application resource record.

  • Optional Application Monitor triggers allow you to launch other tasks based on the status of an application being monitored.

Processing Flow

The following steps show a sample process flow for the manual monitoring (that is, not via a trigger or Workflow) of an application:
 

Step 1

From the Agents & Connections navigation pane, select System > Applications and create an Application resource record, specifying the name of an application and the start, stop, and query commands to control it. The Controller will automatically create three Application Control tasks that you can use in Workflows and triggers for starting, stopping, and querying the application.

Step 2

Start the application defined in the Application resource record either by:

  • Right-clicking the Application resource record in the Applications list and clicking Start on the displayed Action menu.
  • Opening the Application resource record and clicking the Start button in the Application Details.

Step 3

The Controller executes the Start Command provided by the user in the Application Details. It puts the application into Starting status, and saves the Start Time.
 
The Start Command has two functions:

  1. Starts the application.
  2. Starts the query process that monitors the application.

Step 4

After 30 seconds, the Controller automatically executes the Query Command provided by the user in the Application Details to determine the status of the application. The Controller continues executing the Query Command every 120 seconds thereafter until the user stops the monitoring by issuing a Stop command from the Controller.

Step 5

The purpose of the Query is to determine whether or not the application is Active. The Controller uses the specifications provided by the user in the Query Exit Code Processing fields in Application Details to make this determination.

  • If the response from the application indicates a successful start-up, the Controller puts the application into Active status.
  • If the response indicates the Application has not started, the Controller continues executing the Query (keeping track in the Startup Query Attempts field) until it reaches the maximum attempts specified by the user in the Startup Query Maximum field. If the maximum number is reached before achieving an Active status, the Controller puts the application into Impaired status. However, the Controller continues monitoring the application. If the appropriate exit code parameters are eventually returned, the Controller will put the application into Active status. The purpose of the Startup Query Attempts field is to avoid having the application go straight into Impaired status if it takes awhile to start.
The Controller writes any Exit Code captured by the Query in the Query Exit Code field of the Application resource record.

Step 6

After starting the application, the Controller continues monitoring by sending out the Query Commands every 120 seconds.

  • If the Controller detects a problem based on the Exit Code parameters, it puts the application into Impaired status. If this occurs, you have several options for handling the problem, with increasing levels of automation:
    1. The Applications list displays the status of all applications being monitored. You can create a filter for the Applications list that displays only those applications in a specific status, such as Impaired. If you see a problem, troubleshoot the issue and restart the application from outside the Controller.
    2. Set up an Application Monitor trigger that monitors the application for Impaired and other problem statuses. When the trigger is satisfied, it launches an Email task that sends emails to support personnel, notifying them of the problem. Several built-in variables are supported that allow you to pass required data into the email message: the application name, type, and status.
    3. You also could create a Workflow launched by an Application Monitor trigger looking for Impaired or other problem statuses. The Workflow can include Application Control tasks that attempt to resolve the problem by stopping and then restarting the application. You could also include any other tasks that are specific to troubleshooting the application.
  • If the Controller fails to get a response to a Query for three minutes, it puts the application into <status>/Query Overdue status, where <status> is the last known status of the application, either Starting, Active, or Impaired. For example, you may see a <status>/Query Overdue status if the Agent went down or there was some other problem on the machine unrelated to the application itself. If this occurs, you should troubleshoot the issue. When you have fixed the problem, the continued queries from the Controller will then return an Active status for the application.

Step 7

To stop monitoring an application, issue the Stop command against it. the Controller stops the application and puts it into Inactive status, which means it is no longer monitoring.