Agentless Monitoring

This tutorial provides a brief introduction to the AppPerfect Agentless Monitor product using a set of hands-on practice exercises. This tutorial assumes you have successfully downloaded and installed AppPerfect Agentless Monitor on your machine with the default options. Apart from this pre-requisite, this tutorial is self contained. Instructions given below are Windows-specific; if you are using a non-Windows machine, please use equivalent commands/instructions.

All exercises assume you have installed the product in C:\AppPerfect\AgentlessMonitor folder and will be referred as MONITOR_HOME henceforth in tutorial. If you have installed the product in some other folder, modify the instructions below appropriately.

This tutorial is not intended as a comprehensive training guide. Please refer to the product documentation for detailed information. However, this tutorial will give you a very good overview of the products and substantially improve your productivity with the product.

Exercise 1: Logging into the Monitor Server

Action:- On Windows

  1. To start the server click on Start -> Programs ->AppPerfect Agentless Monitor x.x.x -> AppPerfect Monitor Server -> Start
  2. Once the server is up and running click on Start -> Programs ->AppPerfect Agentless Monitor x.x.x -> AppPerfect Monitor Server Login
  3. A Browser window will open with the fields 'Username' and 'Password'.
  4. Please enter 'administrator' in the field 'username' and enter the password you chose at the time of installation. Click on Submit button and you will be logged into Monitor Server and can now access all its features.

Action:- On Linux and Solaris

  1. To start the server open the shortcuts folder AppPerfect_Agentless_Monitor/AppPerfect Monitor Server and double-click Start
  2. Once the server is up and running open the shortcuts folder AppPerfect_Agentless_Monitor and double-click AppPerfect Monitor Server Login
  3. A Browser window will open with the fields 'Username' and 'Password'.
  4. Please enter 'administrator' in the field 'username' and enter the password you chose at the time of installation. Click on Submit button and you will be logged into Monitor Server and can now access all its features.

Exercise 2: Understanding the user interface

This exercise will help you understand the user interface to access various monitor server functionalities.

The browser screen you see is divided into two parts. On the left is the monitor tree, which lists all the monitors (devices) that you are currently monitoring. One monitor is defined for each device being monitored. In legacy monitoring systems, an “agent” would be the equivalent of a monitor. However, with AppPerfect Monitor, there are no agents to worry about. Built-in monitors provide equivalent functionality.

Action:- The Monitor Tree

  1. The monitor tree shows a list of the monitors being monitored. (Since this is the first time you have logged into the system, you can see a default monitors for your local machine: MonitorServer). The MonitorServer monitor monitors the Tomcat server that runs the AppPerfect Monitor.
  2. The monitor tree follows the following hierarchy: Dashboard -> Machine -> Monitor -> Attribute Groups -> Individual Attributes. Expanding a node displays details about its subnode. Clicking on any node displays relevant details on the right side of the screen.

Action:- The Dashboard

  1. By default, the “Dashboard” node in the monitor tree is selected. On the right, the “Status” view is selected by default.
  2. The dashboard organizes the data in a concise two-dimensional matrix which provides a quick, color-coded view of the state of the devices being monitored.
  3. Each cell in the matrix is calculated based on two things: time and nature of data received. By default, the dashboard shows the status for the last 4 hours. You can change the time-slice interval as needed. The available options are: 1 hour, 4 hours, 12 hours and 24 hours. To change the time slice, click on any of the cells for the monitor and you will be taken to the corresponding graphs generated for the monitor. You can change the time slices from this screen.
  4. Data received from monitors is processed and the result is represented in color-coded cells in the matrix. Color codes are defined as follows:
    State Color Description
    Empty   This state signifies there is no data.
    OK   This status signifies the monitored device is operating within specified parameters.
    Suspended   The monitor has been manually suspended. In this state, the device is not polled for monitoring data.
    Failure   The monitor is being polled for data. This state signifies the monitor is unable to retrieve monitoring data from the device.
    Warning   Signifies a rule of severity ‘warning’ has been violated.
    Error   Signifies a rule of severity ‘error’ has been violated.

Exercise 3: Navigation Bar

