Documentation
Découvrez le mode zéro configuration

L'API ServicePilot

L'API REST ServicePilot vous permet d'interagir avec l'interface ServicePilot sans compétences techniques particulières. L'API REST ServicePilot vous permet de :

  • Ajouter des ressources/vues/éléments graphiques
  • Envoyer des données
  • Faire des requêtes SQL
  • Supprimer des ressources

Les applications et agents externes peuvent interagir avec les données de ServicePilot via l'API REST.

API de provisioning

La ServicePilot Provisioning API vous permet d'ajouter rapidement et en masse des vues, des ressources et des éléments graphiques à la supervision de ServicePilot, selon les besoins.

L'API Provisioning de ServicePilot peut ajouter une ou plusieurs ressources basées sur le même package par requête, car chaque requête consiste en une URL spécifiant le type de package et un corps "POST" avec les ressources associées à inclure.

Pour ajouter des ressources avec l'API REST, une requête web utilisant une clé API ayant les droits Ecrire est requise.

Exemple : approvisionnement des ressources à l'aide d'une requête cURL

  1. Obtenez une clé API ayant les droits Ecrire en suivant les instructions sous Clés d'authentification de l'API

  2. Préparez un fichier CSV appelé "data-prov.csv" contenant les définitions des ressources à ajouter.

    name,ip_address_fqdn
    Ping-1,10.0.0.1
    Ping-2,10.0.0.2
    Ping-3,10.0.0.3
    

    Note : seuls les champs exigés doivent être spécifiés pour chaque ressource. Voir la page Configuration > Avancé > Packages > Questions dans l'interface web ServicePilot pour chaque package pour les champs requis.

  3. Modifiez les commandes suivantes selon vos besoins et exécutez-les dans une 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
    

Exemple : ajouter une hiérarchie de vue à l'aide d'une requête PowerShell

  1. Obtenez une clé API ayant les droits Ecrire en suivant les instructions sous Clés d'authentification de l'API

  2. Préparez un fichier CSV appelé "view-prov.csv" contenant les définitions des vues à ajouter.

    name,view,autoarrange
    Sites,MAIN,none
    Site-1,Sites,linear
    Site-2,Sites,linear
    

    Note : seuls les champs name et view doivent être spécifiés pour chaque vue.

  3. Modifiez les commandes suivantes selon vos besoins et exécutez-les dans une 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
    

Définitions de l'API de provisionnement ServicePilot

Voir la page Configuration > Avancé > Packages > API dans l'interface web de ServicePilot pour toutes les définitions de packages, y compris tous les champs optionnels.

1. En utilisant un compte avec des privilèges administrateurs, accédez à ServicePilot
2. Ouvrez PARAMETRES > Éditeur de vues
3. Accédez à l'élément Packages
4. Allez dans l'onglet API
5. Suivez les étapes sous le titre API de provisioning

API d'envoi de données

L'API ServicePilot Send Data vous permet d'insérer en masse des données dans des ressources supervisées, selon les besoins.

ServicePilot Send Data API peut insérer des données dans une ou plusieurs ressources, indépendamment du type de package, dans la même requête. Chaque requête consiste en une URL spécifiant l'API et un corps "POST" avec les ressources associées et les données à injecter.

Exemple : insérer des données dans des ressources

  1. Obtenez une clé API ayant les droits Ecrire en suivant les instructions sous Clés d'authentification de l'API

  2. Préparez un fichier CSV appelé "data-send.csv" contenant les ressources et les données associées à insérer.

    type,object,i1
    data,Ping-1,333
    data,Ping-2,555
    data,Ping-3,777
    

    Note : seul un minimum de type, objet, i1, où i1 est le numéro de l'indicateur, doit être spécifié. Voir la page Configuration > Avancé > Packages > Indicateurs dans l'interface web ServicePilot de chaque package pour la liste des indicateurs.

  3. Modifiez les commandes suivantes selon vos besoins et exécutez-les dans une 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
    

Pour voir les données envoyées par API et stockées dans ServicePilot, connectez-vous à l'interface web de ServicePilot. Ouvrez MONITOR > View > ResourceName et voyez les valeurs qui apparaîssent dans la colonne "last".

Définitions de l'API de provisionnement ServicePilot

Voir la page Configuration > Avancé > Packages > API dans l'interface web de ServicePilot pour toutes les définitions de packages, y compris tous les champs optionnels.

1. En utilisant un compte avec des privilèges administrateurs, accédez à ServicePilot
2. Ouvrez PARAMETRES > Éditeur de vues
3. Accédez à l'élément Packages
4. Allez dans l'onglet API
5. Suivez les étapes sous le titre API d'envoi de données

API de requête SQL

L'API ServicePilot SQL Request vous permet d'interroger et d'extraire des données directement depuis la base de données ServicePilot. Les requêtes SQL simplifiées peuvent être optimisées avec des clauses Lucene et le format de sortie peut être défini sur CSV ou JSON dans la requête API.

