The document discusses Icinga 2's new API which aims to unify its existing interfaces and integration points. The API provides a RESTful interface with JSON requests and responses to enable creating, querying, modifying and deleting objects as well as performing actions. It establishes requirements like authentication, endpoints, error handling and supports use cases such as configuration management, status queries and event streaming. A demo is provided and next steps are outlined.
9. • Snmp traps as check results
• Metrics as event streams
• External command actions
• Status Queries
• Inventory: Use $tool to create objects
at runtime
11. • RESTful url schema
• HTTP protocol, status codes
• JSON for requests & responses
• Version safety (/v1/…)
• Url endpoints (/v1/status, /v1/
objects, …)
12. {
"results": [
{
"code": 500.0,
"errors": [
"Error: Validation failed for object 'google.com'
of type 'Host'; Attribute 'check_command': Attribute must not be
empty."
],
"status": "Object could not be created."
}
]
}
13. • Authentication & Authorization
• HTTPS only via port 5665
• Basic Auth and/or
• Client certificates
• Permissions (query, modify, actions,
…)
17. • Object Queries
• Configuration & Status
• Access e.g. command line from
checks
• Filter by attributes (same filters as
in config DSL)
• Implicit joins
34. • Open Tasks
• Event Streams missing
• History API in 2016 (?)
• v2.4 Release date: 11.11.2015
• More at OSMC:
https://www.netways.de/en/
events_trainings/osmc/program/