Major monitor server functionality is grouped into various tabs that can be accessed by the NavBar located at the top right of the screen. Each tab is briefly described below.


  1. Alerts: An alert is generated every time a rule is violated by a monitor. This tab shows you the alerts that have been generated by the server.
  2. Reports: Provides complete report management facility to add, delete, modify and schedule reports. A wizard-based Web designer is available to design report. Also provides a series of pre-defined system reports for each monitor type.
  3. Monitors: This tab provides facility to manage monitors. You can add, delete or modify monitor from here. Depending on your device type (JVM, SysMon, SNMP, etc.) the new monitor wizard configures itself to ask for relevant data.
  4. Users: Security is based on users/groups. This tab provides complete user/group management facility. Use this tab to create/modify/delete users and groups. Access can be assigned to various monitors.
  5. Rules: A rule is defined as a condition for which you want to monitor a computing device. This tab provides rules management facility. Use this tab to add/delete/modify rules. Once defined, a rule is assigned to a monitor.
  6. Failover: Monitor Server architecture supports defining a failover server in case the primary server fails. Either of the pair can be designated primary or secondary. Designation can be changed if need arises. Primary and secondary server maintain a synchronized data store to ensure no loss of data or coverage when failover occurs. The failover feature can also be used to migrate one Monitor Server installation to another machine or to migrate from one version of Monitor Server to a newer version.
  7. Settings: The settings tab shows the personal settings for the currently logged in user. So currently you should see the details of the user ‘administrator’.
  8. Options: This link allows the current user to change the appearance of the monitor server as well as make default-settings for reports. Also it lists details of database and notifications that have been configured for the server. Notifications are used to send alerts to the specified email address, cell phone number and /or Yahoo, MSN or AOL instant messengers.
  9. Some other links present on the screen:
    • Refresh: Click on this link to refresh the screen.
    • View Log: Click on this link to access the system log.
    • Logout: Click on this link to log out of the server.
    • Help: Click on this link to access the online product documentation.

Exercise 4: Deleting existing monitors

We are now ready to start using the monitor server. Let us first delete the existing monitors.


  1. Click on the tab ‘Monitors’
  2. Check the box next to ‘MonitorServer’
  3. Click on the button ‘Delete'
  4. On the pop-up window that asks ‘Are you sure you want to delete the selected monitor?’, click on ‘OK’.
  5. The ‘Monitors’ tab will be automatically refreshed and you can now see that the ‘MonitorServer’ monitor has been deleted.

Exercise 5: Adding a Server Monitor

To learn how to add monitors, let us add two new monitors. First the Local Server monitor.


  1. From within the same ‘Monitors’ tab, click on the button ‘Add’.
  2. You will see a form with two sections. The first sections - ‘General’ - is common for all monitors and the second section is monitor-specific. You can see it changes with your selection of the monitor from the ‘Monitor Type’ drop down list.
  3. From the ‘Monitor Type’ drop-down list, select an operating system under the category ‘Server Monitor’. For this tutorial, we will choose ‘Windows 2000/XP’.
  4. Next, we have to fill in the fields with details: Type ‘Local1’ in the ‘Monitor ID’ field. ‘Localsystem’ in the ‘Monitor Name’ field. ‘’ in the IP address field. Please note that you can provide either one of the two values from – ‘IP Address’ and ‘Host Name’, both are not mandatory. So for now leave the ‘Host Name’ field blank.
  5. Leave the default values intact for ‘Default Fetch Interval’ and ‘Retry on Failure Interval’, which is 120 seconds for both. Leave the checkbox ‘Retry before failing’ unchecked. Leave the ‘Initial Monitor State’ ‘Active’ as it shows by default and ‘All’ for ‘Available Attributes’.
  6. You can click on the button ‘Validate Connection’ to see if the machine added is valid or not. If you have followed all the steps till here, the result will be ‘Connection is Valid’.
  7. Now click on ‘Next’.
  8. You will get a list of all the attributes that can be set for this monitor – your local machine. You can go through the attributes listed. Leave the already-selected attributes selected and select any other attributes you want. Then click on ‘Next’.
  9. You are now in the ‘Attribute Details’ tab. Here you can change the display name, the Y-axis label and the name by which the columns will be stored in the database. Leave the details intact for now and click on ‘Next’.
  10. The next screen is for defining rules. We will come back to rules in a few steps. Click on ‘Next’.
  11. The next screen shows you ‘Data Management’ options. These are divided into ‘Data Archiving Options’ and ‘Data Purging Options’. The ‘Data Archiving Options’ allow you to set the age of data to be archived – least being ‘one hour’ and largest being ‘one week’. You can also select the Start time for archiving. Leave all the values as they are for now. Similarly, for ‘Data Purging Options’, a checkbox for enabling/disabling is checked by default, leave it as it is. Other settings are ‘Purge Data older than’ and ‘Start time’ which is again like for ‘Data Archiving’ but for the opposite action. Leave the values intact for now. Click on ‘Next’.
  12. Under the Notification Section, leave the checkbox ‘Enable Notification when Monitor Goes in Polling’ unchecked. Click on ‘Finish’.
  13. You will be taken back to the main ‘monitors’ tab screen. You can see the ‘Localsystem’ monitor has been added.

