API
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
-
Obtenez une clé API ayant les droits Ecrire en suivant les instructions sous Clés d'authentification de l'API
-
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.
-
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
-
Obtenez une clé API ayant les droits Ecrire en suivant les instructions sous Clés d'authentification de l'API
-
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.
-
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
-
Obtenez une clé API ayant les droits Ecrire en suivant les instructions sous Clés d'authentification de l'API
-
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.
-
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
- Obtenez une clé API compatible LIRE en suivant les instructions sous Clés d'authentification de l'API
- 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
-
Obtenez une clé API ayant les droits Supprimer en suivant les instructions sous Clés d'authentification de l'API
-
Préparez un fichier CSV appelé "data-delete.csv" contenant les définitions des ressources à supprimer.
name,view *,View_Test Ping-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 |
Installation gratuite en quelques clics