---
sourceDocument: Yokohama IT Operations Management
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/de-DE/yokohama/it-operations-management

 Release :

    - yokohama

ft:locale :

    - de-DE

ft:publication_title :

    - Yokohama IT Operations Management

ft:clusterId :

    - itom

bundleId :

    - itom

workflow :

    - Technology


---

# IBM-Cloud-Plattform-Discovery

# IBM-Cloud-Plattform-Discovery {#ariaid-title1}

* Freigeben Version: Yokohama
* 
* Aktualisiert 30. Januar 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 22 Minuten Lesedauer

Die ServiceNow DiscoveryAnwendungsfunde IBM Cloud PlatformKomponenten (Softlayer-API v3 und v3.1 und Bluemix-API v2), die verwenden IBM Cloud PlatformMuster. Um einige dieser Ressourcen zu erkennen, muss aktualisiert werden Muster für Discovery und Service-MappingAnwendung von ServiceNow Store.
Sie können die Muster für verwenden Now PlatformWird verwendet LondonPatch 7, Madrid Patch 2 oder höhere Releases.

## Apps im Store anfordern {#ibm-cloud-platform-discovery__section_gvb_cql_rlb}

Besuchen Sie die [ServiceNow Store](https://store.servicenow.com/sn_appstore_store.do#!/store/home)-Website, um alle verfügbaren Apps anzuzeigen und Informationen zum Senden von Anforderungen an den Store zu erhalten. Kumulative Informationen zum Release für alle veröffentlichten Apps finden Sie in den Release-Hinweisen zum [ServiceNow Store-Versionsverlauf](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}

## Voraussetzungen {#ibm-cloud-platform-discovery__section_xrh_4wz_ghb}

MID-Server
:   Verwenden Sie ein dediziertes MID-ServerFür Cloud-Discovery. Die MID-ServerMuss 16 Kerne haben, 8 GB mit 4 GB Arbeitsspeicherzuteilung des Java Memory Model (JVM).
:   Stellen Sie das dedizierte bereit, und verbinden Sie es MID-ServerMit Internetzugang.

Anmeldeinformationen
:   Die Cloud-Ressourcen befinden sich in einer IBM-Cloud. Erstellen Sie die IBM-Anmeldeinformationen für den Zugriff auf Ihren IBM-Account.  
    1. Navigieren zu DiscoveryAnmeldeinformationenan.
    2. Klicken Sie auf Neu.
    3. Klicken Sie Auf IBM-Anmeldeinformationen Und füllen Sie dann das Formular aus:  
       {#ibm-cloud-platform-discovery__table_gxd_ljv_2hb__entry__2}

       | Feld | Beschreibung |
       |-|-|
       | Name | Anmeldeinformationsname. Ein Beispiel ist <kbd class="ph userinput">ibm-cred </kbd>. |
       | Bestellung | Reihenfolge, in der die Plattform diese Anmeldeinformationen versucht, während sie versucht, sich bei Geräten anzumelden. Eine kleinere Zahl gibt an, dass die Anmeldeinformationen höher in der Liste angezeigt werden. Legen Sie die Reihenfolge der Anmeldeinformationen fest, wenn Sie eine große Anzahl von Anmeldeinformationen verwenden oder wenn die Sicherheit Anwender nach drei fehlgeschlagenen Anmeldeversuchen aussperrt. Wenn alle Anmeldeinformationen dieselbe Ordnungsnummer haben oder keine haben, versucht die Instanz die Anmeldeinformationen in zufälliger Reihenfolge. Der Standardwert ist 100. |
       | SoftLayer-API-Anwender | Anwendername für die Softlayer-API. Verwenden Sie den Softlayer-API-Anwendernamen, der in der Softlayer-Konsole definiert ist. |
       | SoftLayer-API-Schlüssel | Schlüssel für die Softlayer-API. Verwenden Sie den Softlayer-API-Schlüssel, der in der Softlayer-Konsole definiert ist. |
       | Bluemix-API-Schlüssel | Schlüssel für die Bluemix-API. Verwenden Sie den in der IBM Cloud-Konsole definierten Bluemix-API-Schlüssel. |
       [Tabelle : 1. Anmeldeinformationsformular]

       {#ibm-cloud-platform-discovery__table_gxd_ljv_2hb}
    4. Klicken Sie auf Absenden.
    {#ibm-cloud-platform-discovery__ol_exd_ljv_2hb}

Erstellen Sie einen IBM Cloud Service-Account
: Verwenden Sie die im vorherigen Verfahren definierten Anmeldeinformationen, um den IBM Cloud Service-Account zu erstellen.  
1. Navigieren zu Cloud Provisioning and GovernanceService-Kontenan.
2. Klicken Sie auf Neu.
3. Füllen Sie die Felder des Formulars aus.  
   {#ibm-cloud-platform-discovery__table_l3l_fyx_hhb__entry__2}

   | Feld | Beschreibung |
   |-|-|
   | Name | Anmeldeinformationsname. Ein Beispiel ist <kbd class="ph userinput">ibm-Snow </kbd> |
   | Account-ID | IBM-Account-ID-Name. Geben Sie die IBM-Account-ID ein. |
   | Discovery Anmeldeinformationen | Discovery Anmeldeinformationen, die Sie zuvor definiert haben. |
   | Rechenzentrumstyp | Rechenzentrumstyp. Beispiel: <kbd class="ph userinput">IBM-Rechenzentrum [cmdb_ci_ibm_datacenter] </kbd> |
   [Tabelle : 2. Cloud-Service-Account-Formular]

   {#ibm-cloud-platform-discovery__table_l3l_fyx_hhb}
4. Klicken Sie auf Absenden.
{#ibm-cloud-platform-discovery__ol_k3l_fyx_hhb}

Erstellen Sie einen serverlosen DiscoveryZeitplan
:   Konfigurieren Sie einen serverlosen Discovery.

    1. Auf Now Platform, Navigieren Sie zu DiscoveryDiscovery-Zeitplänean.
    2. Klicken Sie auf Neu.
    3. Füllen Sie die Felder des Formulars aus.  
       {#ibm-cloud-platform-discovery__table_i3d_bzy_fhb__entry__2}

       | Feld | Beschreibung |
       |-|-|
       | Name | Name dafür DiscoveryZeitplan. Beispiel: <kbd class="ph userinput">Serverloses Muster </kbd> |
       | Erkannt | Typ erkennen. Wählen Sie Aus Serverlos |
       | MID-Server | Name von MID-Server. Beispiel: <kbd class="ph userinput">Discovery_Server </kbd> |
       | Aktiv | Option zum Aktivieren dieses Zeitplans für Discovery. Aktivieren Sie dieses Kontrollkästchen, um es zu aktivieren Discovery. |
       | Ausführen | Gibt an, wie häufig ausgeführt werden soll DiscoveryZeitplan. |
       [Tabelle : 3. Discovery Zeitplanformular]

       {#ibm-cloud-platform-discovery__table_i3d_bzy_fhb}
    4. Klicken Sie mit der rechten Maustaste auf den Header von DiscoveryZeitplanformular, und wählen Sie aus Speichern .

    5. Klicken Sie auf Serverlose Ausführungsmuster Registerkarte.
    6. Klicken Sie auf Neu.
    7. Füllen Sie die Felder des Formulars aus.  
       {#ibm-cloud-platform-discovery__table_k3d_bzy_fhb__entry__2}

       | Feld | Beschreibung |
       |-|-|
       | Name | Name für dieses serverlose Ausführungsmuster. Beispiel: <kbd class="ph userinput">IBM1 </kbd> |
       | Muster | Name des Musters, das Sie ausführen möchten. Wenn Sie mehrere Muster ausführen möchten, erstellen Sie mehrere Datensätze. |
       | Proxyhost | Vollqualifizierter Domänenname des Computers, auf dem Sie den Proxy-Server installieren. Geben Sie An Global . |
       | Aktiv | Option zum Aktivieren dieses Zeitplans für Discovery. Aktivieren Sie dieses Kontrollkästchen, um es zu aktivieren Discovery. |
       [Tabelle : 4. Formular „Ausführungsmuster ohne Server"]

       {#ibm-cloud-platform-discovery__table_k3d_bzy_fhb}
    8. Konfigurieren Sie die für erforderlichen Parameter IBM Cloud PlatformMuster wie folgt:  
       {#ibm-cloud-platform-discovery__table_l3d_bzy_fhb__entry__2}

       | Parameter | Beschreibung |
       |-|-|
       | Cloud_cred_ID | Die sys_ID der in der Konfiguration angegebenen IBM-Anmeldeinformationen. |
       | cloud_account_id | Die IBM-Account-ID. |
       | Cloud_Datacenter_type | cmdb_ci_ibm_datacenter |
       [Tabelle : 5. Discovery Muster-Startprogramm-Parameter]

       {#ibm-cloud-platform-discovery__table_l3d_bzy_fhb}
    9. Aktualisieren .
    10. Um zu starten Discovery, Navigieren Sie zu serverlos DiscoveryDefinition und klicken Sie auf Jetzt Erkennen .
    {#ibm-cloud-platform-discovery__ol_txj_x31_hhb}

IBM-Flow: Horizontale Discovery
:
    * Um eine Discovery mit einem serverlosen Zeitplan durchzuführen, werden die ausgewählten IBM Cloud Platform-Muster ausgeführt und IBM Cloud Platform-Ressourcen erkannt.
    * Um eine Discovery mithilfe eines Service-Accounts durchzuführen, wird ein vollständiger Discovery-Zeitplan für die IBM Cloud Platform ausgeführt, der alle unterstützten Ressourcen der IBM Cloud Platform erkennt.
    {#ibm-cloud-platform-discovery__ul_hfd_mzx_khb}

Anwenderdefinierter Cloud-Vorgang
:   Cloud-REST: Antwort zum Kontext hinzufügen  
    Vorgang für Cloud-REST-Abfragen, der große Antworten und eine bessere Speichernutzung unterstützt.

    * Geben Sie alle Felder mit den gleichen Werten wie im anwenderdefinierten Cloud-REST-Abfragevorgang an, außer um die Tabelle für die Antwort anzugeben, die in festgelegt ist Antwortvariablenname Feld.

    * Festgelegt Definieren Sie die Analyse Auf keine.
    {#ibm-cloud-platform-discovery__ul_mdn_wj5_lhb}

:   Methoden zum Abrufen von Daten für den IBM-Account

    1. Navigieren zu MusterdesignerAnwenderdefinierte Vorgängean.

    2. Klicken Sie Auf Cloud-REST: Fügen Sie dem Kontext eine Antwort hinzu .

    {#ibm-cloud-platform-discovery__ol_nlw_wp5_lhb}

    Methode: Aufruf Abrufen

    API-URLs, die zum Abrufen der Daten verwendet werden:  
    * Lastenausgleichsmodul https://api.softlayer.com/rest\<api_version\>/SoftLayer_Network_LBaaS_LoadBalancer/getAllObjects?objectMask=mask\[listeners\[defaultPool\],members,healthMonitors\]
    * Netzwerk https://api.softlayer.com/rest/\<API_VERSION\>/SoftLayer_Account/getNetworkVlans?objectMask=mask\[primaryRouter.datacenter,name,id,vlanNumber,networkSpace\]
    * Netzwerk https://api.softlayer.com/rest/\<API_VERSION\>/SoftLayer_Account/getSubnets?objectMask=mask\[datacenter\]
    * Netzwerk https://api.softlayer.com/rest/\<API_VERSION\>/SoftLayer_Account/getSecurityGroups?objectMask=mask\[rules\]
    * Organisationen und Bereiche https://api.\<region\>.bluemix.net/v2/organizations
    * https://api.\<region\>.bluemix.net/v2/spaces
    * SSH-Schlüssel https://api.softlayer.com/rest/v3/SoftLayer_Account/SoftLayer_Account/getSshKeys
    * Speicher https://api.softlayer.com/rest/\<api_version\>/SoftLayer_Account/getNetworkStorage
    * Virtueller Server 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}

Evaluierungsfunktionen

:   Verwenden Sie die folgende Evaluierungsfunktion, um die API-Antwort des Lastenausgleichsmoduls in ein vollständiges JSON-Format umzuwandeln. Die Standardantwort ist als „\[\<resource objects\>\]" formatiert.

        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;

    Verwenden Sie die folgende Evaluierungsfunktion, um die Netzwerk-API-Antwort in ein vollständiges JSON-Format umzuwandeln. Die Standardantwort ist als „\[\<resource objects\>\]" formatiert.  

        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);

    Verwenden Sie die folgende Evaluierungsfunktion, um die IBM-Region aus der LB-Verfügbarkeitszone (Rechenzentrum) abzurufen. Dieselbe Funktion wird für andere Ressourcen innerhalb des Musters verwendet.  

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

    Verwenden Sie die folgende Evaluierungsfunktion, um den erforderlichen Algorithmus im Muster auszuwählen.  

        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;

    Verwenden Sie die folgende Evaluierungsfunktion, um die eindeutige Region für den Account zu analysieren, der die Organisationen und die entsprechenden Bereiche hostet.  

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

    Verwenden Sie die folgende Evaluierungsfunktion, um Informationen für alle Organisationen abzurufen, die dem IBM Cloud-Account zugewiesen sind, in dem eine Iteration zum Abrufen der eindeutigen Region durchgeführt wird.  

        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);

    Verwenden Sie die folgende Evaluierungsfunktion, um Informationen für alle zugewiesenen Bereiche des IBM Cloud-Accounts abzurufen, in denen die Iteration zum Abrufen der eindeutigen Region durchgeführt wird.  

        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);
        }
             
    Verwenden Sie die folgende Evaluierungsfunktion, um alle Bereiche nach eindeutiger Region zu filtern.  

        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;

    Verwenden Sie die folgende Evaluierungsfunktion, um alle Bereiche nach Speicher-Discovery zu filtern.  

        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);

    Verwenden Sie die folgende Evaluierungsfunktion, um die API-Antwort in das vollständige JSON-Format umzuwandeln, da die unberührte Antwort als „\[\<resource objects\>\]" formatiert ist.  

        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);

    Verwenden Sie die folgende Evaluierungsfunktion, um die Verfügbarkeitszone in die Speichervolumetabelle auszufüllen.  

        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;
        }

    Verwenden Sie die folgende Evaluierungsfunktion, um die Region in die Speichervolumetabelle auszufüllen.  

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

    Verwenden Sie die folgende Evaluierungsfunktion, um die Größe der Speicher aus Gigabyte in Byte umzuwandeln.  

        var rtrn = '';

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

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

    Verwenden Sie die folgende Evaluierungsfunktion, um die Größe der Speicher aus Gigabyte in Byte umzuwandeln.  

        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);

    Verwenden Sie den folgenden Evaluierungsabschluss, der die von der API empfangene JSON in ein Format transformiert, mit dem der JSON-Parser arbeiten kann. Die Standard-JSON wird in gespeichert `$vm_JSON_Array `, Die neue JSON befindet sich in `$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); 

    Verwenden Sie den folgenden Evaluierungsabschluss, der „ein" zurückgibt, wenn der Stromstatus „wird ausgeführt" lautet. Der Wert „aus" wird zurückgegeben, wenn der Stromstatus „aus" ist.  

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

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

    Verwenden Sie den folgenden Evaluierungsabschluss, der die Region des CI basierend auf dem angegebenen Verfügbarkeitszonennamen zurückgibt.  

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

    Verwenden Sie den folgenden Evaluierungsabschluss, der eine Hashmap von HashSets erstellt und VMs mit ihren Netzwerkspeichern verbindet. Der folgende Schlüssel wird verwendet:

    * P = Seite
    * V = VM
    * N = Netzwerkspeicher
    {#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); 

    Verwenden Sie den folgenden Evaluierungsabschluss, um doppelte Einträge aus Tabellen zu entfernen.  

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

    Verwenden Sie den folgenden Evaluierungsabschluss, der eine Liste von VM-IDs erstellt, die sich auf die aktuelle Sicherheitsgruppen-ID beziehen.  

        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;

    Verwenden Sie den folgenden Evaluierungsabschluss, der eine Hashmap von HashSet zwischen Sicherheitsgruppen und den VMs erstellt, die für ihre Verwendung konfiguriert sind.  

        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);

    Verwenden Sie den folgenden Evaluierungsabschluss, der „wahr" zurückgibt, wenn die aktuelle VM die aktuelle Sicherheitsgruppen-ID verwendet.  

        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);

    Verwenden Sie den folgenden Evaluierungsabschluss, der „wahr" zurückgibt, wenn die aktuelle VM das aktuelle Speichervolume verwendet.  

        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'
        }

    Verwenden Sie die folgende Evaluierungsfunktion, um die API-Antwort in das vollständige JSON-Format umzuwandeln, da die unberührte Antwort als „\[\<resource objects\>\]" formatiert ist.

        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);

    Analysiert die eindeutigen Standortgruppen in der Tabelle „location_Groups_az", die die Spalte „lg_ID" enthält, und erstellt eine neue Tabelle „location_groups_az_unique", die das Ergebnis enthält.

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

    Erstellt eine Liste von Verfügbarkeitszonen pro Standortgruppe, die in einer neuen Spalte in der location_groups_az_uniquetable. gespeichert wird Die Listendatensätze werden absichtlich durch Kommas geteilt, sodass in aufeinanderfolgenden Schritten eindeutige Beziehungen hergestellt werden können.

        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;

Aktivieren Sie die Cloud-bezogenen CI-Beziehungen
:   Um erkannte Komponenten in Serviceinstanzen einzubeziehen, aktivieren Sie CI-Beziehungen, die in der Tag-basierten Discovery von verwendet werden Service-Mapping. Diese CI-Beziehungen sind ab Release 1.0.68 auf verfügbar ServiceNow Store. Operative Schritte finden Sie unter [Tag-basierte Discovery-Konfiguration](https://servicenow-prod.fluidtopics.net/9kuIcux31R6cIZydKz6psQ "Sie können die Standardkonfiguration verfeinern, um zu steuern, welche CIs Service-MappingSchließt während des Tag-basierten Discovery-Prozesses in Anwendungsservices ein.").

## Daten erfasst von DiscoveryWährend der horizontalen Discovery {#ibm-cloud-platform-discovery__section_zdq_vwz_ghb}

Daten werden mit diesen Mustern erfasst:

* IBM Cloud-Lastenausgleichsmodul
* IBM -- Cloud-Standortgruppen
* IBM-Cloud-Netzwerk
* IBM Cloud-Organisationen und -Bereiche
* IBM Cloud-Ressourcengruppen
* IBM Cloud-SSH-Schlüssel
* IBM-Cloudspeicher
* Virtueller IBM Cloud-Server
{#ibm-cloud-platform-discovery__ul_pmq_bnt_3hb}  
Daten erfasst für IBMKomponenten:

IBM Cloud-Lastenausgleichsmodul erkannte Ressourcen
:   {#ibm-cloud-platform-discovery__table_o21_dlv_2hb__entry__2}

    | Feld | Beschreibung |
    |-|-|
    | Haupt-CI: cmdb_ci_cloud_load_balancer ||
    | name | Name des Lastenausgleichsmoduls. |
    | object_id | Eindeutiger Bezeichner des Lastenausgleichsmoduls. |
    | fqdn | Adresse des Lastenausgleichsmoduls (Hostname). |
    | dns_name | Name des Lastenausgleichsmodul-Domänenservers. |
    | short_description | Beschreibung des Lastenausgleichsmoduls, die Sie zur einfachen Identifizierung angeben. |
    | operational_status | Lastenausgleichsmodul-Status, einer der folgenden Werte: * ONLINE * OFFLINE {#ibm-cloud-platform-discovery__ul_kqp_xwv_jhb} |
    | location | Standort des Rechenzentrums. |
    | Staat | Bereitstellungsstatus des Lastenausgleichsmoduls. |
    | Zugehöriges CI: cmdb_ci_lb_service ||
    | name | Name der Mustererstellung, bestehend aus: * Name des Lastenausgleichsmoduls * Typ des Protokolls * Ressourcentyp-Listener {#ibm-cloud-platform-discovery__ul_bwh_l5x_khb} |
    | object_id | Eindeutiger Bezeichner des Lastenausgleichsmoduls. |
    | port | Portnummer des Listeners. |
    | Front_End_Port | Protokollportnummer des Listeners. |
    | listener_protocol | Protokoll des Listeners. Eines der folgenden Protokolle: * TCP * HTTP * HTTPS {#ibm-cloud-platform-discovery__ul_c2c_5wt_3hb} |
    | operational_status | Bereitstellungsstatus des Listeners. |
    | Zugehöriges CI: cmdb_ci_lb_pool ||
    | name | Name der Mustererstellung, bestehend aus: * Name des Lastenausgleichsmoduls * Typ des Protokolls * port * Ressourcentyp „Pool" {#ibm-cloud-platform-discovery__ul_aqn_r1y_khb} |
    | object_id | Eindeutiger Bezeichner des Lastenausgleichsmodul-Pools. |
    | port | Protokollport des Back-Ends. |
    | Pool_Status | Bereitstellungsstatus des Lastenausgleichsmodul-Pools. |
    | Load_Balancing_method | Lastenausgleichsmethode. Einer der folgenden Algorithmen: * „ROUNDROBIN" * „WEIGHTED_RR" * „LEASTCONECTION" {#ibm-cloud-platform-discovery__ul_f4f_rzt_3hb} |
    | Zugehöriges CI: cmdb_ci_lb_pool_member ||
    | name | Name der Mustererstellung, bestehend aus: * Name des Lastenausgleichsmoduls * Typ des Protokolls * IP-Adresse des Poolmitglieds {#ibm-cloud-platform-discovery__ul_bxl_5cy_khb} |
    | object_id | Eindeutiger Bezeichner des Lastenausgleichsmodul-Poolmitglieds, bestehend aus: * Mitglieds-ID * Listener-ID {#ibm-cloud-platform-discovery__ul_tkx_xcy_khb} |
    | ip_address | IP-Adresse eines Lastenausgleichsmodul-Mitglieds. |
    | server_id | ID des Mitglieds in der IBM Cloud. |
    | load_balancer | Name des zugehörigen Lastenausgleichsmoduls. |
    | Zugehöriges CI: cmdb_ci_lb_health_service ||
    | name | Name der Mustererstellung, bestehend aus: * Name des Lastenausgleichsmoduls * Typ des Protokolls * Ressourcentyp: Integritätsprüfung * Ressourcen-ID {#ibm-cloud-platform-discovery__ul_k2w_1dy_khb} |
    | object_id | Eindeutiger Bezeichner der Integritätsserviceprüfung. |
    | monitor_type | Integritätsprüfungstyp. Eine der folgenden Optionen: * TCP * HTTP * HTTPS {#ibm-cloud-platform-discovery__ul_epn_lb5_3hb} |
    | timeout_sec | Zeitüberschreitung in Sekunden, um auf Antworten auf Integritätsprüfung zu warten. |
    | check_interval_sec | Intervall in Sekunden zum Durchführen der Integritätsprüfung. |
    [ ]

    {#ibm-cloud-platform-discovery__table_o21_dlv_2hb}

IBM Cloud-Standortgruppen erkannte Ressourcen
:   {#ibm-cloud-platform-discovery__table_location_groups__entry__2}

    | Feld | Beschreibung |
    |-|-|
    | Haupt-CI: cmdb_ci_cloud_location_group ||
    | name | Ein beschreibender Name, der zur Identifizierung einer Standortgruppe verwendet wird. |
    | object_id | Die ID des Standortgruppendatensatzes. |
    | LocationGroupType-Name | Der Name des Standortgruppentyps. |
    | short_description | Ein kleiner Hinweis zu einer Standortgruppe, die nach Ihrem Ermessen verwendet werden soll. |
    | LocationGroup-Typ-ID | Die ID des Standortgruppentyps. |
    [ ]

    {#ibm-cloud-platform-discovery__table_location_groups}

IBM Cloud Network erkannte Ressourcen
:   {#ibm-cloud-platform-discovery__table_wlf_ybx_jhb__entry__2}

    | Feld | Beschreibung |
    |-|-|
    | Haupt-CI: cmdb_ci_Network ||
    | name | VLAN-Nummer. |
    | object_id | Eindeutiger Netzwerkbezeichner. |
    | Access_Port_vlan | VLAN-Nummer. |
    | Ist_external | Wert des Netzwerkbereichs. Der Wert ist entweder: * „Wahr", wenn „Network_space" „PUBLIC" ist * Falsch, wenn „Network_space" „PRIVAT" ist. {#ibm-cloud-platform-discovery__ul_sz1_tjx_jhb} |
    | Staat | Status hat den Wert „verfügbar". |
    | Zugehöriges CI: cmdb_ci_cloud_subnet ||
    | name | Name, bestehend aus: „Network_Identifier/cidr" |
    | object_id | Eindeutiger Subnetzbezeichner. |
    | subnet_mask | Netzmaske des Subnetzes. |
    | gateway | Gateway-IP-Adresse. |
    | cidr | Methode für die Zuweisung von IP-Adressen und IP-Weiterleitung: „Network_Identifier/cidr". |
    | Kategorie | Subnetztyp. |
    | broadcast_address | Subnetz-Broadcast-Adresse. |
    | available_ip_count | Anzahl der verfügbaren IP-Adressen im Subnetz. |
    | Zugehöriges CI: cmdb_ci_compute_security_group ||
    | name | Name der Sicherheitsgruppe. |
    | object_id | Eindeutiger Bezeichner der Sicherheitsgruppe. |
    | short_description | Beschreibung der Sicherheitsgruppe, die Sie zur einfachen Identifizierung angeben. |
    | Zugehöriges CI: cmdb_ci_compute_security_group_rule ||
    | name | Feld mit demselben Wert wie das Feld „object_ID" der Sicherheitsgruppenregel. |
    | object_id | Eindeutiger Bezeichner der Sicherheitsgruppenregel. |
    | erstellt | Datum, an dem das CI erstellt wurde. |
    | direction | Richtung der Informationen. Eine der folgenden Optionen: * Eingehend * outbound {#ibm-cloud-platform-discovery__ul_zqw_vny_jhb} |
    | Ethertype | Ethertype. Eine der folgenden Optionen: * IPv4 * IPv6 {#ibm-cloud-platform-discovery__ul_jyf_zny_jhb} |
    | Port_Range_min | Der erste Port des Bereichs, für den die Regel gilt. |
    | Port_Range_max | Der letzte Port des Bereichs, für den die Regel gilt. |
    | protocol | Protokoll, auf das die Regel angewendet wird. |
    | Remote_Group_ID | Sicherheitsgruppen-ID für die Quell-/Ziel-Sicherheitsgruppe. Dies bedeutet, dass diese Regel für alle IP-Adressen gilt, die in dieser Sicherheitsgruppe konfiguriert wurden. |
    [ ]

    {#ibm-cloud-platform-discovery__table_wlf_ybx_jhb}

Erkannte Ressourcen für IBM-Cloud-Organisationen und -Bereich
:   {#ibm-cloud-platform-discovery__table_vbc_2cx_jhb__entry__2}

    | Feld | Beschreibung |
    |-|-|
    | Haupt-CI: cmdb_ci_cloud_org ||
    | name | Name der Cloud-Organisation. |
    | guid | Eindeutiger Bezeichner der Organisation. |
    | URL | Eindeutige URL der Organisation. |
    | Abrechnung_enabled | Von der Organisation verwendete Abrechnungsmethode. Eine der beiden Optionen: * Aktiviert / (WAHR) * Deaktiviert / (FALSCH) {#ibm-cloud-platform-discovery__ul_ngl_rpy_jhb} |
    | Quota_Definition_url | Ressourcen, die für eine Organisation verfügbar sind. |
    | Spaces_url | Eindeutige URL des Bereichs, der der Organisation zugewiesen ist. |
    | operational_status | Betriebsstatus der Organisation. |
    | Zugehöriges CI: cmdb_ci_cloud_space ||
    | name | Eindeutiger Name des Bereichs. |
    | object_id | Eindeutiger Platzbezeichner (GUID). |
    | Alllow_ssh | Der Zugriff auf die Anwendung über SSH ist entweder zulässig oder nicht zulässig. Boolescher Wert, einer der folgenden Werte: * WAHR * FALSCH {#ibm-cloud-platform-discovery__ul_dmk_yzn_lhb} |
    | URL | URL des Bereichs aus der Metadatenbeschreibung. |
    [ ]

    {#ibm-cloud-platform-discovery__table_vbc_2cx_jhb}

IBM Cloud-Ressourcengruppen erkannte Ressourcen
:   {#ibm-cloud-platform-discovery__table_ezd_1k1_xhb__entry__2}

    | Feld | Beschreibung |
    |-|-|
    | Haupt-CI: cmdb_ci_resource_group ||
    | name | Name der Ressourcengruppe. |
    | object_id | Eindeutiger Bezeichner der Ressourcengruppe. |
    | Kontingent_ID | Wert, der die Kontingent-ID identifiziert, die der Ressourcengruppe zugeordnet ist. |
    [ ]

    {#ibm-cloud-platform-discovery__table_ezd_1k1_xhb}

IBM Cloud-SSH-Schlüssel erkannte Ressourcen
:   {#ibm-cloud-platform-discovery__table_v5p_tdx_jhb__entry__2}

    | Feld | Beschreibung |
    |-|-|
    | Haupt-CI: cmdb_ci_cloud_key_pair ||
    | name | Name zur Identifizierung eines SSH-Schlüssels. |
    | object_id | ID des SSH-Schlüsseldatensatzes. |
    | key | SSH-Schlüsseldatensatz. |
    | Fingerabdruck | Kurze Sequenz von Bytes, die zum Authentifizieren oder Suchen eines längeren SSH-Schlüssels verwendet werden. Dieser Wert wird beim Hinzufügen oder Ändern des SSH-Schlüssels automatisch generiert. Schreibgeschützt. Vorgenommene Änderungen werden ignoriert. |
    | _Erstellungsdatum | Datum, an dem der SSH-Schlüssel hinzugefügt wurde. Schreibgeschützt. Vorgenommene Änderungen werden ignoriert. |
    | MODIFY_date | Datum, an dem der SSH-Schlüssel geändert wurde. Schreibgeschützt. Vorgenommene Änderungen werden ignoriert. |
    | short_description | SSH-Beschreibung, die Sie zur einfachen Identifizierung angeben. |
    | Zugehöriges CI: cmdb_ci_ibm_datacenter ||
    | name | Name des Rechenzentrums. |
    | region | Region, in der sich das Rechenzentrum befindet. |
    | Discovery_Status | Statusinformationen zum IBM-Rechenzentrum. |
    | sys_class_name | Klasse des Rechenzentrums |
    | Zugehöriges CI: cmdb_ci_cloud_service_account ||
    | name | Name des Cloud-Service-Accounts. |
    | account_id | Account-ID für diesen Cloud-Service-Account. |
    | discovery_credentials | Anmeldeinformationen für diesen Cloud-Service-Account. |
    | Rechenzentrum_url | URL, die zum Ausfüllen logischer Rechenzentren (LDCs) verwendet wird. |
    | datacenter_type | Typ des Rechenzentrums. Beispiel: IBM-Rechenzentrum \[cmdb_ci_ibm_datacenter\] |
    | Rechenzentrum_Discovery_Status | Status der letzten Ausführung von „Rechenzentren erkennen". |
    [ ]

    {#ibm-cloud-platform-discovery__table_v5p_tdx_jhb}

IBM Cloud Storage erkannte Ressourcen
:   {#ibm-cloud-platform-discovery__table_zd3_wdx_jhb__entry__2}

    | Feld | Beschreibung |
    |-|-|
    | Haupt-CI: cmdb_ci_storage_volume ||
    | name | Anwendername für: * Greifen Sie auf ein nicht-EVault-Speichervolume zu * Registrieren Sie den EVault-Server-Agent beim Vault-Sicherungssystem {#ibm-cloud-platform-discovery__ul_cjk_4gd_khb} |
    | object_id | Eindeutiger Bezeichner des Speicher-Accounts. |
    | size | Kapazität des Speicher-Accounts, gemessen in Gigabyte. |
    | size_bytes | Kapazität des Speicher-Accounts, gemessen in Byte. |
    | label | Name der Speichernetzwerkressource. |
    | storage_type | Beschreibung des Speichertyps. Beispiel: NAS. |
    | fqdn | IP-Adresse einer Speicherressource oder vollqualifizierter Domänenname. |
    | Gerät | Eindeutige Identifikationsnummer des Geräts, das einem Speichervolume zugeordnet ist. |
    | Zugehöriges CI: cmdb_ci_storage_vol_snapshot ||
    | name | Name einer Speichernetzwerkressource. |
    | object_id | Eindeutiger Speicherbezeichner. |
    | Kapazität | Kapazität des Snapshot-Volumes in Gigabyte. |
    | fqdn | IP-Adresse einer Speicherressource oder vollqualifizierter Domänenname. |
    | location | Eindeutige Verfügbarkeitszone, in der sich das Speichervolume befindet. |
    | Zugehöriges CI: cmdb_ci_ibm_datacenter ||
    | name | Name des Rechenzentrums. |
    | region | Region, in der sich das Rechenzentrum befindet. |
    | Discovery_Status | Statusinformationen zum IBM-Rechenzentrum. |
    | sys_class_name | Klasse des Rechenzentrums |
    | Zugehöriges CI: cmdb_ci_cloud_service_account ||
    | name | Name des Cloud-Service-Accounts. |
    | account_id | Account-ID für diesen Cloud-Service-Account. |
    | discovery_credentials | Anmeldeinformationen für diesen Cloud-Service-Account. |
    | Rechenzentrum_url | URL zum Ausfüllen von LDCs. |
    | datacenter_type | Typ des Rechenzentrums. Beispiel: IBM-Rechenzentrum \[cmdb_ci_ibm_datacenter\] |
    | Rechenzentrum_Discovery_Status | Status der letzten Ausführung von „Rechenzentren erkennen". |
    | Zugehöriges CI: cmdb_ci_availability_zone ||
    | name | Name der Verfügbarkeitszone (AZ). |
    | object_id | Eindeutiger Bezeichner für diese Ressource. |
    | short_description | Beschreibung der Verfügbarkeitszone, die Sie angeben. |
    [ ]

    {#ibm-cloud-platform-discovery__table_zd3_wdx_jhb}

IBM Cloud Virtual Server erkannte Ressourcen
:   {#ibm-cloud-platform-discovery__table_njj_ydx_jhb__entry__2}

    | Feld | Beschreibung |
    |-|-|
    | Haupt-CI: cmdb_ci_vm_instance ||
    | name | Name der VM. |
    | object_id | Eindeutiger Bezeichner der VM. |
    | dns_domain | Name des VM-Domänenservers. |
    | fqdn | VM-IP-Adresse. |
    | short_description | Beschreibung in einem Hinweis, der an die VM in der IBM-Konsole angehängt ist. |
    | CPUs | Anzahl der CPU-Kerne, die dieser VM zugewiesen sind. |
    | Arbeitsspeicher | Arbeitsspeichergröße, die dieser VM zugewiesen ist. |
    | disks | Anzahl der dieser VM zugewiesenen Datenträger. |
    | status | Der Ausführungsstatus der VM. * Ein: Wird von der API als „wird ausgeführt" zurückgegeben. * Aus: Wird von der API als „angehalten" zurückgegeben. {#ibm-cloud-platform-discovery__ul_dyp_xt4_n3b} |
    | placement_group_id | Platzierungsgruppen-ID. |
    | nics | Anzahl der NICs. |
    | Zugehöriges CI: cmdb_ci_nic ||
    | name | Name, bestehend aus: * Name des Lastenausgleichsmoduls * Port {#ibm-cloud-platform-discovery__ul_bxv_2dy_khb} |
    | object_id | Eindeutiger Bezeichner der NIC. |
    | ip_address | IP, die auf der NIC konfiguriert ist. |
    | mac_address | NIC-MAC-Details. |
    | netmask | Maske, die verwendet wird, um die IP-Adresse in Subnetze aufzuteilen und die verfügbaren Hosts im Netzwerk anzugeben. |
    | Status | Status der NIC. |
    | Zugehöriges CI: cmdb_ci_endpoint_vnic ||
    | name | Name für den VNIC-Endpunkt. |
    | object_id | Eindeutiger Bezeichner des VNIC-Endpunkts. |
    | host | Hostbezeichner. |
    | Zugehöriges CI: cmdb_ci_storage_volume ||
    | name | Anwendername für: * Greifen Sie auf ein nicht-EVault-Speichervolume zu * Registrieren Sie den EVault-Server-Agent beim Vault-Sicherungssystem {#ibm-cloud-platform-discovery__ul_j1n_ktd_khb} |
    | object_id | Eindeutiger Bezeichner des Speicher-Accounts. |
    | size | Kapazität des Speicher-Accounts, gemessen in Gigabyte. |
    | size_bytes | Kapazität des Speicher-Accounts, gemessen in Byte. |
    | label | Name der Speichernetzwerkressource. |
    | storage_type | Beschreibung des Speichertyps. Beispiel: NAS. |
    | fqdn | IP-Adresse einer Speicherressource oder vollqualifizierter Domänenname. |
    | Gerät | Eindeutige Identifikationsnummer des Gastes, der einem Speichervolume zugeordnet ist. |
    | Zugehöriges CI: cmdb_ci_endpoint_nfs ||
    | name | Name für den NFS-Endpunkt. |
    | host | Hostbezeichner. |
    | protocol | Protokoll, das angewendet wurde. |
    | Typ | NFS-Endpunkttyp. |
    | erstellt | Datum, an dem der NFS-Endpunkt erstellt wurde. |
    | aktualisiert | Datum, an dem der NFS-Endpunkt aktualisiert wurde. |
    | discovery_source | Quelle der Discovery. Beispiel: ServiceWatch |
    | host_name | Hostname des NFS-Endpunkts |
    | Zugehöriges CI: cmdb_ci_endpoint_iscsi ||
    | host | Hostbezeichner für den ISCSI-Endpunkt. |
    | port | Port, um zu bestimmen, wie GCP-iscsi mit den VMs in Kontakt kommt. |
    | protocol | Protokoll, das angewendet wurde. |
    | Typ | ISCSI-Endpunkttyp |
    | erstellt | Datum, an dem der ISCSI-Endpunkt erstellt wurde. |
    | aktualisiert | Datum, an dem der ISCSI-Endpunkt aktualisiert wurde. |
    | discovery_source | Quelle der Discovery. Beispiel: ImportSet |
    | host_name | Hostname des ISCSI-Endpunkts |
    | Zugehöriges CI: cmdb_ci_endpoint_block ||
    | name | Name für den Blockendpunkt. |
    | object_id | Eindeutiger Bezeichner des Blockendpunkts. |
    | host | Hostbezeichner. |
    | Zugehöriges CI: cmdb_ci_os_template ||
    | name | Name des Bilds. Beispiel: „CentOS 7.0-64 minimal für VSI". |
    | object_id | Eindeutiger Bezeichner des Image. |
    | guest_os | Vom Image verwendetes Betriebssystem. Beispiel: Linux. |
    | root_device_type | Typ des vom Stamm verwendeten Geräts. |
    | image_source | Quelle des Bilds. |
    | image_type | Bildtyp. |
    | Infunde_key | Schlüssel, der zum Einfügen des Bilds verwendet wird. |
    | Update_Host_Name | Aktualisieren Sie den Hostnamen für das Image. |
    | Anmeldeinformationen | Anmeldeinformationen für das Image. |
    | version | BS-Version. Beispiel: „7.0-64 minimal für VSI". |
    | Zugehöriges CI: cmdb_ci_cloud_key_pair ||
    | name | Name zur Identifizierung eines Schlüssels (Schlüsselbezeichnung). |
    | object_id | ID des Schlüsseldatensatzes. |
    | key | Schlüsseldatensatz. |
    | Fingerabdruck | Kurze Sequenz von Bytes, die zum Authentifizieren oder Suchen eines Schlüssels verwendet werden. Dieser Wert wird beim Hinzufügen oder Ändern des Schlüssels automatisch generiert. Schreibgeschützt. Vorgenommene Änderungen werden ignoriert. |
    | _Erstellungsdatum | Datum, an dem der Schlüssel hinzugefügt wurde. Schreibgeschützt. Vorgenommene Änderungen werden ignoriert. |
    | MODIFY_date | Datum, an dem der Schlüssel geändert wurde. Schreibgeschützt. Vorgenommene Änderungen werden ignoriert. |
    | short_description | Beschreibung, die Sie zur einfachen Identifizierung angeben. |
    | Zugehöriges CI: cmdb_ci_compute_security_group ||
    | name | Name der Sicherheitsgruppe. |
    | object_id | Eindeutiger Bezeichner der Sicherheitsgruppe. |
    | short_description | Beschreibung der Sicherheitsgruppe, die Sie zur einfachen Identifizierung angeben. |
    | Zugehöriges CI: cmdb_ci_endpoint_comp_security ||
    | host | Hostbezeichner des Compute Security-Endpunkts. |
    | port | Eindeutiger Bezeichner des Compute Security Endpunkts. |
    | protocol | Protokoll, das angewendet wurde. |
    | Typ | Typ des Compute Security Endpunkts. |
    | erstellt | Datum, an dem der Endpunkt für die Compute-Sicherheit hinzugefügt wurde. Schreibgeschützt. Vorgenommene Änderungen werden ignoriert. |
    | aktualisiert | Datum, an dem der Endpunkt für die Rechensicherheit geändert wurde. Schreibgeschützt. Vorgenommene Änderungen werden ignoriert. |
    | discovery_source | Quelle der Discovery. Beispiel: Manuelle Eingabe. |
    | host_name | Hostname des Compute Security-Endpunkts. |
    | Zugehöriges CI: cmdb_ci_ibm_datacenter ||
    | name | Name des Rechenzentrums. |
    | region | Region, in der sich das Rechenzentrum befindet. |
    | Discovery_Status | Statusinformationen zum IBM-Rechenzentrum. |
    | sys_class_name | Klasse des Rechenzentrums |
    | Zugehöriges CI: cmdb_ci_availability_zone ||
    | name | Name der Verfügbarkeitszone (AZ). |
    | object_id | Eindeutiger Bezeichner für diese Ressource. |
    | short_description | Beschreibung der Verfügbarkeitszone, die Sie angeben. |
    | Zugehöriges CI: cmdb_ci_cloud_service_account ||
    | name | Name des Cloud-Service-Accounts. |
    | account_id | Account-ID für diesen Cloud-Service-Account. |
    | discovery_credentials | Anmeldeinformationen für diesen Cloud-Service-Account. |
    | Rechenzentrum_url | URL zum Ausfüllen von LDCs. |
    | datacenter_type | Typ des Rechenzentrums. Beispiel: IBM-Rechenzentrum \[cmdb_ci_ibm_datacenter\] |
    | Rechenzentrum_Discovery_Status | Status der letzten Ausführung von „Rechenzentren erkennen". |
    [ ]

    {#ibm-cloud-platform-discovery__table_njj_ydx_jhb}

Virtueller IBM Cloud-Server: Ansicht „zugehörige Elemente"
:

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

Diese Beziehungen werden erstellt, um die Discovery der IBM Cloud Platform zu unterstützen.

Beziehungen für erkannte Ressourcen des IBM Cloud-Lastenausgleichsmoduls
:   {#ibm-cloud-platform-discovery__table_vkt_ywd_rdb__entry__3}

    | CI | Beziehung | CI |
    |-|-|-|
    | Zugehöriges CI: cmdb_ci_ibm_datacenter |||
    | cmdb_ci_ibm_datacenter | Gehostet auf::Hostet | cmdb_ci_cloud_service_account |
    | cmdb_ci_ibm_datacenter | Enthält::enthalten von | cmdb_ci_availability_zone |
    | Zugehöriges CI: cmdb_ci_cloud_load_balancer |||
    | cmdb_ci_cloud_load_balancer | Gehostet auf::Hostet | cmdb_ci_ibm_datacenter |
    | cmdb_ci_cloud_load_balancer | Enthält::enthalten von | cmdb_ci_lb_health_service |
    | Zugehöriges CI: cmdb_ci_availability_zone |||
    | cmdb_ci_availability_zone | Gehostet auf::Hostet | cmdb_ci_cloud_load_balancer |
    | cmdb_ci_availability_zone | Enthält::enthalten von | cmdb_ci_lb_service |
    | Zugehöriges CI: cmdb_ci_lb_service |||
    | cmdb_ci_lb_service | Gehostet auf::Hostet | cmdb_ci_cloud_load_balancer |
    | cmdb_ci_lb_service | Enthält::enthalten von | cmdb_ci_lb_pool |
    | Zugehöriges CI: cmdb_ci_lb_pool |||
    | cmdb_ci_lb_pool | Gehostet auf::Hostet | cmdb_ci_cloud_load_balancer |
    | cmdb_ci_lb_pool | Besitzt::im Besitz von | cmdb_ci_lb_pool_member |
    | Zugehöriges CI: cmdb_ci_lb_health_service |||
    | cmdb_ci_lb_health_service | Enthält::enthalten von | cmdb_ci_cloud_load_balancer |
    [ ]

    {#ibm-cloud-platform-discovery__table_vkt_ywd_rdb}

Beziehungen für erkannte Ressourcen der IBM Cloud-Standortgruppen
:   {#ibm-cloud-platform-discovery__table_e2b_t1b_xhb__entry__3}

    | CI | Beziehung | CI |
    |-|-|-|
    | Zugehöriges CI: cmdb_ci_ibm_datacenter |||
    | cmdb_ci_ibm_datacenter | Gehostet auf::Hostet | cmdb_ci_cloud_service_account |
    | cmdb_ci_ibm_datacenter | Enthält::enthalten von | cmdb_ci_availability_zone |
    | Zugehöriges CI: cmdb_ci_cloud_location_group |||
    | cmdb_ci_cloud_location_group | Gehostet auf::Hostet | cmdb_ci_cloud_service_account |
    | cmdb_ci_cloud_location_group | Enthält::enthalten von | cmdb_ci_availability_zone |
    [ ]

    {#ibm-cloud-platform-discovery__table_e2b_t1b_xhb}

Beziehungen für erkannte IBM Cloud Network-Ressourcen
:   {#ibm-cloud-platform-discovery__table_lpw_y2x_jhb__entry__3}

    | CI | Beziehung | CI |
    |-|-|-|
    | Zugehöriges CI: cmdb_ci_ibm_datacenter |||
    | cmdb_ci_ibm_datacenter | Gehostet auf::Hostet | cmdb_ci_cloud_service_account |
    | cmdb_ci_ibm_datacenter | Enthält::enthalten von | cmdb_ci_availability_zone |
    | Zugehöriges CI: cmdb_ci_Network |||
    | cmdb_ci_network | Gehostet auf::Hostet | cmdb_ci_ibm_datacenter |
    | cmdb_ci_network | Enthält::enthalten von | cmdb_ci_cloud_subnet |
    | Zugehöriges CI: cmdb_ci_compute_security_group |||
    | cmdb_ci_compute_security_group | Gehostet auf::Hostet | cmdb_ci_cloud_service_account |
    | cmdb_ci_compute_security_group | Enthält::enthalten von | cmdb_ci_compute_security_group_rule |
    [ ]

    {#ibm-cloud-platform-discovery__table_lpw_y2x_jhb}

Beziehungen für erkannte Ressourcen der IBM Cloud-Ressourcengruppen
:   {#ibm-cloud-platform-discovery__table_lmb_yk1_xhb__entry__3}

    | CI | Beziehung | CI |
    |-|-|-|
    | Zugehöriges CI: cmdb_ci_resource_group |||
    | cmdb_ci_resource_group | Gehostet auf::Hostet | cmdb_ci_cloud_service_account |
    [ ]

    {#ibm-cloud-platform-discovery__table_lmb_yk1_xhb}

Beziehungen für erkannte Ressourcen des IBM Cloud-SSH-Schlüssels
:   {#ibm-cloud-platform-discovery__table_b3t_2fx_jhb__entry__3}

    | CI | Beziehung | CI |
    |-|-|-|
    | Zugehöriges CI: cmdb_ci_ibm_datacenter |||
    | cmdb_ci_ibm_datacenter | Gehostet auf::Hostet | cmdb_ci_cloud_service_account |
    | cmdb_ci_ibm_datacenter | Enthält::enthalten von | cmdb_ci_availability_zone |
    | Zugehöriges CI: cmdb_ci_cloud_key_pair |||
    | cmdb_ci_cloud_key_pair | Gehostet auf::Hostet | cmdb_ci_cloud_service_account |
    [ ]

    {#ibm-cloud-platform-discovery__table_b3t_2fx_jhb}

Beziehungen für erkannte IBM Cloud Storage-Ressourcen
:   {#ibm-cloud-platform-discovery__table_u5s_gfx_jhb__entry__3}

    | CI | Beziehung | CI |
    |-|-|-|
    | Zugehöriges CI: cmdb_ci_ibm_datacenter |||
    | cmdb_ci_ibm_datacenter | Gehostet auf::Hostet | cmdb_ci_cloud_service_account |
    | cmdb_ci_ibm_datacenter | Enthält::enthalten von | cmdb_ci_availability_zone |
    | Zugehöriges CI: cmdb_ci_storage_volume |||
    | cmdb_ci_storage_volume | Gehostet auf::Hostet | cmdb_ci_ibm_datacenter |
    | cmdb_ci_storage_volume | Bereitgestellt::Bereitgestellt Von | cmdb_ci_storage_vol_snapshot |
    | Zugehöriges CI: cmdb_ci_storage_vol_snapshot |||
    | cmdb_ci_storage_vol_snapshot | Gehostet auf::Hostet | cmdb_ci_ibm_datacenter |
    | cmdb_ci_storage_vol_snapshot | Befindet sich in Zone::Zone enthält | cmdb_ci_availability_zone |
    | Zugehöriges CI: cmdb_ci_availability_zone |||
    | cmdb_ci_availability_zone | Enthält::enthalten von | cmdb_ci_storage_volume |
    [ ]

    {#ibm-cloud-platform-discovery__table_u5s_gfx_jhb}

Beziehungen für erkannte IBM Cloud Virtual Server-Ressourcen
:   {#ibm-cloud-platform-discovery__table_s4m_3fx_jhb__entry__3}

    | CI | Beziehung | CI |
    |-|-|-|
    | Zugehöriges CI: cmdb_ci_ibm_datacenter |||
    | cmdb_ci_ibm_datacenter | Gehostet auf::Hostet | cmdb_ci_cloud_service_account |
    | cmdb_ci_ibm_datacenter | Enthält::enthalten von | cmdb_ci_availability_zone |
    | cmdb_ci_ibm_datacenter | Gehostet auf::Hostet | cmdb_ci_vm_instance |
    | Zugehöriges CI: cmdb_ci_vm_instance |||
    | cmdb_ci_vm_instance | Gehostet auf::Hostet | cmdb_ci_ibm_datacenter |
    | cmdb_ci_vm_instance | Befindet sich in:Houses | cmdb_ci_availability_zone |
    | cmdb_ci_vm_instance | Verwendet:Verwendet Von | cmdb_ci_cloud_key_pair |
    | cmdb_ci_vm_instance | Enthält:Enthalten In | cmdb_ci_nic |
    | cmdb_ci_vm_instance | endpoint | cmdb_ci_nic |
    | Zugehöriges CI: cmdb_ci_availability_zone |||
    | cmdb_ci_availability_zone | Gehostet auf::Hostet | cmdb_ci_vm_instance |
    | Zugehöriges CI: cmdb_ci_nic |||
    | cmdb_ci_nic | Gehostet auf::Hostet | cmdb_ci_vm_instance |
    | Zugehöriges CI: cmdb_ci_os_template |||
    | cmdb_ci_os_template | Gehostet auf::Hostet | cmdb_ci_cloud_service_account |
    | cmdb_ci_os_template | Bereitgestellt::bereitgestellt von | cmdb_ci_vm_instance |
    | Zugehöriges CI: cmdb_ci_compute_security_group |||
    | cmdb_ci_compute_security_group | Gehostet auf::Hostet | cmdb_ci_cloud_service_account |
    | cmdb_ci_compute_security_group | Implementieren::implementiert von | cmdb_ci_vm_instance |
    | Zugehöriges CI: cmdb_ci_storage_volume |||
    | cmdb_ci_storage_volume | Gehostet auf::Hostet | cmdb_ci_ibm_datacenter |
    | cmdb_ci_storage_volume | Implementieren::implementiert von | cmdb_ci_vm_instance |
    | Zugehöriges CI: cmdb_ci_cloud_key_pair |||
    | cmdb_ci_cloud_key_pair | Gehostet Auf:Hosts | cmdb_ci_cloud_service_account |
    [ ]

    {#ibm-cloud-platform-discovery__table_s4m_3fx_jhb}

Beziehungen, die für die VM-Instanz erkannt wurden
:   {#ibm-cloud-platform-discovery__table_vdw_x45_3mb__entry__3}

    | CI | Beziehung | CI |
    |-|-|-|
    | Server \[cmdb_ci_Server\] | Virtualisiert von:: Virtualisiert | VM-Instanz \[cmdb_ci_instance\] |
    [ ]

    {#ibm-cloud-platform-discovery__table_vdw_x45_3mb}

## Daten erfasst von Service-MappingWährend der Tag-basierten Discovery {#ibm-cloud-platform-discovery__section_mtq_js983ubg_ppb}

Service-Mapping Verwendet die Tag-basierte Discovery, um Serviceinstanzzuordnungen einschließlich der Cloud-Komponenten zu erstellen. Die Service-MappingDie Anwendung enthält die folgenden vorkonfigurierten CI-Beziehungen, die für die Tag-basierte Discovery verwendet werden. Diese CI-Beziehungen sind ab Release 1.0.68 auf verfügbar ServiceNow Store. {#ibm-cloud-platform-discovery__id_yqp_xhy_qpb__entry__3}

| CI | Beziehung | CI |
|-|-|-|
| Konfigurationselement \[cmdb_ci\] | Gehostet auf::Hosts | Logisches Rechenzentrum \[cmdb_ci_logical_datacenter\] |
| Logisches Rechenzentrum \[cmdb_ci_logical_datacenter\] | Gehostet auf::Hosts | Cloud-Serviceaccount \[cmdb_ci_cloud_service_account\] |
[ ]

{#ibm-cloud-platform-discovery__id_yqp_xhy_qpb}

## Problembehandlung {#ibm-cloud-platform-discovery__section_sf2_nsj_yhb}

Wenn der Zuordnungsprozess nicht wie erwartet fortgesetzt wird, befolgen Sie die folgenden Vorschläge.{#ibm-cloud-platform-discovery__table_ggn_ypj_yhb__entry__3}

| Symptom | Ursache | Lösung |
|-|-|-|
| Discovery schlägt fehl. Die Discovery-Nachricht enthält die Informationen zu einem Fehler, der durch die REST-Zeitüberschreitung verursacht wurde. | Es gibt viele CIs, die die REST-Aufrufantwort in der Bereitstellung senden. Die MID-ServerDie REST-Aufrufantwort kann nicht verarbeitet werden, ohne die von gesteuerte Zeitgrenze zu überschreiten mid.sa.cloud.request_timeoutParameter. | Standardmäßig ist mid.sa.cloud.request_timeoutParameter ist auf 30000 Millisekunden festgelegt. Erhöhen Sie den Wert dieses Parameters für den relevanten MID-ServerUnd führen Sie die Discovery erneut aus. Hinweis: Wenn Konfigurationsparameter Zugehörige Liste für relevant MID-ServerZeigt diesen Parameter nicht an. Möglicherweise müssen Sie ihn hinzufügen. |
| Musterdesigner Schlägt während einer Debug-Sitzung fehl. Die MusterdesignerDie Nachricht enthält Informationen zu einem Fehler, der durch eine Zeitüberschreitung verursacht wurde. | Die MusterdesignerSchlägt aufgrund einer Zeitüberschreitung beim Muster-Debugging (und nicht während der Discovery) fehl. | Standardmäßig ist sa.debugger.max_timeoutParameter ist auf 240 Sekunden festgelegt. Erhöhen Sie den Wert dieses Parameters für den relevanten MID-Server. |
[ ]

{#ibm-cloud-platform-discovery__table_ggn_ypj_yhb}

