---
sourceDocument: Gestion des opérations IT Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/xanadu/it-operations-management

 Release :

    - xanadu

ft:locale :

    - fr-FR

ft:publication_title :

    - Gestion des opérations IT Xanadu

ft:clusterId :

    - itom

bundleId :

    - itom

workflow :

    - Technology


---

# Détection de plateforme IBM Cloud

# Détection de plateforme IBM Cloud {#ariaid-title1}

* Rversion finale: Xanadu
* 
* Mis à jour 1 août 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 27 minutes de lecture

L'application ServiceNow Découverte recherche des composants IBM Cloud Platform (API Softlayer v3 et v3.1 et API Bluemix v2) à l'aide des modèles IBM Cloud Platform. La détection de ces ressources nécessite l'installation de l'application Modèles de détection et de mappage des services à partir du ServiceNow Store.
Vous pouvez utiliser les modèles sur la Now Platform utilisant la version London correctif 7, la version Madrid correctif 2 ou une version ultérieure.

## Demander des applications dans l'App Store {#ibm-cloud-platform-discovery__section_gvb_cql_rlb}

Visitez le site Web [ServiceNow Store](https://store.servicenow.com/sn_appstore_store.do#!/store/home) pour découvrir toutes les applications disponibles et pour obtenir des informations sur la procédure à suivre pour soumettre des demandes à la boutique. Pour obtenir des informations sur les notes de publication cumulatives pour toutes les applications publiées, consultez les [ServiceNow Storenotes de publication relatives à l'historique des versions](https://www.servicenow.com/docs/bundle/store-release-notes/page/release-notes/store/sn-store-release-notes.html).{#ibm-cloud-platform-discovery__inline-send-to-store}

## Prérequis {#ibm-cloud-platform-discovery__section_xrh_4wz_ghb}

Serveur MID
:   Utilisez un Serveur MID dédié pour la détection dans le cloud. Le Serveur MID doit disposer de 16 cœurs, 8 Go avec 4 Go d'allocation de mémoire JVM (Java Memory Model).
:   Déployez et connectez le Serveur MID dédié avec l'accès Internet.

Informations d'identification
:   Les ressources dans le cloud se trouvent dans un cloud IBM. Créez les informations d'identification IBM pour accéder à votre compte IBM.  
    1. Accédez à la DécouverteInformations d'identification.
    2. Cliquez sur Nouveau.
    3. Cliquez sur Informations d'identification IBM, puis remplissez le formulaire :  
       {#ibm-cloud-platform-discovery__table_gxd_ljv_2hb__entry__2}

       | Champ | Description |
       |-|-|
       | Nom | Nom des informations d'identification. Par exemple, <kbd class="ph userinput">ibm-cred</kbd>. |
       | Ordre | Ordre selon lequel la plateforme essaie ces informations d'identification lorsqu'elle tente de se connecter aux appareils. Un nombre plus petit indique que les informations d'identification apparaissent plus haut dans la liste. Établissez un ordre pour les informations d'identification lorsque vous en utilisez un grand nombre ou lorsque la sécurité verrouille les utilisateurs après trois tentatives de connexion en échec. Si toutes les informations d'identification ont le même numéro d'ordre (ou n'en ont pas), l'instance les essaie de manière aléatoire. La valeur par défaut est 100. |
       | Utilisateur API Softlayer | Nom d'utilisateur de l'API Softlayer. Utilisez le nom d'utilisateur de l'API Softlayer défini dans la console Softlayer. |
       | Clé API Softlayer | Clé de l'API Softlayer. Utilisez la clé de l'API Softlayer définie dans la console Softlayer. |
       | Clé API Bluemix | Clé de l'API Bluemix. Utilisez la clé de l'API Bluemix définie dans la console IBM Cloud. |
       [Tableau 1. Formulaire Informations d'identification]

       {#ibm-cloud-platform-discovery__table_gxd_ljv_2hb}
    4. Cliquez sur Envoyer.
    {#ibm-cloud-platform-discovery__ol_exd_ljv_2hb}

Créer un compte de services dans le cloud IBM
: Utilisez les informations d'identification définies dans la procédure précédente pour créer le compte de services dans le cloud IBM.  
1. Accédez à la Mise en service et gouvernance du cloudComptes de services.
2. Cliquez sur Nouveau.
3. Renseignez les champs suivants du formulaire :  
   {#ibm-cloud-platform-discovery__table_l3l_fyx_hhb__entry__2}

   | Champ | Description |
   |-|-|
   | Nom | Nom des informations d'identification. Par exemple, <kbd class="ph userinput">ibm-snow</kbd> |
   | ID de compte | Nom de l'ID de compte IBM. Entrez l'ID de compte IBM. |
   | Informations d'identification Découverte | Informations d'identification Découverte que vous avez définies précédemment. |
   | Type de centre de données | Type de centre de données. Par exemple, <kbd class="ph userinput">Centre de données IBM [cmdb_ci_ibm_datacenter]</kbd> |
   [Tableau 2. Formulaire Compte de services dans le cloud]

   {#ibm-cloud-platform-discovery__table_l3l_fyx_hhb}
4. Cliquez sur Envoyer.
{#ibm-cloud-platform-discovery__ol_k3l_fyx_hhb}

Créer un calendrier Découverte sans serveur
:   Configurez Découverte sans serveur.

    1. Dans le , accédez Now Platformà DécouverteCalendriers de découverte.
    2. Cliquez sur Nouveau.
    3. Renseignez les champs suivants du formulaire :  
       {#ibm-cloud-platform-discovery__table_i3d_bzy_fhb__entry__2}

       | Champ | Description |
       |-|-|
       | Nom | Nom de ce calendrier Découverte. Par exemple, <kbd class="ph userinput">Modèle sans serveur</kbd> |
       | Détecter | Type de détection. Sélectionnez Sans serveur. |
       | Serveur MID | Nom du Serveur MID. Par exemple, <kbd class="ph userinput">Discovery_Server</kbd> |
       | Actif | Option permettant d'activer ce calendrier pour Découverte. Cochez cette case pour activer Découverte. |
       | Exécution | Spécifie la fréquence d'exécution du calendrier Découverte. |
       [Tableau 3. Formulaire Calendrier Découverte]

       {#ibm-cloud-platform-discovery__table_i3d_bzy_fhb}
    4. Cliquez avec le bouton droit sur l'en-tête du formulaire Calendrier Découverte, puis sélectionnez Enregistrer.

    5. Cliquez sur l'onglet Modèles d'exécution sans serveur.
    6. Cliquez sur Nouveau.
    7. Renseignez les champs suivants du formulaire :  
       {#ibm-cloud-platform-discovery__table_k3d_bzy_fhb__entry__2}

       | Champ | Description |
       |-|-|
       | Nom | Nom de ce modèle d'exécution sans serveur. Par exemple, <kbd class="ph userinput">IBM1</kbd> |
       | Modèle | Nom du modèle que vous souhaitez exécuter. Si vous souhaitez exécuter plusieurs modèles, créez plusieurs enregistrements. |
       | Hôte proxy | Nom de domaine complet de l'ordinateur sur lequel vous installez le serveur proxy. Spécifiez Global. |
       | Actif | Option permettant d'activer ce calendrier pour Découverte. Cochez cette case pour activer Découverte. |
       [Tableau 4. Formulaire Modèle d'exécution sans serveur]

       {#ibm-cloud-platform-discovery__table_k3d_bzy_fhb}
    8. Configurez les paramètres requis par le modèle IBM Cloud Platform comme suit :  
       {#ibm-cloud-platform-discovery__table_l3d_bzy_fhb__entry__2}

       | Paramètre | Description |
       |-|-|
       | cloud_cred_id | L'élément sys_id des informations d'identification IBM spécifiées dans la configuration. |
       | cloud_account_id | L'ID de compte IBM. |
       | cloud_datacenter_type | cmdb_ci_ibm_datacenter |
       [Tableau 5. Paramètres du lanceur de modèle Découverte]

       {#ibm-cloud-platform-discovery__table_l3d_bzy_fhb}
    9. Mettre à jour.
    10. Pour démarrer Découverte, accédez à la définition Découverte sans serveur et cliquez sur Détecter maintenant.
    {#ibm-cloud-platform-discovery__ol_txj_x31_hhb}

Flux IBM - Détection horizontale
:
    * Pour effectuer une détection à l'aide d'un calendrier sans serveur, les modèles Plateforme IBM Cloud sélectionnés s'exécutent et détectent les ressources de plateforme IBM Cloud.
    * Pour effectuer une détection à l'aide d'un compte de services, un calendrier de détection de plateforme IBM Cloud complet s'exécute, détectant toutes les ressources de plateforme IBM Cloud prises en charge.
    {#ibm-cloud-platform-discovery__ul_hfd_mzx_khb}

Opération personnalisée dans le cloud
:   REST dans le cloud - Ajouter une réponse au contexte  
    Opération pour les requêtes REST dans le cloud qui prend en charge les réponses à grande échelle et une meilleure utilisation de la mémoire.

    * Renseignez tous les champs avec les mêmes valeurs que dans l'opération personnalisée de requête REST dans le cloud, sauf pour indiquer la table de la réponse, qui est définie dans le champ Nom de la variable de réponse.

    * Définissez Définir l'analyse sur Aucun.
    {#ibm-cloud-platform-discovery__ul_mdn_wj5_lhb}

:   Méthodes de récupération des données pour le compte IBM

    1. Accédez à la Concepteur de modèleOpérations personnalisées.

    2. Cliquez sur REST dans le cloud - ajouter une réponse au contexte.

    {#ibm-cloud-platform-discovery__ol_nlw_wp5_lhb}

    Méthode : Get Call

    URL d'API utilisées pour récupérer les données :  
    * Équilibreur de charge https://api.softlayer.com/rest\<api_version\>/SoftLayer_Network_LBaaS_LoadBalancer/getAllObjects?objectMask=mask\[listeners\[defaultPool\],members,healthMonitors\]
    * Réseau https://api.softlayer.com/rest/\<API_VERSION\>/SoftLayer_Account/getNetworkVlans?objectMask=mask\[primaryRouter.datacenter,name,id,vlanNumber,networkSpace\]
    * Réseau https://api.softlayer.com/rest/\<API_VERSION\>/SoftLayer_Account/getSubnets?objectMask=mask\[datacenter\]
    * Réseau https://api.softlayer.com/rest/\<API_VERSION\>/SoftLayer_Account/getSecurityGroups?objectMask=mask\[rules\]
    * Organisations et espaces https://api.\<region\>.bluemix.net/v2/organizations
    * https://api.\<region\>.bluemix.net/v2/spaces
    * Clé SSH https://api.softlayer.com/rest/v3/SoftLayer_Account/SoftLayer_Account/getSshKeys
    * Stockage https://api.softlayer.com/rest/\<api_version\>/SoftLayer_Account/getNetworkStorage
    * Serveur virtuel https://api.softlayer.com/rest/v3.1/SoftLayer_Account/getSecurityGroups
    * http://api.softlayer.com/rest/v3.1/SoftLayer_Account/getSecurityGroups?objectMask=mask\[id,name,networkComponentBindings\[networkComponentId,networkComponent\[networkId,guest\[fullyQualifiedDomainName,hostname,id,datacenter\[name\]\]\]\]\]
    * https://api.softlayer.com/rest/v3.1/SoftLayer_Account/getVirtualGuests?objectMask=mask\[hostname,domain,powerState,fullyQualifiedDomainName,notes,id,statusId,placementGroupId,sshKeys\[label,key,id,fingerprint,createDate,modifyDate,notes\],primaryBackendIpAddress,primaryIpAddress,networkVlans\[id,name,note,vlanNumber\],blockDeviceCount,blockDevices\[device,diskImageId,mountType,guestId,id,mountMode\],allowedNetworkStorage\[id,fileNetworkMountAddress,iscsiTargetIpAddresses,nasType,username,serviceResourceBackendIpAddress\],maxCpu,maxMemory,datacenter,networkComponentCount,regionalGroup,datacenter,location,operatingSystem\[id,softwareDescription\[id,name,longDescription,manufacturer,referenceCode,version\]\],networkComponents\[guestId,id,port,name,primarySubnet\[networkIdentifier,id,networkVlan\[id\]\],status,macAddress,primaryIpAddress\]\]
    {#ibm-cloud-platform-discovery__ul_gvs_kv3_hkb}

Fonctions EVAL

:   Utilisez la fonction EVAL suivante pour transformer la réponse de l'API de l'équilibreur de charge en un format JSON complet. La réponse par défaut est formatée comme suit : \<\< \[\<resource objects\>\] \>\>.

        var cloud_lb_response = ${cloud_lb_response};
        for (var i = 0; i < cloud_lb_response.size(); i++){
              cloud_lb_response.set(i, '{"result":[' + cloud_lb_response.get(i) + ']}');
        }
        CTX.setAttribute("cloud_lb_response", cloud_lb_response;

    Utilisez la fonction EVAL suivante pour transformer la réponse de l'API du réseau en un format JSON complet. La réponse par défaut est formatée comme suit : \<\< \[\<resource objects\>\] \>\>.  

        var network_response = ${network_response};
        for (var i = 0; i < network_response.size(); i++){
              network_response.set(i, '{"result":[' + network_response.get(i) + ']}');
        }
        CTX.setAttribute("network_response", network_response);

    Utilisez la fonction EVAL suivante pour obtenir la région IBM à partir de la zone de disponibilité de l'équilibreur de charge (centre de données). La même fonction est utilisée pour d'autres ressources à l'intérieur du modèle.  

        var res = "";
        res = IbmCloudDcToRegion.convertDctoRegion(${cloud_lb[].cloud_lb_az_short_name});

    Utilisez la fonction EVAL suivante pour sélectionner l'algorithme requis dans le modèle.  

        var rtrn
        var lb_algorithm = ${cloud_lb_pools[].lb_algorithm}.toString();
        switch (lb_algorithm){  
           case "ROUNDROBIN":
              lb_algorithm = "round-robin";
              break;    
           case "WEIGHTED_RR":
              lb_algorithm = "round-robin";
              break;          
           case "LEASTCONNECTION":
              lb_algorithm = "least-connections";
              break;     
           default: break;

    Utilisez la fonction EVAL suivante pour analyser la région unique au compte qui héberge les organisations et les espaces correspondants.  

        var tableWithoutDuplicates = '';
        tableWithoutDuplicates =  DuplicateRemover.removeDuplicates(${account_region},["region_name"]);
        CTX.setAttribute("account_region_unique",  tableWithoutDuplicates);

    Utilisez la fonction EVAL suivante pour obtenir des informations pour toutes les organisations affectées au compte dans le cloud IBM, où l'itération pour obtenir la région unique est effectuée.  

        var cloudcall = new CloudRestAPIClient();
        var resourceTable = ${account_region_unique[*].region_name};
        var tableSize = resourceTable.size();                                     
        var tmp_response = new Packages.java.util.ArrayList();
        var all_organizations_response = new Packages.java.util.ArrayList();
        for (var i = 0; i < tableSize ; i++){
           if  (!resourceTable.get(i)) continue;
           var url = "https://api."+resourceTable.get(i)+".bluemix.net/v2/organizations";
           tmp_response = cloudcall.arrayListExecute(${service_account}, null, url, null, 'GET', null, 'true', CTX);
           
           for (var j = 0; j < tmp_response.size(); j++){
              all_organizations_response.add('{"result":[' + tmp_response.get(j) + ']}');
           }
        }
        CTX.setAttribute("all_organizations_response", all_organizations_response);

    Utilisez la fonction EVAL suivante pour obtenir des informations pour tous les espaces affectés au compte dans le cloud IBM, où l'itération pour obtenir la région unique est effectuée.  

        var rtrn = '';
        var cloudcall = new CloudRestAPIClient();
        var resultList = new Packages.java.util.ArrayList();
        var rest = '';
        var resourceTable = ${account_region_unique[*].region_name};
        var result = new Packages.java.util.ArrayList();
        var all_organizations_response = ${all_organizations_response}
        for (var i = 0; i < resourceTable.size() ; i++){
           var url = "https://api."+resourceTable.get(i)+".bluemix.net/v2/spaces";
           result = cloudcall.arrayListExecute(${service_account}, null, url, null, 'GET', null, 'true', CTX);
           for (var z = 0; z < all_organizations_response.size(); z++){
              var jsonObj = JSON.parse(result.get(z));
              ms.log("length "+jsonObj.resources.length);
        for(var j=0;j<jsonObj.resources.length;j++){
                 var guid = jsonObj.resources[j].metadata.guid;
                 var url = jsonObj.resources[j].metadata.url;
                 var name = jsonObj.resources[j].entity.name;
                 var organization_guid = jsonObj.resources[j].entity.organization_guid;
                 var allow_ssh = jsonObj.resources[j].entity.allow_ssh ? "true" : "false";
                 var row = new Packages.java.util.HashMap();
         Packages.com.snc.sw.log.DiscoLog.getLogger("IBM Cloud Space and Org").debug(">>>>>>>>>>>>>||||||||||||>>>>>> region alias=" + resourceTable.get(i)); 
                 Packages.com.snc.sw.log.DiscoLog.getLogger("IBM Cloud Space and Org").debug(">>>>>>>>>>>>>||||||||||||>>>>>> region full name=" + IbmCloudDcToRegion.regionNamebyAlias(resourceTable.get(i))); 
                 row.put("region", IbmCloudDcToRegion.regionNamebyAlias(resourceTable.get(i)));
                 row.put("space_guid",guid);
                 row.put("space_url",url);
                 row.put("space_name",name);
                 row.put("space_organization_guid",organization_guid);
                 row.put("space_allow_ssh",allow_ssh);
                 row.put("rest", rest);
                 resultList.add(row);
              }
           }
           CTX.setAttribute('spaces_table', resultList);
        }
             
    Utilisez la fonction EVAL suivante pour filtrer tous les espaces par région unique.  

        var space_region = ${spaces_table[].region};

        Packages.com.snc.sw.log.DiscoLog.getLogger("IBM Cloud Space and Org").debug("filtering space according to LDC. space_region=" + space_region);
        var regions = ${cmdb_ci_ibm_datacenter[*].region};
        Packages.com.snc.sw.log.DiscoLog.getLogger("IBM Cloud Space and Org").debug("input regions list=" + regions.toString());

        var rtrn = "false";
        if(regions.contains(space_region)) {
            rtrn = "true";
        }
        rtrn;

    Utilisez la fonction EVAL suivante pour filtrer tous les espaces par détection de stockage.  

        var storage_response = ${storage_response};
        for (var i = 0; i < storage_response.size(); i++){
              storage_response.set(i, '{"result":[' + storage_response.get(i) + ']}');
        }
        CTX.setAttribute("storage_response", storage_response);

    Utilisez la fonction EVAL suivante pour transformer la réponse de l'API au format JSON complet, car la réponse non modifiée est formatée comme suit : \<\< \[\<resource objects\>\] \>\>.  

        var ssh_key = ${ssh_key_json};
        for(var i = 0; i < ssh_key.size(); i++){
           ssh_key.set(i,'{"result\" : ' + ssh_key.get(i) + "}");
        }
        CTX.setAttribute("ssh_key_json", ssh_key);

    Utilisez la fonction EVAL suivante pour renseigner la zone de disponibilité dans la table du volume de stockage.  

        var rtrn;
        var resource_group = ${network_storage[].resource_name};
        var regex = /.*-(\w{3}\d{2}).*/;
        var az_name = regex.exec(resource_group);
        if (az_name) {
           rtrn = az_name[1];
        } else {
           rtrn;
        }

    Utilisez la fonction EVAL suivante pour renseigner la région dans la table du volume de stockage.  

        var res = "";
        res = IbmCloudDcToRegion.convertDctoRegion(${network_storage[].availability_zone});

    Utilisez la fonction EVAL suivante pour transformer en gigaoctets la taille des stockages en octets.  

        var rtrn = '';

        var size = ${network_storage[].size};

        rtrn = (parseInt(size) * 1073741824) + '';

    Utilisez la fonction EVAL suivante pour transformer en gigaoctets la taille des stockages en octets.  

        var cloudcall = new CloudRestAPIClient();
        var resourceTable = ${network_storage[*].storage_object_id};
        var tableSize = resourceTable.size();
        var allResources = new Packages.java.util.ArrayList();
        var response = new Packages.java.util.ArrayList();
        for (var i = 0; i < tableSize ; i++){
           if  (!resourceTable.get(i)) continue;
           var url = "https://api.softlayer.com/rest/"+${api_version}+"/SoftLayer_Network_Storage/"+resourceTable.get(i)+"/getObject?objectMask=mask[snapshots]";
           // the commented out code is to call the "Cloud Rest Call" API
           
           allResources = cloudcall.arrayListExecute(${service_account}, null, url, null, 'GET', null, 'true', CTX);
           for (var j = 0; j < allResources.size(); j++){
              response.add('{"result":[' + allResources.get(j) + ']}');
           }
        }
        CTX.setAttribute("all_snapshots_response", response);

    Utilisez la fermeture EVAL suivante qui transforme le JSON reçu de l'API en un format avec lequel l'analyseur JSON peut travailler. Le JSON par défaut est enregistré dans `$vm_json_array`, le nouveau JSON se trouve dans `$vm_json`.  

        var vm_json = new Packages.java.util.ArrayList();
        vm_json.addAll(${vm_json_array});

        for (var i = 0 ; i < vm_json.size(); i++){
              vm_json.set(i, '{\"result\":[' + vm_json.get(i) + ']}');
        }

        CTX.setAttribute("vm_json", vm_json); 

    Utilisez la fermeture EVAL suivante qui renvoie la valeur \<\< on \>\> si l'alimentation est sous tension. La valeur \<\< off \>\> est renvoyée si l'alimentation est hors tension.  

        var power = ${cmdb_ci_vm_instance[].state};
        var rtrn = '';

        if (power == 'Running'){
           rtrn = "on";
        }
        else {
           rtrn = "off"
        } 

    Utilisez la fermeture EVAL suivante qui renvoie la région du CI, en fonction du nom de zone de disponibilité fourni.  

        var az = ${cmdb_ci_vm_instance[].avail_zone};
        var rtrn = '';
        rtrn = IbmCloudDcToRegion.convertDctoRegion(az);

    Utilisez la fermeture EVAL suivante qui génère un élément HashMap d'éléments HashSets, connectant les ordinateurs virtuels à leurs stockages réseau. La légende suivante est utilisée :

    * P = page
    * V = ordinateur virtuel
    * N = stockage réseau
    {#ibm-cloud-platform-discovery__ul_vdf_j2v_lhb}  

        var rtrn = '';
        var vmJson = ${vm_json_array};
        var VMtoStorageHashMap = new Packages.java.util.HashMap();

        for (var p = 0 ; p < vmJson.size(); p++){
           var page = JSON.parse(vmJson.get(p));
           for (var now_V in page){
              if (page[v].allowedNetworkStorage.length > 0){
                 var vm_id = page[v].id + '';
                 var storageSet = new Packages.java.util.HashSet();
                 for (var n in page[v].allowedNetworkStorage){
                    storageSet.add(page[v].allowedNetworkStorage[n].id + '');
                 }
                 VMtoStorageHashMap.put(vm_id,storageSet);
              }
           }
        }
        CTX.setAttribute("VMStorageCache", VMtoStorageHashMap); 

    Utilisez la fermeture EVAL suivante pour supprimer les entrées en double des tables.  

        var tableWithoutDuplicates = '';
        tableWithoutDuplicates = DuplicateRemover.removeDuplicates(${cmdb_ci_os_template},["object_id"]);
        CTX.setAttribute("cmdb_ci_os_template", tableWithoutDuplicates);

    Utilisez la fermeture EVAL suivante qui génère une liste d'ID d'ordinateurs virtuels associés à l'ID de groupe de sécurité actuel.  

        var rtrn = '';
        //get the Security Group ID of the current record in the table for comparison
        var current_table_id = ${security_groups[].sec_group_id};
        var current_table_id_string = current_table_id + '';

        // get the list of instance's ID that will be then added to Security Group table
        var needed_value_id_list = ${sec_group_network_components[*].vm_instance_id};
        //get the list of Security Group IDs in the Network Component table, which will then be compared one by one to the current record of the security_groups table
        var compare_id_list = ${sec_group_network_components[*].sec_group_id};

        var beforeReturn = '';
        var separator = '';
        for (var i = 0; i <  compare_id_list.size(); i++)   {
           
           if   (current_table_id_string == compare_id_list.get(i)){
              
              beforeReturn += separator + needed_value_id_list.get(i);
              separator = ',';
           }
        }
        rtrn = beforeReturn;

    Utilisez la fermeture EVAL suivante qui génère un élément HashMap d'élément HashSet entre les groupes de sécurité et les ordinateurs virtuels configurés pour les utiliser.  

        rtrn = '';
        var secGroupTable = ${cmdb_ci_endpoint_comp_security};
        var secToVMHashSet = new Packages.java.util.HashMap();

        // this loop worst case O(N*M) M = security groups, N = VMs
        for(var i=0; i<secGroupTable.size(); i++){
           var securityTableId = secGroupTable.get(i).get('object_id');
           var vmListStr = secGroupTable.get(i).get('instance_list');
           var vmList = vmListStr.split(",");

           var vmSet = new Packages.java.util.HashSet();
           for (var j in vmList){
              vmSet.add(vmList[j]);
           }

           secToVMHashSet.put(securityTableId,vmSet);
        }
        CTX.setAttribute("securityVMCache",  secToVMHashSet);

    Utilisez la fermeture EVAL suivante qui renvoie \<\< true \>\> si l'ordinateur virtuel actuel utilise l'ID de groupe de sécurité actuel.  

        var rtrn = '';
        var vm_id = ${cmdb_ci_vm_instance[].object_id};
        var vmHashSet = ${securityVMCache}.get(${cmdb_ci_endpoint_comp_security[].object_id});
        rtrn = vmHashSet.contains(vm_id);

    Utilisez la fermeture EVAL suivante qui renvoie \<\< true \>\> si l'ordinateur virtuel actuel utilise le volume de stockage actuel.  

        var rtrn = '';
        var vm_id = ${cmdb_ci_vm_instance[].object_id};
        var vol_id = ${cmdb_ci_endpoint_iscsi[].object_id};
        var vmHashSet = ${VMStorageCache}.get(vm_id);
        if (vmHashSet){
           rtrn = vmHashSet.contains(vol_id);
        }
        else {
           rtrn = 'false'
        }

    Utilisez la fonction EVAL suivante pour transformer la réponse de l'API au format JSON complet, car la réponse non modifiée est formatée comme suit : \<\< \[\<resource objects\>\] \>\>.

        var cloud_response = ${location_groups_response}
        for (var i = 0; i < cloud_response.size(); i++){
            cloud_response.set(I, '{"result":[' + cloud_response.get(i) + ']}');
        }
        CTX.setAttribute("location_groups_response", cloud_response);

    Analyse les groupes d'emplacement uniques dans la table \<\< location_groups_az \>\> en fonction de la colonne \<\< lg_id \>\> et crée une table \<\< location_groups_az_unique \>\> qui contient le résultat.

        var tableWithoutDuplicates= '';
        tableWithoutDuplicates = DuplicateRemover.removeDuplicates(${location_groups_az},["lg_id"]);
        CTX.setAttribute("location_groups_az_unique", tableWithoutDuplicates);

    Crée une liste de zones de disponibilité par groupe d'emplacement, qui est stockée dans une nouvelle colonne de la table location_groups_az_unique. Les enregistrements de la liste sont volontairement séparés par des virgules, de sorte que des relations uniques puissent être établies lors des étapes suivantes.

        var current_table_id= ${location_groups_az_unique[].lg_id};
        var current_table_id_string = current_table_id+ '';
        var needed_v alue_id_list = ${location_groups_az[*].lg_az_id};
        var compare_id_list= ${location_groups_az[*].lg_id};
        var beforeReturn= '';
        var separator = ',';
        for (var i= 0; i< compare_id_list.size(); i++)  {
            if (current_table_id_string == compare_id_list.get(i)){
            beforeReturn += separator + needed_v alue_id_list.get(i) + separator;
          }
        }
        rtrn = beforeReturn;

Activer les relations CI liées au cloud
:   Pour inclure les composants détectés dans les services d'application, activez les relations CI utilisées dans la détection basée sur les balises par Mappage des services. Ces relations CI sont disponibles à partir de la version 1.0.68 sur ServiceNow Store. Pour les étapes opérationnelles, consultez la rubrique [Configuration de la détection basée sur les balises](https://servicenow-prod.fluidtopics.net/FkOyZekEUW0mOZwyN6mh4A "Vous pouvez affiner la configuration par défaut pour contrôler quels CI sont inclus dans les Mappage des services services d’application pendant le processus de détection basé sur les balises.").

## Données collectées par Découverte lors d'une détection horizontale {#ibm-cloud-platform-discovery__section_zdq_vwz_ghb}

Les données sont collectées à l'aide des modèles suivants :

* Équilibreur de charge IBM Cloud
* Groupes d'emplacements IBM Cloud
* Réseau IBM Cloud
* Organisations et espaces IBM Cloud
* Groupes de ressources IBM Cloud
* Clé SSH IBM Cloud
* Stockage IBM Cloud
* Serveur virtuel IBM Cloud
{#ibm-cloud-platform-discovery__ul_pmq_bnt_3hb}  
Données collectées pour les composants IBM :

Ressources détectées de l'équilibreur de charge IBM Cloud
:   {#ibm-cloud-platform-discovery__table_o21_dlv_2hb__entry__2}

    | Champ | Description |
    |-|-|
    | CI principal : cmdb_ci_cloud_load_balancer ||
    | nom | Nom de l'équilibreur de charge. |
    | object_id | Identificateur unique de l'équilibreur de charge. |
    | fqdn | Adresse de l'équilibreur de charge (nom d'hôte). |
    | dns_name | Nom de serveur du domaine de l'équilibreur de charge. |
    | short_description | Description de l'équilibreur de charge que vous fournissez pour une identification facile. |
    | operational_status | État de l'équilibreur de charge, l'un des deux : * EN LIGNE * HORS LIGNE {#ibm-cloud-platform-discovery__ul_kqp_xwv_jhb} |
    | emplacement | Emplacement du centre de données. |
    | État | État de mise en service de l'équilibreur de charge. |
    | CI associé : cmdb_ci_lb_service ||
    | nom | Nom du modèle créé, composé des éléments suivants : * Nom de l'équilibreur de charge * Type de protocole * Écouteur de type de ressource {#ibm-cloud-platform-discovery__ul_bwh_l5x_khb} |
    | object_id | Identificateur unique de l'équilibreur de charge. |
    | port | Numéro de port de l'écouteur. |
    | front_end_port | Numéro de port de protocole de l'écouteur. |
    | listener_protocol | Protocole de l'écouteur. L'un des protocoles suivants : * TCP * HTTP * HTTPS {#ibm-cloud-platform-discovery__ul_c2c_5wt_3hb} |
    | operational_status | État de mise en service de l'écouteur. |
    | CI associé : cmdb_ci_lb_pool ||
    | nom | Nom du modèle créé, composé des éléments suivants : * Nom de l'équilibreur de charge * Type de protocole * port * Type de ressource \<\< pool \>\> {#ibm-cloud-platform-discovery__ul_aqn_r1y_khb} |
    | object_id | Identificateur unique du pool d'équilibreurs de charge. |
    | port | Port du protocole du back-end. |
    | pool_status | État de mise en service du pool d'équilibreurs de charge. |
    | load_balancing_method | Méthode d'équilibrage de charge. L'un des algorithmes suivants : * \<\< ROUNDROBIN \>\> * \<\< WEIGHTED_RR \>\> * \<\< LEASTCONNECTION \>\> {#ibm-cloud-platform-discovery__ul_f4f_rzt_3hb} |
    | CI associé : cmdb_ci_lb_pool_member ||
    | nom | Nom du modèle créé, composé des éléments suivants : * Nom de l'équilibreur de charge * Type de protocole * Adresse IP du membre du pool {#ibm-cloud-platform-discovery__ul_bxl_5cy_khb} |
    | object_id | Identificateur unique du membre du pool d'équilibreurs de charge, composé des éléments suivants : * ID de membre * ID d'écouteur {#ibm-cloud-platform-discovery__ul_tkx_xcy_khb} |
    | ip_address | Adresse IP d'un membre d'équilibreur de charge. |
    | server_id | ID du membre dans IBM Cloud. |
    | load_balancer | Nom de l'équilibreur de charge associé. |
    | CI associé : cmdb_ci_lb_health_service ||
    | nom | Nom du modèle créé, composé des éléments suivants : * Nom de l'équilibreur de charge * Type de protocole * Type de ressource : vérification de l'intégrité * ID de ressource {#ibm-cloud-platform-discovery__ul_k2w_1dy_khb} |
    | object_id | Identificateur unique de la vérification du service d'intégrité. |
    | monitor_type | Type de vérification de l'intégrité. L'un des éléments suivants : * TCP * HTTP * HTTPS {#ibm-cloud-platform-discovery__ul_epn_lb5_3hb} |
    | timeout_sec | Délai d'expiration, en secondes, avant les réponses de vérification d'intégrité. |
    | check_interval_sec | Intervalle, en secondes, pour réaliser la vérification de l'intégrité. |
    [ ]

    {#ibm-cloud-platform-discovery__table_o21_dlv_2hb}

Ressources détectées des groupes d'emplacement IBM Cloud
:   {#ibm-cloud-platform-discovery__table_location_groups__entry__2}

    | Champ | Description |
    |-|-|
    | CI principal : cmdb_ci_cloud_location_group ||
    | nom | Un nom descriptif utilisé pour identifier un groupe d'emplacement. |
    | object_id | L'ID de l'enregistrement du groupe d'emplacement. |
    | locationGroupType Name | Le nom du type de groupe d'emplacement. |
    | short_description | Une petite note sur un groupe d'emplacement à utiliser à votre discrétion. |
    | ID du type locationGroup | L'ID du type de groupe d'emplacement. |
    [ ]

    {#ibm-cloud-platform-discovery__table_location_groups}

Ressources détectées du réseau IBM Cloud
:   {#ibm-cloud-platform-discovery__table_wlf_ybx_jhb__entry__2}

    | Champ | Description |
    |-|-|
    | CI principal : cmdb_ci_network ||
    | nom | Numéro VLAN. |
    | object_id | Identificateur unique du réseau. |
    | access_port_vlan | Numéro VLAN. |
    | is_external | Valeur d'espace réseau. La valeur est soit : * \<\< true \>\> si l'élément network_space est \<\< PUBLIC \>\> * \<\< false \>\> si l'élément network_space est \<\< PRIVÉ \>\>. {#ibm-cloud-platform-discovery__ul_sz1_tjx_jhb} |
    | État | L'état a la valeur \<\< disponible \>\>. |
    | CI associé : cmdb_ci_cloud_subnet ||
    | nom | Nom, composé de : \<\< network_identifier/cidr \>\> |
    | object_id | Identificateur unique de sous-réseau. |
    | subnet_mask | Masque réseau du sous-réseau. |
    | gateway | Adresse IP de passerelle. |
    | cidr | Méthode d'allocation des adresses IP et d'acheminement IP : \<\< network_identifier/cidr \>\>. |
    | category | Type de sous-réseau. |
    | broadcast_address | Adresse de diffusion du sous-réseau. |
    | available_ip_count | Nombre d'adresses IP disponibles dans le sous-réseau. |
    | CI associé : cmdb_ci_compute_security_group ||
    | nom | Nom du groupe de sécurité. |
    | object_id | Identificateur unique du groupe de sécurité. |
    | short_description | Description du groupe de sécurité que vous fournissez pour faciliter l'identification. |
    | CI associé : cmdb_ci_compute_security_group_rule ||
    | nom | Champ avec la même valeur que le champ object_id de la règle de groupe de sécurité. |
    | object_id | Identificateur unique de la règle de groupe de sécurité. |
    | created | Date de création du CI. |
    | direction | Direction de l'information. L'un des éléments suivants : * Entrante * Sortante {#ibm-cloud-platform-discovery__ul_zqw_vny_jhb} |
    | Ethertype | Ethertype. L'un des éléments suivants : * IPv4 * IPv6 {#ibm-cloud-platform-discovery__ul_jyf_zny_jhb} |
    | port_range_min | Le premier port de la plage à laquelle la règle s'applique. |
    | port_range_max | Le dernier port de la plage à laquelle la règle s'applique. |
    | protocol | Protocole auquel la règle est appliquée. |
    | remote_group_id | ID du groupe de sécurité pour le groupe de sécurité source/de destination. Cela signifie que cette règle s'applique à toutes les adresses IP qui ont été configurées dans ce groupe de sécurité. |
    [ ]

    {#ibm-cloud-platform-discovery__table_wlf_ybx_jhb}

Ressources détectées des organisations et espaces IBM Cloud
:   {#ibm-cloud-platform-discovery__table_vbc_2cx_jhb__entry__2}

    | Champ | Description |
    |-|-|
    | CI principal : cmdb_ci_cloud_org ||
    | nom | Nom de l'organisation dans le cloud. |
    | guid | Identificateur unique de l'organisation. |
    | URL | URL unique de l'organisation. |
    | billing_enabled | Méthode de facturation utilisée par l'organisation. L'une des deux options suivantes : * Activée / (TRUE) * Désactivée / (FALSE) {#ibm-cloud-platform-discovery__ul_ngl_rpy_jhb} |
    | quota_definition_url | Ressources disponibles pour une organisation. |
    | spaces_url | URL unique de l'espace affecté à l'organisation. |
    | operational_status | État opérationnel de l'organisation. |
    | CI associé : cmdb_ci_cloud_space ||
    | nom | Nom unique de l'espace. |
    | object_id | Identificateur unique de l'espace (GUID). |
    | alllow_ssh | L'accès à l'application via SSH est autorisé ou non. Variable booléenne, l'une des deux options suivantes : * TRUE * FAUX {#ibm-cloud-platform-discovery__ul_dmk_yzn_lhb} |
    | URL | URL de l'espace à partir de la description des métadonnées. |
    [ ]

    {#ibm-cloud-platform-discovery__table_vbc_2cx_jhb}

Ressources détectées des groupes de ressources IBM Cloud
:   {#ibm-cloud-platform-discovery__table_ezd_1k1_xhb__entry__2}

    | Champ | Description |
    |-|-|
    | CI principal : cmdb_ci_resource_group ||
    | nom | Nom du groupe de ressources. |
    | object_id | Identificateur unique du groupe de ressources. |
    | quota_id | Valeur identifiant l'ID de quota associé au groupe de ressources. |
    [ ]

    {#ibm-cloud-platform-discovery__table_ezd_1k1_xhb}

Ressources détectées de la clé SSH IBM Cloud
:   {#ibm-cloud-platform-discovery__table_v5p_tdx_jhb__entry__2}

    | Champ | Description |
    |-|-|
    | CI principal : cmdb_ci_cloud_key_pair ||
    | nom | Nom pour identifier une clé SSH. |
    | object_id | ID de l'enregistrement de la clé SSH. |
    | key | Enregistrement de clé SSH. |
    | finger_print | Courte séquence d'octets utilisée pour authentifier ou rechercher une clé SSH plus longue. Cette valeur est générée automatiquement lors de l'ajout ou de la modification de la clé SSH. Lecture seule. Les changements effectués sont ignorés. |
    | created _date | Date à laquelle la clé SSH a été ajoutée. Lecture seule. Les changements effectués sont ignorés. |
    | modify_date | Date à laquelle la clé SSH a été modifiée. Lecture seule. Les changements effectués sont ignorés. |
    | short_description | Description SSH que vous fournissez pour faciliter l'identification. |
    | CI associé : cmdb_ci_ibm_datacenter ||
    | nom | Nom du centre de données. |
    | région | Région dans laquelle se trouve le centre de données. |
    | discovery_status | Informations sur l'état du centre de données IBM. |
    | sys_class_name | Classe du centre de données |
    | CI associé : cmdb_ci_cloud_service_account ||
    | nom | Nom du compte de services dans le cloud. |
    | account_id | ID de compte pour ce compte de services dans le cloud. |
    | discovery_credentials | Informations d'identification pour ce compte de services dans le cloud. |
    | datacenter_url | URL utilisée pour renseigner les centres de données logiques (LDC). |
    | datacenter_type | Type de centre de données. Par exemple, Centre de données IBM \[cmdb_ci_ibm_datacenter\] |
    | datacenter_discovery_status | État de la dernière exécution de la fonction Détecter les centres de données. |
    [ ]

    {#ibm-cloud-platform-discovery__table_v5p_tdx_jhb}

Ressources détectées du stockage IBM Cloud
:   {#ibm-cloud-platform-discovery__table_zd3_wdx_jhb__entry__2}

    | Champ | Description |
    |-|-|
    | CI principal : cmdb_ci_storage_volume ||
    | nom | Nom d'utilisateur utilisé pour : * Accéder à un volume de stockage non EVault * Enregistrer l'agent de serveur EVault avec le système de copie de sauvegarde du coffre. {#ibm-cloud-platform-discovery__ul_cjk_4gd_khb} |
    | object_id | Identificateur unique du compte de stockage. |
    | size | Capacité du compte de stockage, mesurée en gigaoctets. |
    | size_bytes | Capacité du compte de stockage, mesurée en octets. |
    | étiquette | Nom de la ressource réseau de stockage. |
    | storage_type | Description du type de stockage. Par exemple, NAS. |
    | fqdn | Adresse IP d'une ressource de stockage ou d'un nom de domaine complet. |
    | appareil | Numéro d'identification unique de l'appareil associé à un volume de stockage. |
    | CI associé : cmdb_ci_storage_vol_snapshot ||
    | nom | Nom d'une ressource réseau de stockage. |
    | object_id | Identificateur unique de stockage. |
    | capacity | Capacité du volume de l'instantané en gigaoctets. |
    | fqdn | Adresse IP d'une ressource de stockage ou d'un nom de domaine complet. |
    | emplacement | Zone de disponibilité unique où se trouve le volume de stockage. |
    | CI associé : cmdb_ci_ibm_datacenter ||
    | nom | Nom du centre de données. |
    | région | Région dans laquelle se trouve le centre de données. |
    | discovery_status | Informations sur l'état du centre de données IBM. |
    | sys_class_name | Classe du centre de données |
    | CI associé : cmdb_ci_cloud_service_account ||
    | nom | Nom du compte de services dans le cloud. |
    | account_id | ID de compte pour ce compte de services dans le cloud. |
    | discovery_credentials | Informations d'identification pour ce compte de services dans le cloud. |
    | datacenter_url | URL utilisée pour renseigner les LDC. |
    | datacenter_type | Type de centre de données. Par exemple, Centre de données IBM \[cmdb_ci_ibm_datacenter\] |
    | datacenter_discovery_status | État de la dernière exécution de la fonction Détecter les centres de données. |
    | CI associé : cmdb_ci_availability_zone ||
    | nom | Nom de la zone de disponibilité. |
    | object_id | Identificateur unique de cette ressource. |
    | short_description | Description de la zone de disponibilité que vous fournissez. |
    [ ]

    {#ibm-cloud-platform-discovery__table_zd3_wdx_jhb}

Ressources détectées du serveur virtuel IBM Cloud
:   {#ibm-cloud-platform-discovery__table_njj_ydx_jhb__entry__2}

    | Champ | Description |
    |-|-|
    | CI principal : cmdb_ci_vm_instance ||
    | nom | Nom de l'ordinateur virtuel. |
    | object_id | Identificateur unique de l'ordinateur virtuel. |
    | dns_domain | Nom du serveur de domaine de l'ordinateur virtuel. |
    | fqdn | Adresse IP de l'ordinateur virtuel. |
    | short_description | Description dans une note jointe à l'ordinateur virtuel sur la console IBM. |
    | cpus | Nombre de cœurs de processeur affectés à cet ordinateur virtuel. |
    | memory | Taille de la mémoire affectée à cet ordinateur virtuel. |
    | disks | Nombre de disques affectés à cet ordinateur virtuel. |
    | État | L'état d'exécution de l'ordinateur virtuel. * Activé - L'API renvoie la valeur \<\< En cours d'exécution \>\>. * Désactivé - L'API renvoie la valeur \<\< Arrêté \>\>. {#ibm-cloud-platform-discovery__ul_dyp_xt4_n3b} |
    | placement_group_id | ID de groupe d'emplacements. |
    | nics | Nombre de cartes réseau. |
    | CI associé : cmdb_ci_nic ||
    | nom | Nom, composé des éléments suivants : * Nom de l'équilibreur de charge * Port {#ibm-cloud-platform-discovery__ul_bxv_2dy_khb} |
    | object_id | Identificateur unique de la carte réseau. |
    | ip_address | Adresse IP configurée sur la carte réseau. |
    | mac_address | Détails MAC sur la carte réseau. |
    | netmask | Masque utilisé pour diviser l'adresse IP en sous-réseaux et spécifier les hôtes disponibles dans le réseau. |
    | état | État de la carte réseau. |
    | CI associé : cmdb_ci_endpoint_vnic ||
    | nom | Nom du point de terminaison de carte réseau virtuelle. |
    | object_id | Identificateur unique du point de terminaison de carte réseau virtuelle. |
    | host | Identificateur d'hôte. |
    | CI associé : cmdb_ci_storage_volume ||
    | nom | Nom d'utilisateur utilisé pour : * Accéder à un volume de stockage non EVault * Enregistrer l'agent de serveur EVault avec le système de copie de sauvegarde du coffre. {#ibm-cloud-platform-discovery__ul_j1n_ktd_khb} |
    | object_id | Identificateur unique du compte de stockage. |
    | size | Capacité du compte de stockage, mesurée en gigaoctets. |
    | size_bytes | Capacité du compte de stockage, mesurée en octets. |
    | étiquette | Nom de la ressource réseau de stockage. |
    | storage_type | Description du type de stockage. Par exemple, NAS. |
    | fqdn | Adresse IP d'une ressource de stockage ou d'un nom de domaine complet. |
    | appareil | Numéro d'identification unique de l'invité associé à un volume de stockage. |
    | CI associé : cmdb_ci_endpoint_nfs ||
    | nom | Nom du point de terminaison NFS. |
    | host | Identificateur d'hôte. |
    | protocol | Protocole qui a été appliqué. |
    | type | Type de point de terminaison NFS. |
    | created | Date de création du point de terminaison NFS. |
    | mises à jour | Date de mise à jour du point de terminaison NFS. |
    | discovery_source | Source de la détection. Par exemple, ServiceWatch |
    | host_name | Nom d'hôte du point de terminaison NFS |
    | CI associé : cmdb_ci_endpoint_iscsi ||
    | host | Identificateur d'hôte pour le point de terminaison ISCSI. |
    | port | Port permettant de déterminer la façon dont GCP iscsi contacte les ordinateurs virtuels. |
    | protocol | Protocole qui a été appliqué. |
    | type | Type de point de terminaison ISCSI |
    | created | Date de création du point de terminaison ISCSI. |
    | mises à jour | Date de mise à jour du point de terminaison ISCSI. |
    | discovery_source | Source de la détection. Par exemple, ImportSet |
    | host_name | Nom d'hôte du point de terminaison ISCSI |
    | CI associé : cmdb_ci_endpoint_block ||
    | nom | Nom du point de terminaison de bloc. |
    | object_id | Identificateur unique du point de terminaison de bloc. |
    | host | Identificateur d'hôte. |
    | CI associé : cmdb_ci_os_template ||
    | nom | Nom de l'image. Par exemple, \<\< CentOS 7.0-64 au minimum pour VSI \>\>. |
    | object_id | Identificateur unique de l'image. |
    | guest_os | Système d'exploitation utilisé par l'image. Par exemple, Linux. |
    | root_device_type | Type d'appareil utilisé par racine. |
    | image_source | Source de l'image. |
    | image_type | Type d'image. |
    | infuse_key | Clé utilisée pour ajouter l'image. |
    | update_host_name | Mettez à jour le nom d'hôte de l'image. |
    | credentials | Informations d'identification pour l'image. |
    | version | Version du système d'exploitation. Par exemple, \<\< 7.0-64 au minimum pour VSI \>\>. |
    | CI associé : cmdb_ci_cloud_key_pair ||
    | nom | Nom pour identifier une clé (étiquette de clé). |
    | object_id | ID de l'enregistrement de la clé. |
    | key | Enregistrement de la clé. |
    | finger_print | Courte séquence d'octets utilisée pour authentifier ou rechercher une clé. Cette valeur est générée automatiquement lors de l'ajout ou de la modification de la clé. Lecture seule. Les changements effectués sont ignorés. |
    | created _date | Date à laquelle la clé a été ajoutée. Lecture seule. Les changements effectués sont ignorés. |
    | modify_date | Date à laquelle la clé a été modifiée. Lecture seule. Les changements effectués sont ignorés. |
    | short_description | Description que vous fournissez pour faciliter l'identification. |
    | CI associé : cmdb_ci_compute_security_group ||
    | nom | Nom du groupe de sécurité. |
    | object_id | Identificateur unique du groupe de sécurité. |
    | short_description | Description du groupe de sécurité que vous fournissez pour faciliter l'identification. |
    | CI associé : cmdb_ci_endpoint_comp_security ||
    | host | Identificateur d'hôte du point de terminaison de sécurité de calcul. |
    | port | Identificateur unique du point de terminaison de sécurité de calcul. |
    | protocol | Protocole qui a été appliqué. |
    | type | Type de point de terminaison de sécurité de calcul. |
    | created | Date à laquelle le point de terminaison de sécurité de calcul a été ajouté. Lecture seule. Les changements effectués sont ignorés. |
    | mises à jour | Date à laquelle le point de terminaison de sécurité de calcul a été modifié. Lecture seule. Les changements effectués sont ignorés. |
    | discovery_source | Source de la détection. Par exemple, Entrée manuelle. |
    | host_name | Nom d'hôte du point de terminaison de sécurité de calcul. |
    | CI associé : cmdb_ci_ibm_datacenter ||
    | nom | Nom du centre de données. |
    | région | Région dans laquelle se trouve le centre de données. |
    | discovery_status | Informations sur l'état du centre de données IBM. |
    | sys_class_name | Classe du centre de données |
    | CI associé : cmdb_ci_availability_zone ||
    | nom | Nom de la zone de disponibilité. |
    | object_id | Identificateur unique de cette ressource. |
    | short_description | Description de la zone de disponibilité que vous fournissez. |
    | CI associé : cmdb_ci_cloud_service_account ||
    | nom | Nom du compte de services dans le cloud. |
    | account_id | ID de compte pour ce compte de services dans le cloud. |
    | discovery_credentials | Informations d'identification pour ce compte de services dans le cloud. |
    | datacenter_url | URL utilisée pour renseigner les LDC. |
    | datacenter_type | Type de centre de données. Par exemple, Centre de données IBM \[cmdb_ci_ibm_datacenter\] |
    | datacenter_discovery_status | État de la dernière exécution de la fonction Détecter les centres de données. |
    [ ]

    {#ibm-cloud-platform-discovery__table_njj_ydx_jhb}

Serveur virtuel IBM Cloud - Vue des éléments associés
:

## Relations CI {#ibm-cloud-platform-discovery__section_kzg_xwz_ghb}

Ces relations sont créées pour prendre en charge la détection de plateforme IBM Cloud.

Relations pour les ressources détectées de l'équilibreur de charge IBM Cloud
:   {#ibm-cloud-platform-discovery__table_vkt_ywd_rdb__entry__3}

    | CI | Relation | CI |
    |-|-|-|
    | CI associé : cmdb_ci_ibm_datacenter |||
    | cmdb_ci_ibm_datacenter | Hosted on::Hosts | cmdb_ci_cloud_service_account |
    | cmdb_ci_ibm_datacenter | Contains::Contained by | cmdb_ci_availability_zone |
    | CI associé : cmdb_ci_cloud_load_balancer |||
    | cmdb_ci_cloud_load_balancer | Hosted on::Hosts | cmdb_ci_ibm_datacenter |
    | cmdb_ci_cloud_load_balancer | Contains::Contained by | cmdb_ci_lb_health_service |
    | CI associé : cmdb_ci_availability_zone |||
    | cmdb_ci_availability_zone | Hébergé sur : Hôtes | cmdb_ci_cloud_load_balancer |
    | cmdb_ci_availability_zone | Contains::Contained by | cmdb_ci_lb_service |
    | CI associé : cmdb_ci_lb_service |||
    | cmdb_ci_lb_service | Hosted on::Hosts | cmdb_ci_cloud_load_balancer |
    | cmdb_ci_lb_service | Contains::Contained by | cmdb_ci_lb_pool |
    | CI associé : cmdb_ci_lb_pool |||
    | cmdb_ci_lb_pool | Hosted on::Hosts | cmdb_ci_cloud_load_balancer |
    | cmdb_ci_lb_pool | Owns::Owned by | cmdb_ci_lb_pool_member |
    | CI associé : cmdb_ci_lb_health_service |||
    | cmdb_ci_lb_health_service | Contains::Contained by | cmdb_ci_cloud_load_balancer |
    [ ]

    {#ibm-cloud-platform-discovery__table_vkt_ywd_rdb}

Relations pour les ressources détectées des groupes d'emplacement IBM Cloud
:   {#ibm-cloud-platform-discovery__table_e2b_t1b_xhb__entry__3}

    | CI | Relation | CI |
    |-|-|-|
    | CI associé : cmdb_ci_ibm_datacenter |||
    | cmdb_ci_ibm_datacenter | Hosted on::Hosts | cmdb_ci_cloud_service_account |
    | cmdb_ci_ibm_datacenter | Contains::Contained by | cmdb_ci_availability_zone |
    | CI associé : cmdb_ci_cloud_location_group |||
    | cmdb_ci_cloud_location_group | Hébergé sur : Hôtes | cmdb_ci_cloud_service_account |
    | cmdb_ci_cloud_location_group | Contains::Contained by | cmdb_ci_availability_zone |
    [ ]

    {#ibm-cloud-platform-discovery__table_e2b_t1b_xhb}

Relations pour les ressources détectées du réseau IBM Cloud
:   {#ibm-cloud-platform-discovery__table_lpw_y2x_jhb__entry__3}

    | CI | Relation | CI |
    |-|-|-|
    | CI associé : cmdb_ci_ibm_datacenter |||
    | cmdb_ci_ibm_datacenter | Hosted on::Hosts | cmdb_ci_cloud_service_account |
    | cmdb_ci_ibm_datacenter | Contains::Contained by | cmdb_ci_availability_zone |
    | CI associé : cmdb_ci_network |||
    | cmdb_ci_network | Hébergé sur : Hôtes | cmdb_ci_ibm_datacenter |
    | cmdb_ci_network | Contains::Contained by | cmdb_ci_cloud_subnet |
    | CI associé : cmdb_ci_compute_security_group |||
    | cmdb_ci_compute_security_group | Hosted on::Hosts | cmdb_ci_cloud_service_account |
    | cmdb_ci_compute_security_group | Contains::Contained by | cmdb_ci_compute_security_group_rule |
    [ ]

    {#ibm-cloud-platform-discovery__table_lpw_y2x_jhb}

Relations pour les ressources détectées des groupes de ressources IBM Cloud
:   {#ibm-cloud-platform-discovery__table_lmb_yk1_xhb__entry__3}

    | CI | Relation | CI |
    |-|-|-|
    | CI associé : cmdb_ci_resource_group |||
    | cmdb_ci_resource_group | Hébergé sur : Hôtes | cmdb_ci_cloud_service_account |
    [ ]

    {#ibm-cloud-platform-discovery__table_lmb_yk1_xhb}

Relations pour les ressources détectées de la clé SSH IBM Cloud
:   {#ibm-cloud-platform-discovery__table_b3t_2fx_jhb__entry__3}

    | CI | Relation | CI |
    |-|-|-|
    | CI associé : cmdb_ci_ibm_datacenter |||
    | cmdb_ci_ibm_datacenter | Hosted on::Hosts | cmdb_ci_cloud_service_account |
    | cmdb_ci_ibm_datacenter | Contains::Contained by | cmdb_ci_availability_zone |
    | CI associé : cmdb_ci_cloud_key_pair |||
    | cmdb_ci_cloud_key_pair | Hosted on::Hosts | cmdb_ci_cloud_service_account |
    [ ]

    {#ibm-cloud-platform-discovery__table_b3t_2fx_jhb}

Relations pour les ressources détectées du stockage IBM Cloud
:   {#ibm-cloud-platform-discovery__table_u5s_gfx_jhb__entry__3}

    | CI | Relation | CI |
    |-|-|-|
    | CI associé : cmdb_ci_ibm_datacenter |||
    | cmdb_ci_ibm_datacenter | Hosted on::Hosts | cmdb_ci_cloud_service_account |
    | cmdb_ci_ibm_datacenter | Contains::Contained by | cmdb_ci_availability_zone |
    | CI associé : cmdb_ci_storage_volume |||
    | cmdb_ci_storage_volume | Hosted on::Hosts | cmdb_ci_ibm_datacenter |
    | cmdb_ci_storage_volume | Provisioned::Provisioned From | cmdb_ci_storage_vol_snapshot |
    | CI associé : cmdb_ci_storage_vol_snapshot |||
    | cmdb_ci_storage_vol_snapshot | Hosted on::Hosts | cmdb_ci_ibm_datacenter |
    | cmdb_ci_storage_vol_snapshot | Located in Zone::Zone contains | cmdb_ci_availability_zone |
    | CI associé : cmdb_ci_availability_zone |||
    | cmdb_ci_availability_zone | Contains::Contained by | cmdb_ci_storage_volume |
    [ ]

    {#ibm-cloud-platform-discovery__table_u5s_gfx_jhb}

Relations pour les ressources détectées du serveur virtuel IBM Cloud
:   {#ibm-cloud-platform-discovery__table_s4m_3fx_jhb__entry__3}

    | CI | Relation | CI |
    |-|-|-|
    | CI associé : cmdb_ci_ibm_datacenter |||
    | cmdb_ci_ibm_datacenter | Hosted on::Hosts | cmdb_ci_cloud_service_account |
    | cmdb_ci_ibm_datacenter | Contains::Contained by | cmdb_ci_availability_zone |
    | cmdb_ci_ibm_datacenter | Hébergé sur : Hôtes | cmdb_ci_vm_instance |
    | CI associé : cmdb_ci_vm_instance |||
    | cmdb_ci_vm_instance | Hosted on::Hosts | cmdb_ci_ibm_datacenter |
    | cmdb_ci_vm_instance | Located in:Houses | cmdb_ci_availability_zone |
    | cmdb_ci_vm_instance | Uses:Used By | cmdb_ci_cloud_key_pair |
    | cmdb_ci_vm_instance | Contains:Contained By | cmdb_ci_nic |
    | cmdb_ci_vm_instance | endpoint | cmdb_ci_nic |
    | CI associé : cmdb_ci_availability_zone |||
    | cmdb_ci_availability_zone | Hébergé sur : Hôtes | cmdb_ci_vm_instance |
    | CI associé : cmdb_ci_nic |||
    | cmdb_ci_nic | Hébergé sur : Hôtes | cmdb_ci_vm_instance |
    | CI associé : cmdb_ci_os_template |||
    | cmdb_ci_os_template | Hosted on::Hosts | cmdb_ci_cloud_service_account |
    | cmdb_ci_os_template | Provisioned::Provisioned by | cmdb_ci_vm_instance |
    | CI associé : cmdb_ci_compute_security_group |||
    | cmdb_ci_compute_security_group | Hosted on::Hosts | cmdb_ci_cloud_service_account |
    | cmdb_ci_compute_security_group | Implement::Implemented from | cmdb_ci_vm_instance |
    | CI associé : cmdb_ci_storage_volume |||
    | cmdb_ci_storage_volume | Hosted on::Hosts | cmdb_ci_ibm_datacenter |
    | cmdb_ci_storage_volume | Implement::Implemented from | cmdb_ci_vm_instance |
    | CI associé : cmdb_ci_cloud_key_pair |||
    | cmdb_ci_cloud_key_pair | Hosted On:Hosts | cmdb_ci_cloud_service_account |
    [ ]

    {#ibm-cloud-platform-discovery__table_s4m_3fx_jhb}

Relations détectées pour l'instance d'ordinateur virtuel
:   {#ibm-cloud-platform-discovery__table_vdw_x45_3mb__entry__3}

    | CI | Relation | CI |
    |-|-|-|
    | Serveurs \[cmdb_ci_server\] | Virtualized by:: Virtualizes | Instance d'ordinateur virtuel \[cmdb_ci_instance\] |
    [ ]

    {#ibm-cloud-platform-discovery__table_vdw_x45_3mb}

## Données collectées par Mappage des services lors de la détection basée sur les balises {#ibm-cloud-platform-discovery__section_mtq_js983ubg_ppb}

Mappage des services utilise la détection basée sur les balises pour créer des cartes de service d'application, y compris les composants dans le cloud. L'application Mappage des services est livrée avec les relations CI préconfigurées suivantes utilisées pour la détection basée sur les balises. Ces relations CI sont disponibles à partir de la version 1.0.68 sur ServiceNow Store. {#ibm-cloud-platform-discovery__id_yqp_xhy_qpb__entry__3}

| CI | Relation | CI |
|-|-|-|
| Élément de configuration \[cmdb_ci\] | Hébergé sur::Hôtes | Centre de données logique \[cmdb_ci_logical_datacenter\] |
| Centre de données logique \[cmdb_ci_logical_datacenter\] | Hébergé sur::Hôtes | Compte de services dans le cloud \[cmdb_ci_cloud_service_account\] |
[ ]

{#ibm-cloud-platform-discovery__id_yqp_xhy_qpb}

## Dépannage {#ibm-cloud-platform-discovery__section_sf2_nsj_yhb}

Si le processus de mappage ne se déroule pas comme prévu, suivez les suggestions ci-après.{#ibm-cloud-platform-discovery__table_ggn_ypj_yhb__entry__3}

| Symptôme | Cause | Solution |
|-|-|-|
| Échec de la détection. Le message de détection fait état d'une erreur liée au délai d'expiration de REST. | De nombreux CI envoient la réponse d'appel REST dans le déploiement. Le Serveur MID ne peut pas traiter la réponse d'appel REST sans dépasser la limite de temps contrôlée par le paramètre mid.sa.cloud.request_timeout. | Par défaut, le paramètre mid.sa.cloud.request_timeout est défini sur 30 000 millisecondes. Augmentez la valeur de ce paramètre sur le Serveur MID pertinent et relancez la détection. Remarque : Si la liste connexe Paramètres de configuration pour le Serveur MID pertinent n'affiche pas ce paramètre, vous devrez peut-être l'ajouter. |
| Concepteur de modèle échoue lors d'une session de débogage. Le message de Concepteur de modèle fait état d'une erreur liée au délai d'expiration. | Concepteur de modèle échoue en raison d'un délai d'expiration pendant le débogage du modèle (et non pendant la détection). | Par défaut, le paramètre sa.debugger.max_timeout est défini sur 240 secondes. Augmentez la valeur de ce paramètre sur le Serveur MID pertinent. |
[ ]

{#ibm-cloud-platform-discovery__table_ggn_ypj_yhb}

