To access: AppDynamics Home > Servers > Service Availability (left navigation menu) 

The Service Availability feature of Server Visibility enables you to monitor internal or external HTTP and HTTPS services. You configure service monitoring from the controller UI. After you configure monitoring for a service, Service Availability evaluates the service as follows:

  • The agent evaluates each response, based on your specified violation rules, and flags each response as failed (rule violation) or successful (no violation). 
  • The service monitor maintains a rolling buffer of evaluated responses. This buffer has a configurable window size (number of evaluated responses), success threshold (number of successful responses), and failure ratio (number of failed responses).
  • The monitor collects evaluated responses until the response buffer is full. Then it evaluates the service as: 
    • NORMAL - Successful responses are greater than or equal to the success threshold.
    • CRITICAL - Failed responses is greater than or equal to the failure threshold.
  • When the buffer is full, the monitor re-evaluates the service every time it evaluates a new response.

For example, with the following values: 

  • Success threshold = 3
  • Failure threshold = 1
  • Results window size = 5 

The agent waits until five check results are received and from these five results if there is one failure then the target state is CRITICAL. If there are at least three successful results, then the target state is NORMAL.

Licensing and System Requirements

Service Availability Monitoring requires a separate license and a Server Visibility license. Server Visibility is currently available for Linux, Windows, and Solaris. See License Management and Server Visibility Requirements and Supported Environments

Viewing the Monitored Services

The monitored services can be viewed in the Monitored Services list. The state is determined as described above by evaluating the Response Validators during the results window. Response Validators are rules you configure that are used to evaluate against the responses received from the service.

The possible states are:

  • NORMAL - The number of successful responses in the result window is greater than or equal to the configured success threshold.
  • CRITICAL - The number of failed responses in the result window is greater than or equal to the configured failed threshold.
  • UNKNOWN - If the machine agent does not provide any data.

Monitored Services List

From the top navigation bar, click Servers > Service Availability to see a list of monitored services. Use the action toolbar to manage your monitored services by adding new ones, viewing details and so on.

Monitored Service Details

Select a monitored service and double-click to see the associated details.

Configure Service Availability

By default, configuration changes take effect within at least two minutes of the change, so you do not need to restart the Machine Agent after changing the configurationIf the protocol, target, or method of a service are changed once a service is created, the state of the service is set to UNKOWN, and is re-evaluated with the new configuration.


To configure this feature, users need the Configure Server Visibility permission. See Server Visibility Permissions for more details.

To access the configuration window do the following:

  1. From the Controller top navigation bar, select Servers > Service Availability.
    You see a list of monitored services if any are configured.
  2. To add a service, click Add.
    You see the Add Service Monitoring Configuration window with three tabs.
  3. On the Main tab, specify the required fields and save the configuration. Each field has an associated tooltip that provides help. For details, see Main Configuration Window.
  4. On the Request Configuration tab, specify your request headers. For details, see Request Configuration.
  5. On the Response Validators tab, configure your validation rules. For details, see Response Validators.

Main Configuration Window

FieldDescriptionDefaultRequired
NameName of your choice for this target configuration. This name appears in the Service Availability list.N/AYes
TargetThe resource to be monitored, for example, http://myThirdPartyService.com/data. Specify which HTTP method to use to send the request (GET, POST, HEAD)N/AYes
ServerName of the machine agent performing the monitoring. Only servers that are enabled for Server Visibility show in the drop-down list.N/AYes
Socket TimeoutHow long to wait, in milliseconds, after a successful connection for a complete HTTP response.30000Yes
Success thresholdNumber of required successes within the results window for a NORMAL state.3Yes
Check IntervalInterval time in between checks in seconds. Note - Setting this interval to more than 60 seconds will result in visible gaps in the metric graphs for monitored services.10Yes
Results Window Size Number of most recent results to use in determining the state of the service.5Yes
Connect TimeoutHow long to wait (in ms) for the service to respond to a connection request.30000Yes
Failure thresholdNumber of required failures within the result window for a CRITICAL state.1Yes
Max response sizeMaximum response size to collect in bytes.5000Yes
Follow redirectsFollow redirect to determine the state of service.YesNo

Request Configuration

You can define a list of customized headers to send with requests. For example, the list can mimic desktop or mobile browsers. You can also define a request body for POST requests. An "Authorization" header can be specified if credentials are required.

 

ProtocolFieldValue TypeDefaultDescription
HTTPheader name and value pairStringemptyCustomized header to send with requests.

bodyStringemptyAny data to send with the request. Usually used for POST.

Response Validators

You can provide a list of rules for the machine agent to use to validate whether the monitored service is healthy. If any rule is violated, the response is considered failed.

For each rule you can specify the following:

  • HTTP property
  • operator
  • a value

The list of operators varies depending on the property selected in the first drop-down.

Monitoring the Service Health

An event is sent to the controller for every state change and periodically (by default every 5 minutes). The update interval can be changed by setting the System property: 

appdynamics.machine.agent.sam.event.updateIntervalMillis. For more detail, see "Service Availability Update Interval" in the Configuration Property Reference

The events are visible from the Monitored Service details window and from the Server Visibility Events list. 

You can see details by double-clicking the event.


The event properties are as follows:

  • Category: CUSTOM
  • Event Type: Service Availability
  • Property: severity - values can be ERROR (failure) or INFO (passing).

Configuring Alerts

Use these steps to create alerts for your monitored services: 

  1. From the Servers window, click Alert & Respond.
  2. Select Policies.
  3. Select Create Policy Manually.
    If policies already exist, you may not see this option. Just click + to add a policy manually.
  4. Under Custom Events, click + to Add Custom Event.
     
  5. In the Actions section of the Policy window, add the action you want to execute if the policy violates and save the policy.