Exercise 6: Adding a Java/J2EE (Tomcat) monitor

Let us now add the Monitor Server monitor – for the Tomcat server.


  1. Click on ‘Add’ in the main ‘Monitors’ tab screen. From the drop-down list of ‘Monitor Types’ select ‘Tomcat 5.5.x/6.0.x’ from under the category ‘Java/J2EE Servers’.
  2. Enter ‘server1’ in the Monitor ID field. ‘MonitorSystem’ in the ‘Monitor Name’ field. In the ‘IP Address’ field, type ‘’.
  3. Leave the other fields with default values. (For information on the other fields, see Exercise 5: steps 5 and 6.)
  4. Let us now set the Tomcat –specific details in the ‘Tomcat 5.5.x/6.0.x Options’. The field name is ‘JMX Connector Port’. Tomcat 5.5.x/6.0.x monitoring is based on JMX. To setup Tomcat for remote monitoring refer to Monitoring and Managing Tomcat. The JMX Connector Port is the value provided for the property while setting up JMX for Tomcat 5.5.x/6.0.x as described in the link provided above. We have started our built-in tomcat server with Hence, please enter 8650 as the JMX Connector port.
  5. Click the button ‘Validate Connection’ to check if this connection is valid. If you have followed all the steps till here, the connection should be valid.
  6. The rest of the steps are the same as that for adding local server monitor. Please see Steps 9-12 from Exercise 5.
  7. After you click on ‘Finish’, you will be taken back to the ‘Monitors’ tab main screen. You can see the monitor ‘MonitorServer’ has been added.

Exercise 7: Configuring email notifications

When an alert is generated, the Monitor Server needs a mechanism to notify you of the alert. The Monitor Server supports a variety of means of communication of alerts, including email, SMS as well as updating the Monitor Server’s UI. In this exercise, we will configure the email notifications mechanism.


  1. At this point, since you are the only user defined in the system, we will configure your details for both the sender and receiver. First, we will configure the sender’s details.
  2. Click on the ‘Options’ tab in the UI. Under Notification section, you will see the forms for all notifications supported in the AppPerfect Monitor viz: email and sms.
  3. Click on the checkbox currently unchecked, in the Email Notification section, next to ‘Enabled’.
  4. Enter the details of a sender name, sender's email address, and SMTP server in the fields provided.
  5. Provide authentication details like username and password, if your SMTP server requires authentication.
  6. Scroll down to the end of this page and click on the button ‘Update’.
  7. First part of email notification configurations is now over. Let’s add the receiver details.
  8. Click on ‘Users’. You will see the default and only user, if this is the first time you’ve logged in, or no other users have been added. Click on the ‘User ID’ administrator.
  9. In the form that shows up, enter a valid email address in the ‘Email’ field.
  10. Click on ‘Update’ button at the bottom of the page.
  11. Your email notification is now configured.

Exercise 8: Adding a rule

