Extraction des systèmes informatiques

Utilisez l'opération GET sur l'élément api/sam/computer_systems pour demander des informations sur les systèmes informatiques de votre infrastructure.

Important : Cette API REST doit être entièrement remplacée par l'API REST api/sam/v2/computers. Si certains de vos outils personnalisés ou processus internes reposent sur l'API REST api/sam/computer_systems, il est recommandé de les ajuster de sorte qu'ils utilisent la nouvelle version de l'API. Pour plus d'informations, voir : Mappage des colonnes entre l'API REST computer_systems et v2/computers.

Cette API extrait des informations sur les systèmes informatiques physiques et virtuels. Outre les ordinateurs sur lesquels un client BigFix est installé, cela comprend les systèmes hôtes sur lesquels le client n'est pas déployé car certains types de virtualisation ne permettent pas d'installer des logiciels au niveau de l'hôte (VMware ESXi, IBM PowerVM, etc.). Les données relatives à certains systèmes informatiques hôtes doivent toutefois être extraites pour créer une hiérarchie entre le serveur et ses machines virtuelles et pour signaler correctement l'utilisation de PVU et de RVU.

La propriété type détermine si un système informatique est un ordinateur hôte ou virtuel. Un hôte peut être, par exemple, un serveur de virtualisation, un hyperviseur éSX ou un ordinateur portable avec un agent installé. Une machine virtuelle ne fait référence qu'à des machines virtuelles qui peuvent être déployées sur un hôte. Pour cette raison, vous ne pouvez pas comparer le résultat de l'API REST avec des rapports uniques, et plus particulièrement avec les rapports consacrés aux ordinateurs et à l'inventaire matériel.

Pour extraire des informations sur vos systèmes informatiques, utilisez l'URL suivante :
https://hostname:port/api/sam/computer_systems?token=token
Important :
  • Pour utiliser cette API, vous devez être affecté au groupe Tous les ordinateurs et disposer du droit Afficher l'inventaire matériel.
  • Chaque demande d'API doit être authentifiée avec le paramètre token. Vous pouvez l'extraire en utilisant l'API REST pour l'extraction du jeton d'authentification. Vous pouvez également vous connecter à BigFix Inventory, survoler l'icône Utilisateur Icône utilisateur et cliquer sur Profil. Cliquez ensuite sur Afficher le jeton.
  • Par défaut, les données extraites sont triées par id.
