Real Server Monitoring
The Library — Real Server Monitors page allows you to add, view and edit custom monitoring. These are
layer 7 server “Health-Checks” and once configured will appear in the drop-down list for Server Monitoring.
This page is split in to three sections
Details
Name:
to manually add in a name for your monitor.
Description:
to manually add in a description for your monitor.
Monitoring Method:
to choose the monitoring method from the dropdown list.
Page Location:
to manually add in a page location for an HTTP monitor. This can be a
relative link such as /folder1/folder2/page1.html. You can also use an
absolute link where the web site is bound to the hostname.
Required Content:
to manually add in the required content. This will change depending on
the monitoring method.
Applied to VS:
the service IP:Port that the monitor is applied to. You will not be
able to delete any Monitor that has been applied to a virtual service.
User:
Password:
Threshold:
NOTE: Please ensure the response back from the Application server is not
a “Chunked” response
Monitoring
|
Description |
Example |
HTTP 200 OK | In this mode, a TCP connection is made to the content server as above, but after connection is made, a brief HTTP request is made to the content server.A HTTP response is waited for and it is checked for the “200 OK” response code. If the “200 OK” response code is received, the content server is deemed to be up and running. If, for any reason, the “200 OK” response code is not received, including timeouts, failure to connect, etc. then the content server is regarded as down.This monitoring method can only really be used with HTTP and Accelerate HTTP service types, although if a Layer 4 Service Type is in use for an HTTP server, it could still be used if SSL is not in use on the content server, or is handled appropriately by the “Content SSL” facility. |
Name:
200OK
Check production web site
HTTP 200 OK
/main/index.html
ORhttp://www.edgenexus.io/main/index.html
N/A
|
HTTP Response | In this mode, a connection and HTTP request/response are made/checked for as above, but instead of the “200 OK” response code being checked for, a custom text is searched for in both the HTTP headers, and the body of the HTTP response.The text can be a whole header, part of a header, a line from part of a page, or just one word. If the text is found, the content server is deemed to be up and running.This monitoring method can only really be used with HTTP and Accelerate HTTP service types, although if a Layer 4 Service Type is in use for an HTTP server, it could still be used if SSL is not in use on the content server, or is handled appropriately by the “Content SSL” facility. |
Name:
Server Up
Check content of
page for “Server Up”
HTTP Response
/main/index.html
OR http://www.edgenexus.io/main/index.html
Server Up
|
DICOM | In this mode we send a DICOM echo using the “Source Calling” AE Title value in the required content column. You can also set the “Destination Called” AE Title value in the Notes section of each server. You can find the Notes column withing the IP Services–Virtual Services–Server page |
Name:
DICOM
L7 health check for
DICOM service
DICOM
N/A
AET Value
|
TCP Out of Band | This is similar to a TCP Connect except that you can specify the port you wish to monitor in the required content column. This port is typically not the same as the traffic port and is used when you want to tie services together. |
Name:
TCP Out of Band
Description: Monitor Out of Band/Traffic port
Page Location: N/A
Required Content: 555
|
Multi-Port TCP monitor | This is similar to above except that you can have a number of different ports. The monitor is deemed successful only if all ports specified in the required content section respond correctly. |
Name:
Multi Port Monitor
Description: Monitor multiple ports for success
Page Location: N/A
Required Content: 135,59534,59535
|
Example
Upload Monitor
In this section you can upload a custom monitor that you have created or that has been created for you by our support team. It will take the form of a Perl script file. Example DNS.pl
- Give you monitor a name so that you can identify it in the Monitoring Method list
- Browse for the .pl file
- Click Upload
- Your file will be uploaded to the correct location and will be visible as a new Monitoring Method.
Custom Monitors
In this section you can view custom monitors that have been uploaded and remove them if they are no longer needed.
- Click the drop down box
- Select the name of the custom monitor
- Click Remove
- Your custom monitor will no longer be visible in the Monitoring Method list
Creating a Custom Monitor Perl Script
You should be familiar with Perl. The following show you what can be included in your script with an image of a working example at the bottom for reference.
The #Monitor-Name: is the name used for the Perl Script stored on the ALB-X. If you do not include this line then your script will not be found!
The following are mandatory
- #Monitor-Name:
- use strict;
- use warning;
The perl scripts are run in a chrooted environment.
They often call another application such as wget or curl
Sometimes these need to be updated for a certain feature such as SNI
Dynamic Values
- my $host = $_[0];
- This uses the “Address” from IP Services–Real Server section
- my $port = $_[1];
- This uses the “Port” from IP Services–Real Server section
- my $content = $_[2];
- This uses the “Required Content” value from the Library–Real Server Monitoring section
- my $notes = $_[3];
- This uses the “Notes” column in Real Server section of IP Services
- my $page = $_[4];
- This uses the “Page Location” values from Library–Real Server Monitor section
- my $user = $_[5];
- This uses the “User” value from the Library–Real Server Monitor section
- my $password = $_[6];
- This uses the “Password” value from the Library–Real Server Monitor section
Custom Health Checks have two outcomes
- Successful
- Return Value 1
- Print a success message to Syslog
- Mark the Real Server Online (provided IN COUNT match)
- Unsuccessful
- Return Value 2
- Print a message saying Unsuccessful to Syslog
- Mark the Real Server Offline (provided OUT Count match)
Example:
NOTE@ Custom Monitoring – Use of global variables is not possible. Use local variables only – variables defined inside function
Back to Top
Back to Top