In this exercise, we will create a simple rule. The rule is that as soon as the CPU usage of the local machine reaches 90%, an alert should be raised.


  1. Click on the ‘Rules’ tab. There are presently no rules if this is the first time you have logged into the system.
  2. Click on the ‘Add’ button.
  3. You can now see a form where you can add the rule.
  4. Enter ‘Rule1’ in the field ‘Rule ID’.
  5. Choose the monitor ‘Local1’ from the list of monitors from the drop down list.
  6. Select the severity ‘Error’ from ‘Warning’ and ‘Error’.
  7. In the Notification section, there are two sections. The first section - ‘When rule violates’ is for specifying the notification message, when rule violates a condition. Second section - ‘When rule comes out of violation’ specifies notification message when rule comes out of violation.
  8. Enter ‘CPU Usage Rule’ in the field ‘Rule Name’
  9. In the field 'Notification Message', type in 'CPU Usage reached 90%'.
  10. In the ‘Expression’ section, select the ‘cpu_TotalCPU Usage’ variable and click on ‘Add’.
  11. A row will be added to the form where you can define the condition, value and time-related details of the rule.
  12. Select the option ‘Over’ from under the column name ‘Condition’. Enter ‘89’ under the ‘Value’ column.
  13. Leave out the Start and End time fields. These fields can be used where you want to check for a rule within a defined period of time. Also leave out the ‘Duration’ field. It defines the threshold time for the rule, i.e. if you want that the alert should be raised if the CPU usage reaches 90% for at least 1 minute, then enter ‘60’ in this field. Leave it blank for this tutorial.
  14. Lastly, click on ‘Add’.
  15. The rule has now been added and will be checking for the condition defined.

Exercise 9: Understanding Alerts

The basic workflow for monitoring is as follows: The Monitor Server polls the monitored device at periodic intervals (default is 2 minutes). The monitored device responds with requested data. Monitor Server first stores the data in its database and then processes the data against existing rules to check for violations.

The key point to note here is that the Monitor Server takes sampling of monitoring data at periodic intervals. Hence, the state of the machine when the sampling was taken determines whether a rule is violated. For our example, if the CPU Usage reached 90% between two samplings, but remains below 90% at the time of sampling, then no alert will be raised.


  1. We will violate the rule we have just defined above. Start some resource-consuming applications on your system to make your CPU usage reach 90%. Compiling large applications, start application servers, running antivirus software, etc. can typically cause CPU usage to reach 90% and stay there for an extended period of time, thus ensuring that the rule is violated during a data sampling.
  2. Go to the ‘Status’ tab and click on any of the cells. On the screen showing charts for the monitor, scroll to the right and select the time interval ‘1 hour’. Click on ‘Status’.
  3. You should now see the red-colored cells in the dashboard showing the error.
  4. Click on ‘Alerts’. You can see the ‘Rule ID’ of the rule violated, the monitor ID associated with the rule, the severity of the rule defined and the start and end time. Here you will notice that the ‘End time’ column says ‘Not Reset’. This is because the rule has been violated and continues to be so, it has not been fixed. As soon as the rule violation is fixed, this column will display the time at which that was done – indicating the violation ended at that time.
  5. Around this time, depending on the speed of your mail servers, you should also receive an email notifying you of the rule violation.

Exercise 10: System Reports

In this exercise, we will look at default system reports.


  1. Click on the tab ‘Reports’.
  2. You can see the default system reports listed by report IDs that have been generated based on the monitors in the system.
  3. Click on the ‘Generate & View’ link under the column ‘Generate & View Report’ for the report named ‘CPU Usage’, to do just that.
  4. When you click on the ‘Generate & View’ link, a dialog box appears telling you this: “Click ‘OK’ to generate a new report and ‘Cancel’ to view the existing reports.’ Click on OK.
  5. A new pop-up window opens. You can choose here various parameters for the report. These are: Output format: you can choose from PDF or HTML formats. Select ‘PDF’ which is the default selection. Please note that for viewing and using the PDF reports, you must have the Adobe Acrobat Reader or equivalent software installed on your system.
  6. In the field ‘Report Description’, type a description for the report.
  7. The next section deals with ‘Filters’. All the system reports will contain a default filter – the ‘DataTimeStamp’ field. This field allows you to view reports between a certain period of time. Leave the selection from ‘Relative’ and ‘Absolute’ to ‘Relative’ – as it is by default. You can now select the relative time for which your CPU Usage report should be generated. Leave the selection as it is : ‘Last 1 Hour’. Now you can click on ‘Generate’.
  8. You will see the report in PDF format.

Exercise 11: Working with Monitor Server Failover

