Version 9.3.0 (10 aug 2021)

ServicePilot Documentación

API

La API de ServicePilot permite enumerar fácilmente los recursos supervisados y permite que las aplicaciones externas y los agentes de ServicePilot interactúen con los datos de ServicePilot. El API se basa en REST con respuestas en formato JSON.

Gestión de recursos mediante el REST API

Para poder utilizar la API de REST, se requiere una clave de API. Obtener una clave API y usarla cuando llame a la interfaz REST.

Obtención de una clave API de ServicePilot

Abra la página Claves de la API para gestionar las claves de la API para los agentes de ServicePilot y la REST API. Se sugiere que utilice una llave API dedicada para la interfaz REST con privilegios de Lectura, Lectura y escritura o Lectura, escritura y eliminación, dependiendo del acceso requerido. Si esta clave está comprometida, puede ser eliminada sin afectar a la recopilación de datos del agente ServicePilot.

1. Utilizando una cuenta con privilegios de administradores, acceda a ServicePilot.
2. Abrir AJUSTES > Configuración Settings menu configuración
3. Acceder al elemento Claves de API Keys menu item
4. Cree y anote una Clave API con la autorización requerida Key list

Obtenga una lista de recursos

Para obtener una lista de todos los recursos, llama al método REST "GET" con una clave API que tenga el derecho Lectura. El comando cURL que se muestra a continuación es una solicitud ejemplo utilizando la clave API 10000000-0000-0000-0000-000000000000 del servidor ServicePilot. https://data.servicepilot.com.

curl -H "X-Api-Key: 10000000-0000-0000-0000-000000000000" -X GET "https://data.servicepilot.com/api/resources"

Obtener información sobre un recurso

Para obtener información sobre un recurso en particular, llama al método REST "GET" con una clave API que tenga el derecho Lectura. El comando cURL que se muestra a continuación es una solicitud de ejemplo utilizando la clave API 10000000-0000-0000-0000-000000000000 del servidor ServicePilot https://data.servicepilot.com. Obtendrá información sobre el recurso internalstatistics.

curl -H "X-Api-Key: 10000000-0000-0000-0000-000000000000" -X GET "https://data.servicepilot.com/api/resources/internalstatistics"

Añade un recurso

Para añadir un nuevo recurso, llama al método REST "PUT" con una clave API con permiso de Escritura. El comando cURL que se muestra a continuación es una petición ejemplo utilizando la clave API 1000000000-000000-0000-0000-00000000000000 del servidor ServicePilot https://data.servicepilot.com. Creará un nuevo recurso llamado ping 10.1.1.1 con los parámetros mostrados

No todos los parámetros son necesarios. Según el tipo de recurso, la lista de respuestas será diferente.

curl -H "X-Api-Key: 10000000-0000-0000-0000-000000000000" -X PUT "https://data.servicepilot.com/api/resources/ping 10.1.1.1" -d "{'package': 'network-ping', 'view': 'main', 'agents': ['SP-TEST-15'], 'x': '150', 'y': '150', 'width': '30', 'height': '30', 'shape': 'image', 'picture': 'server.svg', 'backcolor': '#000000', 'borderwidth': '1', 'bordercolor': '#777777', 'borderstyle': 'solid', 'opacity': '100', 'backgroundcolorexist': 'true', 'html': '', 'policy': '', 'answers': {'ip_address_fqdn':'10.1.1.1','diffserv':''}}"

Podemos ver tres partes en esta solicitud:

  • El primero se refiere al -H (el header de la solicitud de cURL), el segundo tomará la clave de la API como parámetro para autenticarse.

  • El segundo concierne a parte del -d (de 'package' a 'answers'). Aquí especificaremos varias variables para ServicePilot:

    Nombre Obligatorio Ejemplo Explicación
    Package Si 'network-ping' El nombre del package que usaremos para crear el recurso
    view Si 'main' Nombre de la vista donde se creará el recurso
    agents Si 'SP-TEST-15' Nombre del agente o agentes que suministrarán el recurso, no ponga nada si quiere usar el agente predeterminado. Si hay que rellenar más de un agente, la sintaxis es 'agents': ['Nom_Agent_Custom', 'Nom Agent SNPM' ] "
    X / Y Si 'x': '150', 'y': '150' Coordenadas donde el recurso se colocará en la vista
    width / height Si 'width': '30', 'height': '30' El tamaño o la forma de la imagen del recurso en la vista
    shape Si 'image' Una forma que quieres que el recurso tome en la vista. Tenemos la opción de elegir entre: 'image/circle/rectangle/text/line'
    picture Si 'server.svg' Ponga una imagen en la vista: sólo tiene que rellenarla aquí
    backcolor Si '#000000' El color de fondo del recurso
    borderwidth Si '#77777' El grosor del borde
    bordercolor Si '1' Color del borde
    borderstyle Si 'solid' Estilo de las fronteras del recurso, tenemos la opción entre: 'solid/dotted/dashed'
    opacity Si '100' Opacidad del recurso
  • El último concierne al resto de los -d (desde las 'answers' hasta el final). Aquí especificaremos varias variables para el ServicePilot en relación con el recurso. Estas variables variarán dependiendo del package elegido. Aquí hay un ejemplo para el package network-ping. Puede encontrar esta tabla en la página de la API de la interfaz web de ServicePilot:

    Nombre Obligatorio Ejemplo Explicación
    ip_address_fqdn Si '10.1.1.1' La dirección IP que va a ser "pingada"
    diffserv No DSCP_B_Standard_DF Valor para su uso sólo con un agente .NET Core

Para ver una lista de parámetros obligatorios y opcionales, vaya a la página de detalles del ServicePilot API.

1. Utilizando una cuenta con privilegios de administradores, acceda a ServicePilot.
2. Abrir AJUSTES > Configuración Settings menu configuración
3. Navegue a la pestaña Avanzadas Advanced tab
4. Acceder al elemento API API menu button
5. Ponga Método en PUT y seleccione el Package deseado.

Los parámetros se presentarán en forma de lista y la solicitud de ejemplo cURL a la derecha.

Borrar un recurso

Para borrar un recurso concreto, llame a este método REST con una clave API capaz de Borrar. El comando cURL que se muestra a continuación es un ejemplo de solicitud utilizando la clave API 10000000-0000-0000-0000-0000-00000000 de https://data.servicepilot.com. Eliminará el recurso internalstatistics.

curl -H "X-Api-Key: 10000000-0000-0000-0000-000000000000" -X DELETE "https://data.servicepilot.com/api/resources/internalstatistics"

Volver a cargar la configuración

Si se realizan cambios en los archivos de configuración de ServicePilot, como provisioning.conf o la adición de paquetes personalizados fuera de la interfaz web de ServicePilot, se puede utilizar una API para decirle a ServicePilot que recargue la configuración desde el disco sin tener que reiniciar el servicio de ServicePilot. El siguiente comando cURL es un ejemplo de solicitud utilizando una clave API 10000000-0000-0000-0000-00000000 con privilegios de escritura al servidor de ServicePilot en https://data.servicepilot.com.

curl -H "X-Api-Key: 10000000-0000-0000-0000-000000000000" -d "{}" -X POST "https://data.servicepilot.com/api/service/reload"

Instalación gratuita en unos pocos clics