The HTTP response will be a JSON encoded object (Content-type: application/json), in case of a successfull response it will contain the following fields.

Field

Type

Info

status

string

'ok' in case of success, 'error' in case of failure

count

string

Number of successfully processed records

Add New Monitor

HTTP POST to: https://observu.com/api/add-external-monitor

Create a new monitor and return it's access key

API Request Input Parameters

Data should be urlencoded and submitted with Content-type: application/x-www-form-urlencoded.

POST Variable

Type

Info

key

Optional string

username

Optional string

password

Optional string

service_name

Optional string

service_id

Optional string

monitor_name

Optional string

monitor_type

Optional string

(default: 5)

The HTTP response will be a JSON encoded object (Content-type: application/json), in case of a successfull response it will contain the following fields.

Field

Type

Info

status

string

'ok' in case of success, 'error' in case of failure

key

string

Monitor-level access key to this specific monitor

monitor_id

int

ID of the newly created monitor

service_id

int

ID of the service the monitor was created under. Can be new or existing

REST API for reading and writing monitoring data

The basic structure of our monitoring API is fairly straight forward: any URL on the website can be turned into a JSON formatted resource by either passing Accept: application/json as a header in the request or by appending ".json" as an extention to the URL.

Basic HTTP Authentication

The easiest way to authorize yourself is by providing your login credentials as Basic HTTP authentication.

API Constants

The API uses several numeric constants to identify types of monitors and properties.

Property Types

The table below lists all available property types. Providing your data with the most accurate type will provide extra hints to the system for proper reporting and representation.

Type ID

Numeric repr.

Base Type

Description

string

1

String

float

2

Numeric

Float

int

3

Numeric

Integer

bytes

4

Numeric

seconds

5

Numeric

boolean

6

Discrete (represented as Integer)

percentage

7

Numeric

http_code

8

Discrete (represented as Integer)

error_code

9

Discrete (represented as Integer)

milliseconds

10

Numeric

kilobytes

11

Numeric

Bps

12

Numeric

Bytes per second

tsv

13

Table (represented as tsv String)

Table represented as a tab-seperated string

ps_tsv

14

Table (represented as tsv String)

Process table represented as a tab separated string

Ops

15

Numeric

Operations per second

log

16

String

Chunk of logfile

har

17

Requested Page Resources

megabytes

18

Numeric

Note: The types with base type 'Discrete' are intended to be used if there is a limited set of possible values. E.g. error codes or system state. Each value can be represented by any integer, but the total number of different values should be limited per property. (Preferably at most a few dozen)

Monitor Types

Type

Numeric repr.

Pretty

URL

1

HTTP URL

PING

2

ping

SERVER

5

Observu Server Agent

Priorities

Priority

Numeric repr.

Interesting

2

Something is different

Warning

3

Serious risk of errors, some impact on users

Error

4

Serious impact on end-users

Documentation

Observu API Monitoring

As we provider an API as well as use third party API we understand first hand what it means for an API to become unavailable. Observu offers tooling to keep you in the loop on API issues by providing API specific HTTP monitoring tools