Cuando pensamos en integrar nuestra herramienta de monitorización con cualquier otra herramienta del departamento (CMDB, ticketing, BI, etc.) no debemos de perder de vista la API.
OP5 Monitor nos suministra una API Rest que nos permitirá no solo recoger información de la base de datos, sino que además nos permite configurar prácticamente cualquier opción de OP5.
Así pues, en muy pocas líneas de código podemos agregar un equipo, un servicio, o recoger un listado de todos los equipos que se encuentran en un grupo con un estado concreto.
Las posibilidades son prácticamente inagotables. Pero analicemos un poco más la API.
¿Qué tipo de API nos provee OP5?
La API es de tipo REST (Representational State Transfer), es un tipo de arquitectura basada totalmente en el estándar HTTP (todas las acciones las realizaremos mediante accesos a URLs).
¿Qué tipo de acciones podemos realizar mediante la API?
Tenemos las siguientes acciones disponibles:
- GET. Que nos permite sacar listados de objetos.
- POST. Para crear objetos.
- PUT. Para sobrescribir objetos.
- PATCH. Nos permite actualizar un objeto.
- DELETE. Que nos permite eliminar un objeto.
¿Qué formatos podemos obtener?
Cualquier acción la podemos realizar en los siguientes formatos:
- XML
- JSON
- HTML
¿Qué seguridad incorpora la API de OP5 Monitor?
Evidentemente al estar basado en HTTP, podemos incorporar de forma nativa SSL y convertir la API en HTTPS (es entregada por el desarrollador así por defecto).
Además, en la administración de permisos, los diferentes perfiles pueden tener o no acceso, al tiempo que podemos limitar las acciones a realizar. Es muy recomendable disponer de diferentes usuarios (lectura, escritura).
¿Alguna sorpresa?
Si, y positiva. OP5 Monitor también incorpora MK Livestatus.
MK Livestatus es una API para Nagios. Aunque OP5 Monitor usa como motor Naemon, y Naemon que es un fork de Nagios ha incorporado la MK Livestatus por defecto en su código. Nos vamos a ahorrar instalar esta API si tenemos alguna integración en Nagios que queramos llevarnos a OP5 Monitor.