Détection de plateforme IBM Cloud
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
Visitez le site Web ServiceNow Store 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.
Prérequis
- 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).
- 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.
- Accédez à la .
- Cliquez sur Nouveau.
- Cliquez sur Informations d'identification IBM, puis remplissez le formulaire :
Tableau 1. Formulaire Informations d'identification Champ Description Nom Nom des informations d'identification. Par exemple, ibm-cred. 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. - Cliquez sur Envoyer.
- 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.
- Accédez à la .
- Cliquez sur Nouveau.
- Renseignez les champs suivants du formulaire :
Tableau 2. Formulaire Compte de services dans le cloud Champ Description Nom Nom des informations d'identification. Par exemple, ibm-snow 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, Centre de données IBM [cmdb_ci_ibm_datacenter] - Cliquez sur Envoyer.
- Créer un calendrier Découverte sans serveur
- Configurez Découverte sans serveur.
- Dans le , accédez Now Platformà .
- Cliquez sur Nouveau.
- Renseignez les champs suivants du formulaire :
Tableau 3. Formulaire Calendrier Découverte Champ Description Nom Nom de ce calendrier Découverte. Par exemple, Modèle sans serveur Détecter Type de détection. Sélectionnez Sans serveur. Serveur MID Nom du Serveur MID. Par exemple, Discovery_Server 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. - Cliquez avec le bouton droit sur l'en-tête du formulaire Calendrier Découverte, puis sélectionnez Enregistrer.
- Cliquez sur l'onglet Modèles d'exécution sans serveur.
- Cliquez sur Nouveau.
- Renseignez les champs suivants du formulaire :
Tableau 4. Formulaire Modèle d'exécution sans serveur Champ Description Nom Nom de ce modèle d'exécution sans serveur. Par exemple, IBM1 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. - Configurez les paramètres requis par le modèle IBM Cloud Platform comme suit :
Tableau 5. Paramètres du lanceur de modèle Découverte 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 - Mettre à jour.
- Pour démarrer Découverte, accédez à la définition Découverte sans serveur et cliquez sur Détecter maintenant.
- 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.
- Opération personnalisée dans le cloud
- REST dans le cloud - Ajouter une réponse au contexteOpé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.
- 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.
- 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
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.
Données collectées par Découverte lors d'une détection horizontale
- É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
- Ressources détectées de l'équilibreur de charge IBM Cloud
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
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
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
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 »
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 »
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
object_id Identificateur unique du membre du pool d'équilibreurs de charge, composé des éléments suivants : - ID de membre
- ID d'écouteur
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
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
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é. - Ressources détectées des groupes d'emplacement IBM Cloud
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. - Ressources détectées du réseau IBM Cloud
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É ».
É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
Ethertype Ethertype. L'un des éléments suivants : - IPv4
- IPv6
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é. - Ressources détectées des organisations et espaces IBM Cloud
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)
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
URL URL de l'espace à partir de la description des métadonnées. - Ressources détectées des groupes de ressources IBM Cloud
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. - Ressources détectées de la clé SSH IBM Cloud
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. - Ressources détectées du stockage IBM Cloud
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.
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. - Ressources détectées du serveur virtuel IBM Cloud
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é ».
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
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.
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. - Serveur virtuel IBM Cloud - Vue des éléments associés
Relations CI
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
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 - Relations pour les ressources détectées des groupes d'emplacement IBM Cloud
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 - Relations pour les ressources détectées du réseau IBM Cloud
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 - Relations pour les ressources détectées des groupes de ressources IBM Cloud
CI Relation CI CI associé : cmdb_ci_resource_group cmdb_ci_resource_group Hébergé sur : Hôtes cmdb_ci_cloud_service_account - Relations pour les ressources détectées de la clé SSH IBM Cloud
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 - Relations pour les ressources détectées du stockage IBM Cloud
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 - Relations pour les ressources détectées du serveur virtuel IBM Cloud
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 - Relations détectées pour l'instance d'ordinateur virtuel
CI Relation CI Serveurs [cmdb_ci_server] Virtualized by:: Virtualizes Instance d'ordinateur virtuel [cmdb_ci_instance]
Données collectées par Mappage des services lors de la détection basée sur les balises
| 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] |
Dépannage
| 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. |