La requête SQL Select interroge une collection de la base de données en fonction des informations requises. Chaque collection stocke un type de données spécifique. Les collections contiennent soit des données actuelles/en temps réel, soit des enregistrements historiques. Lors de l'interrogation d'une collection contenant des enregistrements historiques, il faut spécifier soit un intervalle de temps, soit un nombre d'enregistrements les plus récents. Par défaut, seules les 10 premières lignes de résultats sont retournées.

Collection Description Historique
events Alarmes d'objets et de ressources, prises en compte et gestion des événements, changements de configuration et connexions d'utilisateurs X
objectstatus Informations de dernière minute sur les vues, les objets et les ressources (statut, remerciements, gestion, ...)
objectdata Statistiques des indicateurs d'objets et de ressources X
objectml Machine Learning des indicateurs d'objets et de ressources - anomalies, tendances et prédictions X
objectlog Messages de journaux personnalisés de l'objet X
objectrca Dossiers Root Cause Analysis
objectsl Statistiques de niveau de service pour les vues et les ressources X
apptrace Demandes APM avec informations sur le client et le serveur (statut HTTP, erreurs, temps de réponse, ...) X
nettrace Conversations Nettrace avec les statistiques du client et du serveur X
inventory Inventaire des serveurs et des endpoints
syslog Enregistrements Syslog X
trap Enregistrements SNMP trap X
voip Enregistrements CDR VoIP X

Interroger la base de données ServicePilot à l'aide de requêtes SQL

  1. Obtenez une clé API compatible LIRE en suivant les instructions sous Clés d'authentification de l'API
  2. Construisez votre requête SQL en spécifiant les champs et la collection nécessaires et insérez la requête dans l'URL de la demande d'API avec une clé d'API capable de LIRE.

Exemple : Obtenir une liste des objets PING indisponibles surveillés par 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

Exemple : Obtenir une liste au format JSON des 100 dernières alarmes critiques sur les ressources

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

Exemple : Obtenir l'utilisation moyenne de la mémoire pour les serveurs au cours des 30 dernières minutes

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

Définitions de l'API de requête SQL de ServicePilot

ServicePilot offre également un assistant pour vous aider à construire des requêtes SQL personnalisées selon vos besoins. Visitez la page Query dans l'interface web de ServicePilot pour commencer :

1. Accédez à l'interface web ServicePilot
2. Ouvrez OUTILS > Widget
3. Accédez à l'élément Query
4. Créez votre requête SQL

Voir la page Configuration > API dans l'interface web de ServicePilot pour des informations supplémentaires et la syntaxe de l'API de requête SQL.

1. Accédez à l'interface web ServicePilot
2. Ouvrez PARAMETRES > Configuration
3. Accédez à l'élément API

API de suppression de ressource

L'API ServicePilot de suppresions de ressources vous permet de supprimer rapidement des vues, des ressources et des éléments graphiques de la surveillance ServicePilot, en vrac selon les besoins.

L'API ServicePilot de suppresions de ressources peut supprimer une ou plusieurs ressources basées sur le même package par requête, car chaque requête consiste en une URL spécifiant le type de package et un corps Supprimer avec les ressources associées à supprimer.

Pour supprimer des ressources à l'aide de l'API REST, il faut utiliser une requête web utilisant une clé API capable de Supprimer.

Exemple : Suppression de ressources à l'aide d'une requête cURL

  1. Obtenez une clé API ayant les droits Supprimer en suivant les instructions sous Clés d'authentification de l'API

  2. Préparez un fichier CSV appelé "data-delete.csv" contenant les définitions des ressources à supprimer.

    name,view
    *,View_Test
    Ping-3,
    
  3. Modifiez les commandes suivantes selon vos besoins et exécutez-les dans une 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
    

Définitions de l'API de suppression des ressources de ServicePilot

Voir la page Packages > API dans l'interface web de ServicePilot pour plus d'informations.

1. En utilisant un compte avec des privilèges administrateurs, accédez à ServicePilot
2. Ouvrez PARAMETRES > Éditeur de vues
3. Accédez à l'élément Packages
4. Allez dans l'onglet API
5. Suivez les étapes sous le titre API de suppression de ressource

Clés d'authentification de l'API

Une clé API est une clé secrète pré-partagée associée à un client ServicePilot et utilisée par les agents ServicePilot et les utilisateurs API pour autoriser l'accès. Des demandes d'API différentes nécessiteront des niveaux d'autorisation de clé d'API différents.

Demandes d'API Autorisation minimale de la clé API
Ajouter des ressources Ecrire
Envoyer des données Ecrire
Demandes SQL Lire
Supprimer les ressources Supprimer

Comment obtenir une clé d'API ServicePilot ?

La page "Clés API" vous permet de gérer les clés API pour les agents ServicePilot et l'API REST. Il est suggéré d'utiliser une clé API dédiée à l'interface REST avec les privilèges Lire, Lire & Ecrire ou Lire, Ecrire & Supprimer en fonction de l'accès requis. Si cette clé est compromise, elle peut être supprimée sans affecter la collecte des données de l'agent ServicePilot.

1. En utilisant un compte avec des privilèges administrateurs, accédez à ServicePilot
2. Ouvrez PARAMETRES > Configuration
3. Accédez à l'élément Clés API
4. Créez et notez une Clé API avec l'autorisation requise