Découverte de la plateforme cloud IBM
L’application ServiceNow Découverte recherche IBM Cloud Platform des composants (API Softlayer v3 et v3.1 et API Bluemix v2) à l’aide des IBM Cloud Platform modèles. La détection de certaines de ces ressources peut nécessiter une mise à jour vers la dernière version de l’application Schémas de découverte et de mappage des services à partir du ServiceNow Store.
Vous pouvez utiliser les modèles sur les ServiceNow AI PlatformLondon versions Patch 7, Madrid Patch 2 ou ultérieures.
Demander des applications dans l'App Store
Visitez le ServiceNow Store pour afficher toutes les applications disponibles et pour obtenir des informations sur la soumission de demandes à la boutique. Pour obtenir des informations sur les notes de publication cumulatives pour toutes les applications publiées, consultez les ServiceNow Store notes 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. Un exemple est ibm-cred. Ordre Ordre dans lequel la plateforme teste 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 l’ordre des informations d’identification lors de l’utilisation d’un grand nombre d’informations d’identification ou lorsque la sécurité verrouille les utilisateurs après trois tentatives de connexion infructueuses. Si toutes les informations d’identification ont le même numéro d’ordre, ou aucun, l’instance teste les informations d’identification dans un ordre 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é pour l’API Softlayer. Utilisez la clé API Softlayer définie dans la console Softlayer. Clé API Bluemix Clé pour l’API Bluemix. Utilisez la clé API Bluemix définie dans la console IBM Cloud. - Cliquez sur Envoyer.
- Créer un compte de service IBM Cloud
- Utilisez les informations d’identification définies dans la procédure précédente pour créer le compte de service IBM Cloud.
- 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. Un exemple est ibm-snow ID de compte Nom de l’ID de compte IBM. Entrez l’ID du compte IBM. Informations d'identification Découverte Découverte les informations d’identification 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 Découverte calendrier
- Pour configurer un Découverte calendrier via , reportez-vous à Espace de travail de l'administrateur de Découverte la section Créer un IBM Découverte calendrier dans Espace de travail de l'administrateur de Découverte.
- Flux IBM : découverte horizontale
- Pour effectuer une découverte à l’aide d’un calendrier sans serveur, les modèles IBM Cloud Platform sélectionnés s’exécutent et découvrent les ressources IBM Cloud Platform.
- Pour effectuer une découverte à l’aide d’un compte de service, un calendrier complet de découverte de la plateforme cloud IBM s’exécute et détecte toutes les ressources de la plateforme cloud IBM 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 des réponses à grande échelle et une meilleure utilisation de la mémoire.
- Spécifiez tous les champs avec les mêmes valeurs que dans l’opération personnalisée Requête REST dans le cloud, sauf pour spécifier la table de la réponse, qui est définie dans le champ Nom de variable de réponse .
- Définissez Définir l’analyse sur Aucun.
- Spécifiez tous les champs avec les mêmes valeurs que dans l’opération personnalisée Requête REST dans le cloud, sauf pour spécifier la table de la réponse, qui est définie dans le champ Nom de variable de réponse .
- Fonctions EVAL
Utilisez la fonction EVAL suivante pour transformer la réponse API de l’équilibreur de charge en un format JSON complet. La réponse par défaut est au format suivant : « [<objets de ressource>] ».
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 au format suivant : « [<objets de ressource>] ».
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é LB (centre de données). La même fonction est utilisée pour les autres ressources à l’intérieur du schéma.
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 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 IBM Cloud, 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écouverte 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 API au format JSON complet, car la réponse intacte est formatée comme suit : « [<objets de ressources>] ».
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 des volumes 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 remplir la région dans la table des volumes de stockage.
var res = ""; res = IbmCloudDcToRegion.convertDctoRegion(${network_storage[].availability_zone});Utilisez la fonction EVAL suivante pour transformer la taille des stockages en gigaoctets en octets.
var rtrn = ''; var size = ${network_storage[].size}; rtrn = (parseInt(size) * 1073741824) + ‘’;Utilisez la fonction EVAL suivante pour transformer la taille des stockages en gigaoctets 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 dans un format avec lequel l’analyseur JSON peut travailler. Le JSON par défaut est enregistré dans
$vm_json_array, le nouveau JSON est 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 « activé » si l’état de l’alimentation est en cours d’exécution. La valeur « off » est renvoyée si l’état d’alimentation est désactivé.
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 construit une carte de hachages d’ensembles de hachages, connectant les machines virtuelles à leurs stockages réseau. La clé 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 établit 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 construit une carte de hachages d’ensemble de hachages 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 « vrai » 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 « vrai » 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 API au format JSON complet, car la réponse intacte est formatée comme suit : « [<objets de ressources>] ».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’emplacements uniques de la table « location_groups_az » en se basant sur la colonne « lg_id » et crée une nouvelle 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’emplacements, qui est stockée dans une nouvelle colonne du location_groups_az_uniquetable. Les enregistrements de liste sont divisés par des virgules à dessein, de sorte que des relations uniques puissent être établies dans des étapes consécutives.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 instances de service, activez les relations CI utilisées dans la découverte 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 découverte basée sur les balises.
- (Facultatif) Renseigner les champs Compte de service et Centre de données logique dans les CI dans le cloud
- À partir de la Schémas de découverte et de mappage des services version 1.30.2, vous pouvez améliorer les performances des requêtes en remplissant les champs Compte de service et Centre de données logique directement dans les CI cloud. Pour plus d'informations, consultez Amélioration des performances des requêtes avec remplissage direct des champs dans les tables CI.
Données collectées par Découverte lors d'une détection horizontale
- Équilibreur de charge IBM Cloud
- Groupes d'emplacements dans le cloud IBM
- Réseau dans le cloud IBM
- Organisations et espaces IBM Cloud
- Groupes de ressources cloud IBM
- Clé SSH dans le cloud IBM
- Stockage IBM Cloud
- Serveur virtuel IBM Cloud
- Ressources découvertes 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 du serveur de domaine de l’équilibreur de charge. short_description Description de l’équilibreur de charge que vous fournissez pour faciliter l’identification. operational_status État de l’équilibreur de charge, l’un des suivants : - EN LIGNE
- HORS LIGNE
Emplacement Emplacement du centre de données. État État de mise en service de l’équilibreur de charge. CI connexe : cmdb_ci_lb_service nom Nom du modèle créé, composé de : - 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 du 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 connexe : cmdb_ci_lb_pool nom Nom du modèle créé, composé de : - 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 : - « TOURNIQUET »
- « WEIGHTED_RR »
- « LEASTCONNECTION »
CI connexe : cmdb_ci_lb_pool_member nom Nom du modèle créé, composé de : - 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é de : - ID de membre
- ID de l'écouteur
ip_address Adresse IP d’un membre d’équilibreur de charge. server_id ID du membre dans le cloud IBM. load_balancer Nom de l’équilibreur de charge connexe. CI connexe : cmdb_ci_lb_health_service nom Nom du modèle créé, composé de : - 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’attente, en secondes, des réponses de vérification de l’intégrité. check_interval_sec Intervalle, en secondes, pour effectuer la vérification de l’intégrité. - Ressources détectées pour les groupes d’emplacements IBM Cloud
Champ Description CI principal : cmdb_ci_cloud_location_group nom Nom descriptif utilisé pour identifier un groupe d’emplacements. object_id ID de l’enregistrement du groupe d’emplacements. Nom de locationGroupType Le nom du type de groupe d’emplacements. short_description Une petite remarque sur un groupe d’emplacements à utiliser à votre discrétion. ID du type locationGroup ID du type de groupe d’emplacements. - 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 de l’espace réseau. La valeur est soit : - vrai si le network_space est « PUBLIC »
- false si le network_space est « PRIVATE ».
État L’état a la valeur « disponible ». CI connexe : cmdb_ci_cloud_subnet nom Nom, composé de : « network_identifier/cidr » object_id Identificateur unique du sous-réseau. subnet_mask Masque réseau du sous-réseau. passerelle Adresse IP de la passerelle. cidr Méthode d’allocation des adresses IP et d’acheminement IP : « network_identifier/cidr ». catégorie 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 connexe : 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 connexe : cmdb_ci_compute_security_group_rule nom Champ ayant la même valeur que le champ de object_id règle de groupe de sécurité. object_id Identificateur unique de règle de groupe de sécurité. création Date de création du CI. direction Orientation de l’information. L’un des éléments suivants : - Entrant
- sortant
EtherType Ethertype. L’un des éléments suivants : - IPv4
- IPv6
port_range_min Premier port de la plage à laquelle la règle s’applique. port_range_max 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/destination. Cela signifie que cette règle s’applique à toutes les adresses IP qui ont été configurées dans ce groupe de sécurité. - Organisations et espace cloud IBM Ressources détectées
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 Mode de facturation utilisé par l’organisation. L’un des deux : - Activé/(VRAI)
- Désactivé/(FAUX)
quota_definition_url Ressources mises à la disposition d’une organisation. spaces_url URL unique de l’espace affecté à l’organisation. operational_status Statut opérationnel de l’organisation. CI connexe : 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 autorisé. Booléen, l’un des deux : - VRAI
- FAUX
URL URL de l’espace à partir de la description des métadonnées. - Ressources détectées par IBM Cloud Resource Groups
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 pour la clé SSH dans le cloud IBM
Champ Description CI principal : cmdb_ci_cloud_key_pair nom Nom permettant d’identifier une clé SSH. object_id ID de l’enregistrement de 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 apportés sont ignorés. Créé _date Date à laquelle la clé SSH a été ajoutée. Lecture seule. Les changements apportés sont ignorés. modify_date Date à laquelle la clé SSH a été modifiée. Lecture seule. Les changements apportés sont ignorés. short_description Description SSH que vous fournissez pour faciliter l’identification. CI connexe : 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 d’état sur le centre de données IBM. sys_class_name Classe du centre de données CI connexe : cmdb_ci_cloud_service_account nom Nom du compte de service dans le cloud. account_id ID de compte pour ce compte de service dans le cloud. discovery_credentials Informations d’identification de ce compte de service dans le cloud. datacenter_url URL utilisée pour renseigner les centres de données logiques (CDL). 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 IBM Cloud Storage détectées
Champ Description CI principal : cmdb_ci_storage_volume nom Nom d’utilisateur utilisé pour : - accéder à un volume de stockage non EVault
- enregistrez l’agent du serveur EVault avec le système de sauvegarde du coffre-fort
object_id Identificateur unique de compte de stockage. taille 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 connexe : cmdb_ci_storage_vol_snapshot nom Nom d’une ressource de réseau de stockage. object_id Identificateur unique de stockage. Capacité Capacité du volume d’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 connexe : 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 d’état sur le centre de données IBM. sys_class_name Classe du centre de données CI connexe : cmdb_ci_cloud_service_account nom Nom du compte de service dans le cloud. account_id ID de compte pour ce compte de service dans le cloud. discovery_credentials Informations d’identification de ce compte de service dans le cloud. datacenter_url URL utilisée pour renseigner les centres de données logiques. 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 connexe : cmdb_ci_availability_zone nom Nom de la zone de disponibilité (AZ). object_id Identificateur unique de cette ressource. short_description Description de la zone de disponibilité que vous fournissez. - Ressources détectées par le serveur virtuel IBM Cloud
Champ Description CI principal : cmdb_ci_vm_instance nom Nom du VM. object_id Identificateur unique de l’ordinateur virtuel. dns_domain Nom du serveur de domaine du VM. fqdn Adresse IP du VM. 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. mémoire Taille de mémoire affectée à cet ordinateur virtuel. disques Nombre de disques affectés à cet ordinateur virtuel. État État en cours d’exécution de l’ordinateur virtuel.
- Activé : renvoyé comme « En cours d’exécution » par l’API.
- Désactivé : renvoyé comme « Interrompu » par l’API.
placement_group_id ID du groupe d’emplacements. cartes réseau Nombre de cartes réseau. CI connexe : cmdb_ci_nic nom Nom, composé de : - Nom de l’équilibreur de charge
- Port
object_id Identificateur unique de la carte réseau. ip_address IP configurée sur la carte réseau. mac_address Détails MAC de la carte réseau. masque réseau Masque utilisé pour diviser l’adresse IP en sous-réseaux et spécifier les hôtes disponibles dans le réseau. statut État de la carte réseau. CI connexe : 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. hôte Identificateur d’hôte. CI connexe : cmdb_ci_storage_volume nom Nom d’utilisateur utilisé pour : - accéder à un volume de stockage non EVault
- enregistrez l’agent du serveur EVault avec le système de sauvegarde du coffre-fort
object_id Identificateur unique de compte de stockage. taille 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 connexe : cmdb_ci_endpoint_nfs nom Nom du point de terminaison NFS. hôte Identificateur d’hôte. protocol Protocole qui a été appliqué. type Type de point de terminaison NFS. création 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écouverte. Par exemple, ServiceWatch host_name Nom d’hôte du point de terminaison NFS CI connexe : cmdb_ci_endpoint_iscsi hôte Identificateur d’hôte pour le point de terminaison ISCSI. port Port permettant de déterminer le mode de contact entre GCP iSCSI et les ordinateurs virtuels. protocol Protocole qui a été appliqué. type Type de point de terminaison ISCSI création 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écouverte. Par exemple, ImportSet host_name Nom d’hôte du point de terminaison ISCSI CI connexe : cmdb_ci_endpoint_block nom Nom du point de terminaison du bloc. object_id Identificateur unique du point de terminaison de bloc. hôte Identificateur d’hôte. CI connexe : cmdb_ci_os_template nom Nom de l'image. Par exemple, « CentOS 7.0-64 Minimal 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 root. image_source Source de l’image. image_type Type d'image. infuse_key Clé utilisée pour infuser l’image. update_host_name Mettez à jour le nom d’hôte de l’image. informations d'identification Informations d’identification pour l’image. version Version du SE. Par exemple, « 7,0-64 minimal pour VSI ». CI connexe : cmdb_ci_cloud_key_pair nom Nom permettant d’identifier une clé (étiquette de clé). object_id ID de l’enregistrement clé. key Enregistrement clé. finger_print Courte séquence d’octets utilisée pour authentifier ou rechercher une clé. Cette valeur est automatiquement générée lors de l’ajout ou de la modification de la clé. Lecture seule. Les changements apportés sont ignorés. Créé _date Date à laquelle la clé a été ajoutée. Lecture seule. Les changements apportés sont ignorés. modify_date Date à laquelle la clé a été modifiée. Lecture seule. Les changements apportés sont ignorés. short_description Description que vous fournissez pour faciliter l'identification. CI connexe : 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 connexe : cmdb_ci_endpoint_comp_security hôte 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. création Date à laquelle le point de terminaison de sécurité de calcul a été ajouté. Lecture seule. Les changements apportés sont ignorés. mises à jour Date à laquelle le point de terminaison de sécurité de calcul a été modifié. Lecture seule. Les changements apportés sont ignorés. discovery_source Source de la découverte. Par exemple, Saisie manuelle. host_name Nom d’hôte du point de terminaison de sécurité de calcul. CI connexe : 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 d’état sur le centre de données IBM. sys_class_name Classe du centre de données CI connexe : cmdb_ci_availability_zone nom Nom de la zone de disponibilité (AZ). object_id Identificateur unique de cette ressource. short_description Description de la zone de disponibilité que vous fournissez. CI connexe : cmdb_ci_cloud_service_account nom Nom du compte de service dans le cloud. account_id ID de compte pour ce compte de service dans le cloud. discovery_credentials Informations d’identification de ce compte de service dans le cloud. datacenter_url URL utilisée pour renseigner les centres de données logiques. 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 connexes
Relations CI
Ces relations sont créées pour prendre en charge la détection IBM Cloud Platform.
- Relations pour les ressources découvertes de l’équilibreur de charge IBM Cloud
CI Relation CI CI connexe : cmdb_ci_ibm_datacenter cmdb_ci_ibm_datacenter Hébergé sur::Hôtes cmdb_ci_cloud_service_account cmdb_ci_ibm_datacenter Contient ::Contenu par cmdb_ci_availability_zone CI connexe : cmdb_ci_cloud_load_balancer cmdb_ci_cloud_load_balancer Hébergé sur::Hôtes cmdb_ci_ibm_datacenter cmdb_ci_cloud_load_balancer Contient ::Contenu par cmdb_ci_lb_health_service CI connexe : cmdb_ci_availability_zone cmdb_ci_availability_zone Hébergé sur::Hôtes cmdb_ci_cloud_load_balancer cmdb_ci_availability_zone Contient ::Contenu par cmdb_ci_lb_service CI connexe : cmdb_ci_lb_service cmdb_ci_lb_service Hébergé sur::Hôtes cmdb_ci_cloud_load_balancer cmdb_ci_lb_service Contient ::Contenu par cmdb_ci_lb_pool CI connexe : cmdb_ci_lb_pool cmdb_ci_lb_pool Hébergé sur::Hôtes cmdb_ci_cloud_load_balancer cmdb_ci_lb_pool Possède ::Appartient à cmdb_ci_lb_pool_member CI connexe : cmdb_ci_lb_health_service cmdb_ci_lb_health_service Contient ::Contenu par cmdb_ci_cloud_load_balancer - Relations pour les groupes d’emplacements IBM Cloud Ressources détectées
CI Relation CI CI connexe : cmdb_ci_ibm_datacenter cmdb_ci_ibm_datacenter Hébergé sur::Hôtes cmdb_ci_cloud_service_account cmdb_ci_ibm_datacenter Contient ::Contenu par cmdb_ci_availability_zone CI connexe : 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 Contient ::Contenu par cmdb_ci_availability_zone - Relations pour les ressources IBM Cloud Network détectées
CI Relation CI CI connexe : cmdb_ci_ibm_datacenter cmdb_ci_ibm_datacenter Hébergé sur::Hôtes cmdb_ci_cloud_service_account cmdb_ci_ibm_datacenter Contient ::Contenu par cmdb_ci_availability_zone CI connexe : cmdb_ci_network cmdb_ci_network Hébergé sur::Hôtes cmdb_ci_ibm_datacenter cmdb_ci_network Contient ::Contenu par cmdb_ci_cloud_subnet CI connexe : cmdb_ci_compute_security_group cmdb_ci_compute_security_group Hébergé sur::Hôtes cmdb_ci_cloud_service_account cmdb_ci_compute_security_group Contient ::Contenu par cmdb_ci_compute_security_group_rule - Relations pour les groupes de ressources IBM Cloud Ressources détectées
CI Relation CI CI connexe : 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 clé SSH IBM Cloud
CI Relation CI CI connexe : cmdb_ci_ibm_datacenter cmdb_ci_ibm_datacenter Hébergé sur::Hôtes cmdb_ci_cloud_service_account cmdb_ci_ibm_datacenter Contient ::Contenu par cmdb_ci_availability_zone CI connexe : cmdb_ci_cloud_key_pair cmdb_ci_cloud_key_pair Hébergé sur::Hôtes cmdb_ci_cloud_service_account - Relations pour les ressources IBM Cloud Storage détectées
CI Relation CI CI connexe : cmdb_ci_ibm_datacenter cmdb_ci_ibm_datacenter Hébergé sur::Hôtes cmdb_ci_cloud_service_account cmdb_ci_ibm_datacenter Contient ::Contenu par cmdb_ci_availability_zone CI connexe : cmdb_ci_storage_volume cmdb_ci_storage_volume Hébergé sur::Hôtes cmdb_ci_ibm_datacenter cmdb_ci_storage_volume Mis en service ::P prévu à partir de cmdb_ci_storage_vol_snapshot CI connexe : cmdb_ci_storage_vol_snapshot cmdb_ci_storage_vol_snapshot Hébergé sur::Hôtes cmdb_ci_ibm_datacenter cmdb_ci_storage_vol_snapshot Situé dans Zone ::Zone contient cmdb_ci_availability_zone CI connexe : cmdb_ci_availability_zone cmdb_ci_availability_zone Contient ::Contenu par cmdb_ci_storage_volume - Relations pour les ressources découvertes du serveur virtuel IBM Cloud
CI Relation CI CI connexe : cmdb_ci_ibm_datacenter cmdb_ci_ibm_datacenter Hébergé sur::Hôtes cmdb_ci_cloud_service_account cmdb_ci_ibm_datacenter Contient ::Contenu par cmdb_ci_availability_zone cmdb_ci_ibm_datacenter Hébergé sur::Hôtes cmdb_ci_vm_instance CI connexe : cmdb_ci_vm_instance cmdb_ci_vm_instance Hébergé sur::Hôtes cmdb_ci_ibm_datacenter cmdb_ci_vm_instance Situé dans :Maisons cmdb_ci_availability_zone cmdb_ci_vm_instance Utilisations :Utilisé par cmdb_ci_cloud_key_pair cmdb_ci_vm_instance Contient :Contenu par cmdb_ci_nic cmdb_ci_vm_instance endpoint cmdb_ci_nic CI connexe : cmdb_ci_availability_zone cmdb_ci_availability_zone Hébergé sur::Hôtes cmdb_ci_vm_instance CI connexe : cmdb_ci_nic cmdb_ci_nic Hébergé sur::Hôtes cmdb_ci_vm_instance CI connexe : cmdb_ci_os_template cmdb_ci_os_template Hébergé sur::Hôtes cmdb_ci_cloud_service_account cmdb_ci_os_template Mis en service ::P prévu par cmdb_ci_vm_instance CI connexe : cmdb_ci_compute_security_group cmdb_ci_compute_security_group Hébergé sur::Hôtes cmdb_ci_cloud_service_account cmdb_ci_compute_security_group Implémenter ::Implémenté à partir de cmdb_ci_vm_instance CI connexe : cmdb_ci_storage_volume cmdb_ci_storage_volume Hébergé sur::Hôtes cmdb_ci_ibm_datacenter cmdb_ci_storage_volume Implémenter ::Implémenté à partir de cmdb_ci_vm_instance CI connexe : cmdb_ci_cloud_key_pair cmdb_ci_cloud_key_pair Hébergé sur :Hôtes cmdb_ci_cloud_service_account - Relations détectées pour l’instance d’ordinateur virtuel
CI Relation CI Serveurs [cmdb_ci_server] Virtualisé par :: virtualise 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. |