API
El REST API ServicePilot le permite interactuar con la interfaz de ServicePilot sin necesidad de conocimientos técnicos especiales. El REST API ServicePilot le permite:
- Añadir recursos/vistas/elementos gráficos
- Enviar datos
- Realización de consultas SQL
- Eliminar recursos
Las aplicaciones y agentes externos pueden interactuar con los datos de ServicePilot a través de la API REST.
API de aprovisionamiento
La API de aprovisionamiento de ServicePilot le permite añadir rápidamente vistas, recursos y elementos gráficos a la monitorización de ServicePilot, de forma masiva según sea necesario.
La API de aprovisionamiento de ServicePilot puede añadir uno o más recursos basados en el mismo package por solicitud, ya que cada solicitud consiste en una URL que especifica el tipo de package y un cuerpo "POST" con los recursos asociados a incluir.
Para añadir recursos con la API REST, se necesita una solicitud web con una clave de API que tiene los derechos Escribir.
Ejemplo: aprovisionar recursos mediante una petición cURL
-
Obtenga una clave API que tiene los derechos Escribir siguiendo las instrucciones en Claves de autenticación de la API
-
Prepare un archivo CSV llamado "data-prov.csv" que contenga las definiciones de los recursos a añadir.
name,ip_address_fqdn Ping-1,10.0.0.1 Ping-2,10.0.0.2 Ping-3,10.0.0.3
Nota: sólo deben especificarse los campos necesarios para cada recurso. Consulte la página Configuración > Avanzado > Packages > Preguntas de la interfaz web de ServicePilot de cada package para conocer los campos requeridos.
-
Edite los siguientes comandos según sea necesario y ejecútelos en una CLI
REM Select an API key with WRITE access set APIKEY=10000000-0000-0000-0000-000000000000 curl -X POST "https://data.servicepilot.com/api/provisioning/network-ping" -H "Content-Type: text/csv" -H "x-api-key: %APIKEY%" --data-binary @data-prov.csv
Ejemplo: añadir una jerarquía de vistas mediante una petición PowerShell
-
Obtenga una clave API que tiene los derechos Escribir siguiendo las instrucciones en [Claves de autenticación de la API]
-
Prepare un archivo CSV llamado "view-prov.csv" que contenga las definiciones de las vistas a añadir.
name,view,autoarrange Sites,MAIN,none Site-1,Sites,linear Site-2,Sites,linear
Nota: sólo deben especificarse los campos name y view para cada vista.
-
Edite los siguientes comandos según sea necesario y ejecútelos en una CLI PowerShell
# Uncomment line below if HTTPS with TLS>=1.2 only [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]'Tls12' # Select an API key with write access $APIKEY="10000000-0000-0000-0000-000000000000" Invoke-WebRequest -UseBasicParsing -Uri "https://data.servicepilot.com/api/provisioning/view" -Method "POST" -Headers @{ 'x-api-key'=$APIKEY } -ContentType "text/csv" -InFile view-prov.csv
Definiciones de la API de aprovisionamiento de ServicePilot
Consulte la página Configuración > Avanzado > Packages > API de la interfaz web de ServicePilot para ver todas las definiciones de packages, incluidos todos los campos opcionales.
1. Utilizando una cuenta con privilegios de administradores, acceda a ServicePilot |
2. Abrir AJUSTES > Editor de vistas |
3. Acceder al elemento Packages |
4. Ir a API |
5. Siga los pasos del apartado API de aprovisionamiento |
API para el envío de datos
El ServicePilot Send Data API permite insertar datos en los recursos monitorizados, de forma masiva según las necesidades.
ServicePilot Send Data API puede insertar datos en uno o más recursos, independientemente del tipo de package, en la misma solicitud, ya que cada solicitud consiste en una URL que especifica la API y un cuerpo "POST" con los recursos asociados y los datos a inyectar.
Ejemplo: insertar datos en recursos
-
Obtenga una clave API que tiene los derechos Escribir siguiendo las instrucciones en Claves de autenticación de la API
-
Prepare un archivo CSV llamado "data-send.csv" que contenga los recursos y los datos asociados que se van a insertar.
type,object,i1 data,Ping-1,333 data,Ping-2,555 data,Ping-3,777
Nota: sólo es necesario especificar un mínimo de tipo, objeto, i1, donde i1 es el número de indicador. Consulte la página Configuración > Avanzado > Packages > Indicadores en la interfaz web de ServicePilot para cada package para ver la lista de indicadores.
-
Edite los siguientes comandos según sea necesario y ejecútelos en una CLI
REM Select an API key with WRITE access set APIKEY=10000000-0000-0000-0000-WRITE0000001 curl -X POST "https://data.servicepilot.com/api/send" -H "Content-Type: text/csv" -H "x-api-key: %APIKEY%" --data-binary @data-send.csv
Para ver los datos enviados por la API y almacenados en ServicePilot, conéctese a la interfaz web de ServicePilot. Abra MONITOR > Vista > Nombre del recurso y vea los valores que aparecen en la columna "último".
Definiciones de la API de aprovisionamiento de ServicePilot
Consulte la página Configuración > Avanzado > Packages > API de la interfaz web de ServicePilot para ver todas las definiciones de packages, incluidos todos los campos opcionales.
1. Utilizando una cuenta con privilegios de administradores, acceda a ServicePilot |
2. Abrir AJUSTES > Editor de vistas |
3. Acceder al elemento Packages |
4. Ir a API |
5. Siga los pasos del apartado API para el envío de datos |
API de consulta SQL
La API de Consulta SQL de ServicePilot permite consultar y extraer datos directamente de la base de datos de ServicePilot. Las consultas SQL simplificadas pueden optimizarse con cláusulas Lucene y el formato de salida puede establecerse como CSV o JSON en la solicitud de la API.
La petición SQL Select consulta una colección de la base de datos en función de la información requerida. Cada colección almacena un tipo específico de datos. Las colecciones pueden contener datos actuales/en tiempo real o registros históricos. Cuando se consulta una colección con registros históricos, se debe especificar un intervalo de tiempo o un número de registros más recientes. Por defecto, sólo se devuelven las 10 primeras filas de resultados.
Collection | Description | Historical |
---|---|---|
events | Alarmas de objetos y recursos, acuses de recibo y gestión de eventos, cambios de configuración e inicios de sesión de usuarios | X |
objectstatus | Información de última hora sobre las vistas, los objetos y los recursos (estado, reconocimientos, gestiones, ...) | |
objectdata | Estadísticas de los indicadores de objetos y recursos | X |
objectml | Machine Learning de indicadores de objetos y recursos: anomalías, tendencia y predicción | X |
objectlog | Mensajes de registro personalizados del objeto | X |
objectrca | Registros de Root Cause Analysis | |
objectsl | Estadísticas de nivel de servicio para vistas y recursos | X |
apptrace | Solicitudes de APM con información del cliente y del servidor (estado HTTP, errores, tiempos de respuesta, ...) | X |
nettrace | Conversaciones de Nettrace con estadísticas del cliente y del servidor | X |
inventory | Inventario de servidores y endpoints | |
syslog | Registros Syslog | X |
trap | Registros SNMP trap | X |
voip | Registros CDR VoIP | X |
Consulta de la base de datos de ServicePilot mediante solicitudes SQL
- Obtenga una clave API que tiene los derechos Lectura siguiendo las instrucciones en Claves de autenticación de la API|
- Construya su consulta SQL especificando los campos y la colección necesarios e inserte la consulta en la URL de solicitud de la API junto con una clave de API que tiene los derechos Lectura.
Ejemplo: Obtener una lista de objetos PING no disponibles supervisados por ServicePilot
SQL Query:
SELECT object,status FROM objectstatus WHERE status="-" AND class="ping" ORDER BY object ASC
API Request URL:
https://data.servicepilot.com/api/sql?q=SELECT object,status FROM objectstatus WHERE status="-" AND class="ping" ORDER BY object ASC&apikey=10000000-0000-0000-READ-000000000002
Ejemplo: Obtener una lista con formato JSON de las últimas 100 alarmas críticas en los recursos
SQL Query:
SELECT timestamp,resource,view,status,info FROM events WHERE source="resource" AND status="3" ORDER BY timestamp DESC
API Request URL:
https://data.servicepilot.com/api/sql?q=SELECT timestamp,resource,view,status,info FROM events WHERE source="resource" AND status="3" ORDER BY timestamp DESC&rows=100&wt=JSON&apikey=10000000-0000-0000-READ-000000000002
Ejemplo: Obtener la media de uso de memoria de los servidores durante los últimos 30 minutos
SQL Query:
SELECT object,MEAN(integer4) FROM objectdata WHERE class="server system" GROUP BY object ORDER BY timestamp DESC
API Request URL:
https://data.servicepilot.com/api/sql?q=SELECT object,MEAN(integer4) FROM objectdata WHERE class="server system" GROUP BY object ORDER BY timestamp DESC&rows=30&apikey=10000000-0000-0000-READ-000000000002
Definiciones de la API de solicitud de SQL de ServicePilot
ServicePilot también ofrece un asistente para ayudarle a crear consultas SQL personalizadas según sus necesidades. Visite la página Consulta en la interfaz web de ServicePilot para empezar:
1. Acceda a la interfaz web de ServicePilot |
2. Abrir HERRAMIENTAS > Widget |
3. Ir a Query |
4. Cree su consulta SQL |
Consulte la página Configuración > API de la interfaz web de ServicePilot para obtener información adicional y la sintaxis de la API de solicitudes SQL.
1. Utilizando una cuenta con privilegios de administradores, acceda a ServicePilot |
2. Abrir AJUSTES > Configuración |
3. Acceder al elemento API |
API de eliminación de recursos
La API de eliminación de recursos de ServicePilot permite eliminar rápidamente las vistas, los recursos y los elementos gráficos de la monitorización de ServicePilot, de forma masiva según sea necesario.
La API de eliminación de recursos de ServicePilot puede eliminar uno o más recursos basados en el mismo package por solicitud, ya que cada solicitud consiste en una URL que especifica el tipo de package y un cuerpo DELETE con los recursos asociados que se deben eliminar.
Para eliminar recursos con la API REST, se utiliza una solicitud web con una clave de API capaz de DELETE.
Ejemplo: eliminar recursos mediante una petición cURL
-
Obtenga una clave API capaz de eliminar siguiendo las instrucciones en Claves de autenticación de la API|
-
Prepare un archivo CSV llamado "data-delete.csv" que contenga las definiciones de los recursos a eliminar.
name,view *,View_Test Ping-3,
-
Edite los siguientes comandos según sea necesario y ejecútelos en una CLI
REM Select an API key with DELETE access set APIKEY=10000000-0000-0000-0000-DELETE000001 curl -X DELETE "https://data.servicepilot.com/api/provisioning/network-ping" -H "Content-Type: text/csv" -H "x-api-key: %APIKEY%" --data-binary @data-delete.csv
Definiciones de la API de eliminación de recursos de ServicePilot
Consulte la página Packages > API de la interfaz web de ServicePilot para obtener información adicional.
1. Utilizando una cuenta con privilegios de administradores, acceda a ServicePilot |
2. Abrir AJUSTES > Editor de vistas |
3. Acceder al elemento Packages |
4. Ir a API |
5. Siga los pasos del apartado API de eliminación de recursos |
Claves de autenticación de la API
Una clave API es una clave secreta precompartida asociada a un cliente de ServicePilot y utilizada por los agentes de ServicePilot y los usuarios de la API para autorizar el acceso. Las diferentes solicitudes de la API requerirán diferentes niveles de autorización de la clave de la API.
Solicitudes de API | Autorización mínima de la clave API |
---|---|
Añadir recursos | Escritura |
Enviar datos | Escritura |
Peticiones SQL | Lectura |
Eliminar recursos | Eliminación |
¿Cómo puedo obtener una clave API de ServicePilot?
La página "Claves de la API" le permite gestionar las claves de la API para los Agentes ServicePilot y la API REST. 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 |
3. Acceder al elemento Claves de API |
4. Cree y anote una Clave API con la autorización requerida |
Instalación gratuita en unos pocos clics