V1 Web API¶
Hosts¶
-
POST/v1/hosts¶ Create a new host.
Parameters: - data (
Host) – a host within the request body.
Return type: - data (
-
PUT/v1/hosts/(host_name)¶ Modify this host.
Parameters: - data (
Host) – a host within the request body.
- data (
-
DELETE/v1/hosts/(host_name)¶ Delete this host.
-
GET/v1/hosts/(host_name)/services¶ Returns all services assocaited with this host.
Return type: list( Service)
-
GET/v1/hosts/(host_name)/services/(service_name)/(service_description)¶ Returns a specific service.
Return type: Service
-
POST/v1/hosts/(host_name)/results¶ Submit a new check result.
Parameters: - data (
CheckResult) – a check result within the request body.
- data (
-
POST/v1/hosts/(host_name)/services/(service_description)/results¶ Submit a new check result.
Parameters: - data (
CheckResult) – a check result within the request body.
- data (
-
type
CheckResult¶ Data samples:
- Json
{ "output": "CPU Usage 98%|c[cpu]=98%;80;95;0;100", "return_code": 0, "time_stamp": "1409087486" }
- XML
<value> <time_stamp>1409087486</time_stamp> <return_code>0</return_code> <output>CPU Usage 98%|c[cpu]=98%;80;95;0;100</output> </value>
-
output¶ Type: unicode The output of the check.
-
return_code¶ Type: int The return code of the check.
-
time_stamp¶ Type: unicode The time the check was executed. Defaults to now.
-
type
Host¶ Data samples:
- Json
{ "address": "192.168.1.254", "check_period": "24x7", "contact_groups": "router-admins", "contacts": "admin,carl", "custom_fields": { "OS_AUTH_URL": "http://localhost:8080/v2" }, "host_name": "bogus-router", "max_check_attempts": 5, "notification_interval": 30, "notification_period": "24x7", "use": "generic-host" }
- XML
<value> <host_name>bogus-router</host_name> <address>192.168.1.254</address> <max_check_attempts>5</max_check_attempts> <check_period>24x7</check_period> <contacts>admin,carl</contacts> <contact_groups>router-admins</contact_groups> <notification_interval>30</notification_interval> <notification_period>24x7</notification_period> <use>generic-host</use> <custom_fields> <item> <key>OS_AUTH_URL</key> <value>http://localhost:8080/v2</value> </item> </custom_fields> </value>
-
address¶ Type: unicode The address of the host. Normally, this is an IP address.
-
check_period¶ Type: unicode The time period during which active checks of this host can be made.
-
contact_groups¶ Type: unicode List of the short names of the contact groups that should be notified
-
contacts¶ Type: unicode A list of the short names of the contacts that should be notified.
-
custom_fields¶ Type: dict(unicode: unicode) Custom fields for the host
-
host_name¶ Type: unicode The name of the host
-
use¶ Type: unicode The template to use for this host
Services¶
-
POST/v1/services¶ Create a new service.
Parameters: - data (
Service) – a service within the request body.
Return type: - data (
-
type
Service¶ Data samples:
- Json
{ "check_command": "check-disk!/dev/sdb1", "check_interval": 5, "check_period": "24x7", "contact_groups": "linux-admins", "contacts": "surveil-ptl,surveil-bob", "host_name": "sample-server", "max_check_attempts": 5, "notification_interval": 3, "notification_period": "24x7", "retry_interval": 3, "service_description": "check-disk-sdb" }
- XML
<value> <host_name>sample-server</host_name> <service_description>check-disk-sdb</service_description> <check_command>check-disk!/dev/sdb1</check_command> <max_check_attempts>5</max_check_attempts> <check_interval>5</check_interval> <retry_interval>3</retry_interval> <check_period>24x7</check_period> <notification_interval>3</notification_interval> <notification_period>24x7</notification_period> <contacts>surveil-ptl,surveil-bob</contacts> <contact_groups>linux-admins</contact_groups> </value>
Commands¶
-
POST/v1/commands¶ Create a new command.
Parameters: - data (
Command) – a command within the request body.
Return type: - data (
-
PUT/v1/commands/(command_name)¶ Modify this command.
Parameters: - data (
Command) – a command within the request body.
- data (
-
DELETE/v1/commands/(command_name)¶ Delete this command.
-
type
Command¶ Data samples:
- Json
{ "command_line": "/bin/check_http", "command_name": "check_http" }
- XML
<value> <command_name>check_http</command_name> <command_line>/bin/check_http</command_line> </value>
-
command_line¶ Type: unicode This directive is used to define what is actually executed by Shinken
-
command_name¶ Type: unicode The name of the command