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.
- Ingresa a ServicePilot usando una cuenta que pertenezca a un grupo con el nivel de acceso Admin.
- Abra la configuración
- Navegue hasta las llaves
- Crear y registrar una clave de API con la autorización necesaria
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 1000000000-000000-0000-0000-0000000000000000
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 1000000000-000000-0000-0000-0000000000000000
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.
- Utilizando una cuenta con privilegios de admin, inicie sesión en ServicePilot.
- Abra la configuración
- Acceder al elemento API
- 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.
Eliminar un recurso
Para borrar un recurso en particular, llame al método REST "DELETE" usando una tecla API con la derecha Borrar. El comando curl que se muestra a continuación es una solicitud ejemplo utilizando la clave API 1000000000-000000-0000-0000-0000000000000000
del servidor ServicePilot. 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"
Empiece Ahora