Status web services

This only runs on the Django server physically at the MRO, because it needs to communicate directly with the on-site Icinga2 server. The URL is:

https://mro.mwa128t.org/status/send_icinga

Submit an icinga2 process check result:

eg: http://mro.mwa128t.org/status/send_icinga?hostname=gacrux&servicename=FooHealth&resultcode=0&resultstring=OK_all_is_good


It accepts the following parameters, which can either be in any combination of URL-encoded (in the URL string), or as form-encoded DATA via POST, or as JSON encoded dictionary entries in the request body. The call can be an HTTP 'GET' or 'POST':

  • hostname - the name of the host running the process (either simple name or FQDN), as arranged in advanced with Andrew Williams 
  • servicename - the name of the process being monitored, as arranged in advanced with Andrew Williams 
  • resultcode - An integer, which must be one of 0 (OK), 1 (WARNING), 2 (CRITICAL) or 3 (UNKNOWN) indicating the state of the process being monitored.
  • resultstring - A string with a human-readable representation of the process state - by convention, it starts with OK, WARNING, CRITICAL or UNKNOWN, and is followed by a sentence or two summarising the process state. More than one line is allowed (separated with \n)
  • perfdata - An optional dictionary of parameters related to the process that should be stored as a time series, for plotting in Grafana - these could relate to resources available (disk space?), error counts, task counts, etc. These parameters should be arranged in advanced with Andrew Williams Each parameter value should be a single integer or float.


The call needs a username and password supplied (Basic auth) - contact Andrew Williams for details.