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

    }

  }

}


JSON Path Examples