Tableau 1. Descriptions des opérations
Détails de l'opération Description
Fonctionnement GET /api/sam/computer_systems
Finalité Renvoie la liste des systèmes informatiques.
Méthode HTTP GET
URI de resources https://server_host_name:port_number/api/sam/computer_systems
Relation du lien de l'URL n/a
Paramètres de requête URI Pour une liste de paramètres de requêtes applicables, voir : Paramètres de requête.
En-têtes de demande
Fonction métier
Accept-Language (Facultatif)
Valeurs
en-US (seul l'anglais est pris en charge)

Sert à négocier la langue de la réponse. Si cet en-tête n'est pas spécifié, le contenu est renvoyé dans la langue du serveur.

Charge de la demande Non disponible
Demande Content-Type
  • application/json
En-têtes de réponse
En-tête
Content-Type
Valeurs
application/json

Définit le type de contenu de la réponse.

En-tête
Content-Language
Valeurs
en-US, …

Définit la langue du contenu de la réponse. Si cet en-tête n'est pas spécifié, le contenu est renvoyé dans la langue du serveur.

En-tête
Import-Mode
Valeurs
none, idle, running, pending

Indique l'état d'importation des données.

En-tête
Import-Progress
Valeurs
Une valeur en pourcentage, par exemple 59.

Indique la progression en pourcentage d'une importation de données.

En-tête
Import-Last-Status
Valeurs
successful, failed

Indique l'état de la dernière importation de données.

En-tête
Import-Last-Success-Time
Valeurs
Date, par exemple 2014-06-18T04:00:29Z.

Indique l'heure de la dernière importation de données qui a réussi.

Charge de la réponse Computer Systems élément
RéponseContent-Type
  • application/json
Codes de réponse normaux HTTP
  • 200 - OK
Codes de réponse HTTP d'erreur
  • 500 – "Bad Request" si un paramètre de requête contient des erreurs ou est manquant

Le corps du message comprend un message d'erreur détaillé.

Paramètres de requête

Vous pouvez utiliser des paramètres de requête pour limiter le nombre de résultats de votre recherche. Le tableau suivant présente les paramètres de requête que vous pouvez utiliser pour l'élément api/sam/computer_systems.
Tableau 2. Paramètres de requête pour l'extraction de produits logiciels
Paramètre Description Requis Valeur
columns[] Indique les colonnes à extraire. Si vous n'indiquez pas ce paramètre, un ensemble de colonnes par défaut est extrait. Pour connaître les colonnes disponibles, voir Corps de réponse. Exemple :
éxtrayez les colonnes name et version :
URL?columns[]=name&columns[]=version
Non Chaîne
order Indiquez comment trier les données renvoyées. Le sens de tri par défaut des colonnes est croissant. Si vous souhaitez spécifier un tri par ordre décroissant, ajoutez desc au nom de la colonne. Exemple :
Ordre par type décroissant :
URL?order[]=type desc
Non Chaîne
limit Indiquez le nombre de lignes à extraire. Si vous omettez ce paramètre, toutes les lignes sont extraites. Non Numérique
décalage Indiquez le nombre de lignes à ignorer pour extraire les résultats. Vous pouvez l'utiliser en même temps que le paramètre de limite pour mettre en page les résultats. Exemple :
éxtrayez 50 enregistrements en commençant après l'enregistrement 150 :
URL?limit=50&offset=150
Non Numérique
Jeton Identificateur d'authentification utilisateur unique. Vous pouvez afficher votre jeton dans les préférences du profil de BigFix Inventory. Oui Alphanumérique
critères éxtrayez les enregistrements qui correspondent à des conditions spécifiques. Le paramètre doit avoir la structure suivante, écrite sur une seule ligne :
<criteria> ::= <left-brace> <boolean-operator><colon> <left-bracket> 
<criterion> [{ <comma> <criterion> }...] <right-bracket> <right-brace>
<boolean-operator> ::= "and" | "or"
<criterion> ::= <criteria> | <left-bracket> <column> <comma> <operator> <comma> <value> <right-bracket>
<column> ::= <json-string>
<operator> ::= <json-string>
<value> ::= <json-array> | <json-string> | <json-numver> | <json-null>

Pour plus d'informations sur les opérateurs, voir Connecteurs et opérateurs communs.

Exemple : éxtrayez les systèmes informatiques dont le système d'exploitation contient "AIX" OU la dernière date vue dans une plage de dates spécifiques :
URL?criteria={ "or": [ ["os", "contains", "aix"], 
{ "and": [ ["last_seen", ">", "1970-01-01T00:00:00+00:00Z"], 
["last_seen", "<", "1970-01-02T00:00:00+00:00Z"] ] } ] }
Pour les colonnes qui utilisent les valeurs de date et d'heure, comme Vu pour la dernière fois, vous pouvez également récupérer les données sur une période au lieu d'une date spécifique. Pour ce faire, utilisez last ou next comme <operator>, puis spécifiez la valeur de temps selon la convention suivante : PxD/PxW/PxM/PxY, où x est un nombre compris entre 1 et 999 et D, W, M ou Y est un identificateur qui représente les jours, semaines, mois ou années, respectivement. Par exemple, pour extraire des systèmes informatiques qui ont communiqué dans les 7 derniers jours, utilisez la demande d'API suivante :
URL?criteria={"and":[["last_seen","last","P7D"]]}

Exemple de conversation HTTP

Demande
GET api/sam/computer_systems
?token=7adc3efb175e2bc0f4484bdd2efca54a8fa04623
Host: localhost:9081 
Accept: application/json 
Accept-Language: en-US
En-tête de réponse
HTTP/1.1 200 OK
Content-Type: application/json
Content-Language: en-US
L'en-tête de réponse ci-dessus peut être suivi par différentes entrées, en fonction de l'état actuel de l'importation de données qui est représentée par Import-Mode. Pour comprendre les valeurs renvoyées, voir les définitions suivantes :
  • none - aucune importation de données n'a été initiée
  • idle - aucune importation de données ne s'exécute actuellement
  • running - une importation de données est en cours
  • pending - une action exécutée dans l'interface utilisateur nécessite le démarrage d'une importation de données pour que le changement prenne effet
Si aucune importation de données n'a été initiée :
Import-Mode: none
Si une importation de données est en cours :
Import-Mode: running
Import-Progress: 41
Si aucune importation de données n'est en cours d'exécution :
Import-Mode: idle/pending
Import-Last-Status: successful
Import-Last-Success-Time: Mon, 23 Jun 2014 12:18:29 GMT
Corps de réponse (JSON)
Si une entrée particulière est masquée par défaut, elle n'est pas extraite en cas d'utilisation de l'URL générale. Pour extraire ces données, vous devez utiliser les paramètres de requête pour spécifier le nom de la colonne masquée. Par exemple, vous pouvez extraire les colonnes server_id et datasource_id en utilisant le paramètre columns[] :
URL?columns[]=server_id&columns[]=datasource_id
{	
 "id": 25,
 "parent_id"=9,                        //ID of a host for a VM 
 "computer_id": 2,                     //hidden by default
 "computer_remote_id": 123,            //hidden by default
 "server_id": 24,                      //hidden by default
 "datasource_name"="Data source",      //hidden by default
 "datasource_id"=1,                    //hidden by default
 "type"="virtual",                     //type: virtual or host
 "os": "Linux Red Hat Enterprise Server 6.2)",
 "host_name": "NC040221",
 "dns_name": "NC040221.kraklab.pl.ibm.com",
 "ip_address": [
    "9.167.40.221",
    "192.168.122.1" ],
 "last_seen": "2014-04-08T14:33:41Z",
 "hardware_manufacturer": "IBM",
 "hardware_model": "System x3550 M2 -[794662G]-", 
 "hardware_serial_number": "99B7166",
 "hardware_type": "7946",              //hidden by default
 "hardware_name": "IBM Corp. 7946",    //hidden by default
 "processor_brand_string": "Intel(R) Xeon(R) CPU E7-3400 @ 2.40GHz",
 "processor_type": "Multi-core",
 "processor_brand": "Xeon(R)",
 "processor_vendor": "Intel(R)",
 "processor_model": "3400-3699 or 5500-5699",
 "partition_cores" : 1,                //null for host serves
 "server_processors": 1,
 "server_cores": 8,
 "pvu_per_core": 70,                   //hidden by default
 "uuid":"50305bd3-1f09-7294-7033-b903767d4605" //hidden by default
 "cluster_id":"1"                      // hidden by default 
}		//ID of the cluster to which the computer system
 		belongs. Available only for type: host.