Please review failover overview provided in Exercise 3. In this exercise, we will setup a second machine with the Monitor Server and force a failover.


  1. You need Monitor server running on two machines for failover to work. First setup monitor server on two machines. Let’s call the machine to be used as Primary server ‘MC-A’ and the machine to be used as a secondary server ‘MC-B’.
  2. Next, make the following changes for the Failover or Secondary server on machine MC-B.
  3. Log into Monitor server as the administrator.
  4. Click on the tab ‘Failover’.
  5. In the Server Information section, select ‘Secondary’ from Type.
  6. The ‘Failover Port’ field will now get disabled. This is because only the Primary server can have a failover port, on which the failover server will be sending the availability requests.
  7. The next field is the ‘DB Port’ field. Leave the details in that as they are. This is the standard DB port for Monitor Server.
  8. Leave the next two fields ‘Ping Interval’ and ‘Number of Retries Before Failover’ with default values.
  9. In the Section Primary Server Information, enter the Host name or IP address of the primary server – machine MC-A.
  10. Failover Port: In this field enter the failover port of the primary server. If it has been left as the default port while installing, it should be port number 8657.
  11. Click on Update. You will be warned that ‘all the data on this server will be lost’ and asked whether you want to continue. Click on ‘ok’. Another message will inform you that setting up a secondary server will take a lot of time.
  12. The machine MC-B has now been set up as the secondary server. Please note that you can use only the Status, Alerts and Failover tabs in a secondary server.
  13. Now let us see how the failover works.
  14. On machine MC-A, stop the database server. You can do that in Windows by stopping the ‘AppPerfectDB20’ service from Start-> Settings-> Control Panel->Administrative Tools ->services. This will simulate a primary server failure.
  15. As soon as the primary server fails, you will get a message on machine MC-A informing you of the failure and that the secondary server has taken over.
  16. Your secondary server will now start collecting information for the monitors set up in the primary server. Please note that the secondary server will not archive any data.

Exercise 11: Understanding Monitor Server Security

Security in the Monitor Server is based on assigned privileges to users and groups. Any user with “administrator” privilege has access to all features in the product. However, any non-admin user can only view the status/report/alerts tabs and only for the monitors that he/she has access to.

In this exercise, we will create a group ‘General’ and a user ‘Guest’. We will then log out from the Monitor Server and re-login as “Guest” to see the differences in how the Monitor Server controls access.

Action: Adding a Group

  1. Click on the tab ‘Users’.
  2. You can see two sections – one lists the User ID, First Name, Last Name and Status. The other lists the Group ID and Group Name. There are Add and Delete buttons for both the sections.
  3. To add a Group, click on the ‘Add’ button in the group section.
  4. You will see a form where details regarding this group can be added.
  5. Type ‘General1’ in the Group ID field.
  6. Type ‘General’ for the Group Name.
  7. Assign the monitors ‘local1’ and ‘server1’ from the ‘Monitors’ listed.
  8. Assign no users at this stage.
  9. Click on ‘Add’ to add the group.
  10. You will be taken back to the ‘Users’ screen. The group you have just added can be seen here.

Action: Adding a User

  1. Click on the ‘Add’ button in the Users section.
  2. You will see a form to add the user.
  3. In the User ID field, type ‘Guest’.
  4. In the First name field, type your first name.
  5. In the Last name field, type your last name.
  6. Type a password in the ‘Password’ field and then retype it in the ‘Confirm Password’ field.
  7. You can enter the other details like phone, email id (mandatory if you want notifications) and others.
  8. From User type, let the selection be the default - ‘User’. You can also create users with ‘Administrative’ rights by selecting ‘Administrator’ here.
  9. In the Charts section, you can see the various options for charts. Leave them as they are.
  10. In the section ‘Security Access’ you can select the group for this user as well as the monitors.
  11. Click on the group ‘General’ showing in the left hand side box under the heading ‘Available’. Now click on the button with the > mark. The group will be added to the ‘Selected’ list.
  12. Likewise, add the monitors to the ‘Selected’ list. These monitors can now be monitored by the user ‘Guest’.
  13. Click on ‘Add’ to add the user.
  14. You will see the user added under the user section.
  15. Log out and re-login as ‘guest’. You will only see the Status, Reports and Alerts tabs. All other tabs are considered admin-only functions and are not available to non-admin users.

Concluding Remarks

We greatly appreciate your effort in completing this AppPerfect Agentless Monitor tutorial. We hope it has given you a good overview of the product and its features.  Please refer to the product documentation for additional details on all product features.

We are always eager to hear your feedback regarding the product, the documentation, the tutorial or any other issue related to the product. Please provide us your feedback at support(at)

  Web Testing, Java Testing, Server Monitoring
  Home   Products   Services   On-Demand   Downloads   Sales   Support   About Us