Status Ping Documentation
Product Overview
Status Ping is an infrastructure monitoring service that notifies you when your website or some other resource is down or is not operating properly.
Whenever an incident occurs we notify you through various configurable notification channels. These include Email, Slack, SMS, Microsoft Teams, Pushover and we are adding new channels if requested by our customers.
Check out Concepts section for more information.
Concepts
Overview
Monitor
Monitor is a configurable task that checks something on your website periodically. Checks that are performed vary from website being unreachable, returning unexpected status code, containing an unexpected result in JSON response and so on.
Incident
Incident occurs when Monitor check fails and is in a failed state until the same Monitor's check completed successfully. Once Monitor check fails we run the same check in another region to confirm the failure. If the checks in both regions fail then we raise an Incident. This process allows us to avoid false-positive check failures.
Notifications
Notification is a message that has been sent through one of notification integrations that have been set up. The reason for sending a notification is either that the Monitor has failed or that it has recovered.
Monitor
Monitor is a configurable task that checks something on your website periodically. Checks that are performed vary from website being unreachable, returning unexpected status code, containing an unexpected result in JSON response and so on.
Monitor settings
General
Website URL
Website URL that this Monitor will check
Name
User-friendly name that will make it easy for you to identify this particular Monitor
Check frequency
How often should the Monitor be checked. m stands for minutes and h for hours. For example 1m means that the monitor will be checked every 1 minute.
Monitor enabled
Enables or disabled Monitor checks.
Notification settings
Notification integrations
Here you can select either to be notified through all Notification integrations or only through particular ones.
Notify when
This section configures the failure criteria for the Monitor.
Website becomes unavailable
Monitor will be considered failed if website response status code is not in the range of 200-300 (inclusive).
For example if the website returns 500 status code then this Monitor check will be considered as failed.
Response HTTP status code is not one of...
Monitor will be considered failed if website response status code is not in the range of selected response codes.
For example if the accepted status is 200 and website returns 500 status code then this Monitor check will be considered as failed.
JSON response does not satisfy the following condition
Monitor will be considered failed if the specified JSON property extracted from the response does not match the configured criteria.
Request Settings
HTTP Method
HTTP request verb to use with the request
Headers
Headers to be sent with the request can be configured here
Request body
Request body payload can be configured here
Follow redirects
If enabled the request will follow up to 10 redirects when performing the request
Request timeout
Maximum amount of time to wait for the response. If response is not received within this time period then the Monitor check will be considered as failed
Monitor JSON property extraction
This section describes the options of configuring JSON property extraction in Monitors.
JSON property path
This value refers to the field that should be extracted from the JSON response returned by the website. To extract data from JSON we use JSON path expressions. You can find examples of JSON path queries in the table below.
JSON path extraction result is always a list of values. In case where the list contains only one value then we take that value for comparison instead of the list itself.
For example if JSON path result is ["example"] then the value compared will be "example".
List value comparison
When using equals comparison operation and comparing a list of values we stringify the whole JSON list and compare it to the value provided.
Consider the following JSON path expression $.store.book[*].author and JSON object below. The result of such value extraction will be equal to ["Nigel Rees","Herman Melville","J.R.R. Tolkien"].
{
"store": {
"book": [
{
"category": "reference",
"author": "Nigel Rees",
"title": "Sayings of the Century",
"price": 8.95
},
{
"category": "fiction",
"author": "Herman Melville",
"title": "Moby Dick",
"isbn": "0-553-21311-3",
"price": 8.99
},
{
"category": "fiction",
"author": "J.R.R. Tolkien",
"title": "The Lord of the Rings",
"isbn": "0-395-19395-8",
"price": 22.99
}
],
"bicycle": {
"color": "red",
"price": 19.95
}
}
}