Documentation
Descubre el modo de configuración cero

La API de ServicePilot

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

  1. Obtenga una clave API que tiene los derechos Escribir siguiendo las instrucciones en Claves de autenticación de la API

  2. 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.

  3. 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

  1. Obtenga una clave API que tiene los derechos Escribir siguiendo las instrucciones en [Claves de autenticación de la API]

  2. 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.

  3. 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

  1. Obtenga una clave API que tiene los derechos Escribir siguiendo las instrucciones en Claves de autenticación de la API

  2. 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.

  3. 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

  1. Obtenga una clave API que tiene los derechos Lectura siguiendo las instrucciones en Claves de autenticación de la API|
  2. 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

  1. Obtenga una clave API capaz de eliminar siguiendo las instrucciones en Claves de autenticación de la API|

  2. Prepare un archivo CSV llamado "data-delete.csv" que contenga las definiciones de los recursos a eliminar.

    name,view
    *,View_Test
    Ping-3,
    
  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