The Service Availability feature of Server Monitoring enables you to monitor internal or external HTTP and HTTPS services. You configure service monitoring from the controller UI.
Once you have configured a service for monitoring, the Machine Agent checks the service according to your configuration, evaluating the response against your specified validation rules. When a validation rule is violated for a response, the response is categorized as a failed response, otherwise it is a successful response. The state of the service is evaluated based on the values you specify for the results window, success threshold and failure threshold. The results window is the number of check results that are monitored as a rolling window to evaluate the success and failure threshold. This window must be full before it is used to evaluate the state of the monitored service. Once the results window is full, the window is evaluated every time a new response is received.
For example with 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.
Service Availability Monitoring requires a separate license and a Server Monitoring license. Server Monitoring is currently available for Linux and Windows. For more details, see License Information.
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 configuration. If 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 access the configuration window do the following:
- From the Controller top navigation bar, select Servers > Service Availability.
You see a list of monitored services if any are configured.
- To add a service, click Add.
You see the Add Service Monitoring Configuration window with three tabs.
- On the Main tab, specify the required fields and save the configuration. Each field has an associated tool tip to that provides help. For details, see Main Configuration Window.
- On the Request Configuration tab, specify your request headers. For details, see Request Configuration.
- On the Response Validators tab, configure your validation rules. For details, see Response Validators.
Main Configuration Window
|Name||Name of your choice for this target configuration. This name appears in the Service Availability list.||N/A||Yes|
|Target||The resource to be monitored, for example, http://myThirdPartyService.com/data. Specify which HTTP method to use to send the request (GET, POST, HEAD)||N/A||Yes|
|Server||Name of the machine agent performing the monitoring. Only servers that are enable for Server Monitoring show in the drop-down list.||N/A||Yes|
|Socket Timeout||How long to wait, in milliseconds, after a successful connection for a complete HTTP response.||30000||Yes|
|Success threshold||Number of required successes within the results window for a NORMAL state.||3||Yes|
|Check Interval||Interval time in between checks in seconds.||10||Yes|
|Results Window Size||Number of most recent results to use in determining the state of the service.||5||Yes|
|Connect Timeout||How long to wait (in ms) for the service to respond to a connection request.||30000||Yes|
|Failure threshold||Number of required failures within the result window for a CRITICAL state.||1||Yes|
|Max response size||Maximum response size to collect in bytes.||5000||Yes|
|Follow redirects||Follow redirect to determine state of service.||Yes||No|
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.
|HTTP||header name and value pair||String||empty||Customized header to send with requests.|
|body||String||empty||Any data to send with the request. Usually used for POST.|
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
- 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:
The events are visible from the Monitored Service details window and from the Server Monitoring Events list.
You can see details by double-clicking the event.
The event properties are as follows:
- Category: CUSTOM
- Event Type: Service Availability
Severity- values can be ERROR (failure) or INFO (passing).
Use these steps to create alerts for your monitored services:
- From the Servers window, click Alert & Respond.
- Select Policies.
- Select Create Policy Manually.
If policies already exist, you may not see this option. Just click + to add a policy manually.
- Under Custom Events, click + to Add Custom Event.
- In the Custom Event Filter, add the following:
- Set the Event Type to "Service Availability".
- To filter on failure, add the severity = ERROR property.
- (Optional) To apply the customer filter to a specific service, add the property: targetId = <target_id>, which is the ID of the monitored service to which the policy applies. If you do not specify this property, the customer filter is applied to all monitored services.
To view the target ID, go to Servers > Service Availability > View Options and enable Show Config id. Then check the Config ids field for the relevant service.
- In the Actions section of the Policy window, add the action you want to execute if the policy violates and save the policy.