IBM Cloud プラットフォームディスカバリー
ServiceNow ディスカバリー アプリケーションでは、IBM Cloud Platform パターンを使用して、IBM Cloud Platform コンポーネント (Softlayer API v3、v 3.1、Bluemix API v2) を検索します。 これらのリソースを検出するには、ServiceNow Storeから最新バージョンの ディスカバリーとサービスマッピングパターン アプリケーションに更新する必要がある場合があります。
このパターンを ServiceNow AI Platform で使用するには、London パッチ 7、Madrid パッチ 2、またはそれ以降のリリースを使用します。
ストアでアプリを要求する
ServiceNow Storeにアクセスして、利用可能なすべてのアプリを表示し、ストアに要求を送信する方法を確認してください。リリースされたすべてのアプリのリリースメモ情報については、「ServiceNow Store バージョンの履歴リリースノート」を参照してください。
必須条件
- MID サーバー
- クラウドディスカバリー専用 MID サーバー を使用します。MID サーバー には、16 コア、8 GB が搭載され、4 GB の Java Memory Model (JVM) メモリが割り当てられている必要があります。
- 認証情報
- クラウドリソースは IBM クラウドにあります。IBM アカウントにアクセスするための IBM 認証情報を作成します。
- 移動先 .
- [新規] をクリックします。
- [IBM 認証情報] をクリックしてフォームに入力します。
表 : 1. 認証情報フォーム フィールド 説明 名前 認証情報名。例:ibm-cred。 順序 プラットフォームでデバイスへのログオンを試行するときに、この認証情報を試行する順序。値が小さいほど、認証情報がリストの上位に表示されます。多くの認証情報を使用する場合、またはログイン試行が 3 回失敗してセキュリティによってユーザーがロックアウトされた場合、認証情報の順序を確立します。すべての認証情報の順序番号が同じであるか、または順序番号がない場合、インスタンスは認証情報をランダムな順序で試行します。デフォルト値は 100 です。 Softlayer API ユーザー Softlayer API のユーザー名。Softlayer コンソールで定義された Softlayer API ユーザー名を使用します。 Softlayer API キー Softlayer API のキー。Softlayer コンソールで定義された Softlayer API キーを使用します。 Bluemix API キー Bluemix API のキー。IBM Cloud コンソールで定義された Bluemix API キーを使用します。 - [送信] をクリックします。
- IBM Cloud サービスアカウントの作成
- 前の手順で定義した認証情報を使用して、IBM Cloud サービスアカウントを作成します。
- 移動先 .
- [New] をクリックします。
- フォームのフィールドに入力します。
表 : 2. クラウドサービスアカウントフォーム フィールド 説明 名前 認証情報名。例:ibm-snow アカウント ID IBM アカウント ID 名。IBM アカウント ID を入力します。 ディスカバリー 認証情報 以前に定義した ディスカバリー 認証情報。 データセンタータイプ データセンタータイプ。例:IBM データセンター [cmdb_ci_ibm_datacenter] - [送信] をクリックします。
- ディスカバリースケジュールを作成
- ディスカバリーアドミンワークスペース を使用してディスカバリースケジュールを構成するには、「ディスカバリーアドミンワークスペース での IBM ディスカバリースケジュールの作成」を参照してください。
- IBM フロー:水平ディスカバリー
- サーバーなしスケジュールを使用して検出を実行するには、選択された IBM Cloud プラットフォームパターンを実行し、IBM Cloud プラットフォームリソースを検出します。
- サービスアカウントを使用して検出を実行するには、完全な IBM Cloud プラットフォームディスカバリースケジュールを実行し、サポートされているすべての IBM Cloud プラットフォームリソースを検出します。
- クラウドカスタム操作
- クラウド REST – コンテキストに応答を追加大規模な応答と効率的なメモリ使用をサポートするクラウド REST クエリの操作。
- [応答変数名 (Response Variable Name)] フィールドで設定されている応答のテーブルを指定する場合を除き、クラウド REST クエリのカスタム操作と同じ値を持つすべてのフィールドを指定します。
- [解析を定義] を [なし] に設定します。
- [応答変数名 (Response Variable Name)] フィールドで設定されている応答のテーブルを指定する場合を除き、クラウド REST クエリのカスタム操作と同じ値を持つすべてのフィールドを指定します。
- EVAL 関数
次の EVAL 関数を使用して、ロードバランサー API 応答を完全な JSON 形式に変換します。デフォルトの応答の形式は、「[<リソースオブジェクト>]」に設定されています。
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;次の EVAL 関数を使用して、ネットワーク API 応答を完全な JSON 形式に変換します。デフォルトの応答の形式は、「[<リソースオブジェクト>]」に設定されています。
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);次の EVAL 関数を使用して、LB アベイラビリティゾーン (データセンター) から IBM リージョンを取得します。パターン内の他のリソースにも同じ関数が使用されます。
var res = ""; res = IbmCloudDcToRegion.convertDctoRegion(${cloud_lb[].cloud_lb_az_short_name});次の EVAL 関数を使用して、パターン内で必要なアルゴリズムを選択します。
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;次の EVAL 関数を使用して、組織とそれに対応するスペースをホストするアカウントに対して一意のリージョンを解析します。
var tableWithoutDuplicates = ''; tableWithoutDuplicates = DuplicateRemover.removeDuplicates(${account_region},["region_name"]); CTX.setAttribute("account_region_unique", tableWithoutDuplicates);次の EVAL 関数を使用して、IBM クラウドアカウントにアサインされているすべての組織の情報を取得します。ここでは、一意のリージョンを取得する反復処理が実行されます。
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);次の EVAL 関数を使用して、IBM クラウドアカウントにアサインされているすべてのスペースの情報を取得します。ここでは、一意のリージョンを取得する反復処理が実行されます。
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); }次の EVAL 関数を使用して、一意のリージョンに基いてすべてのスペースをフィルタリングします。
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;次の EVAL 関数を使用して、ストレージ検出に基いてすべてのスペースをフィルタリングします。
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);変更されない応答は「[<リソースオブジェクト>]」という形式であるため、次の EVAL 関数を使用して、API 応答を完全な JSON 形式に変換します。
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);次の EVAL 関数を使用して、アベイラビリティゾーンをストレージボリュームテーブルに入力します。
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; }次の EVAL 関数を使用して、リージョンをストレージボリュームテーブルに入力します。
var res = ""; res = IbmCloudDcToRegion.convertDctoRegion(${network_storage[].availability_zone});次の EVAL 関数を使用して、ストレージのサイズをギガバイトからバイトに変換します。
var rtrn = ''; var size = ${network_storage[].size}; rtrn = (parseInt(size) * 1073741824) + ‘’;次の EVAL 関数を使用して、ストレージのサイズをギガバイトからバイトに変換します。
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);次の EVAL クロージャを使用して、API から受信した JSON を JSON パーサーで使用できる形式に変換します。デフォルトの JSON は
$vm _json_arrayに保存されていますが、新しい JSON は$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);次の EVAL クロージャを使用して、電源ステータスが「オン」である場合は、「on」を返します。電源ステータスが「オフ」の場合は、値「off」が返されます。
var power = ${cmdb_ci_vm_instance[].state}; var rtrn = ''; if (power == 'Running'){ rtrn = "on"; } else { rtrn = "off" }次の EVAL クロージャを使用して、指定されたアベイラビリティゾーン名に基づいて CI のリージョンを返します。
var az = ${cmdb_ci_vm_instance[].avail_zone}; var rtrn = ''; rtrn = IbmCloudDcToRegion.convertDctoRegion(az);次の EVAL クロージャを使用して、HashSets の HashMap をビルドし、VM をネットワークストレージに接続します。次のキーが使用されます。- P = ページ
- V = VM
- N = ネットワークストレージ
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);次の EVAL クロージャを使用して、テーブルから重複エントリを削除します。
var tableWithoutDuplicates = ''; tableWithoutDuplicates = DuplicateRemover.removeDuplicates(${cmdb_ci_os_template},["object_id"]); CTX.setAttribute("cmdb_ci_os_template", tableWithoutDuplicates);次の EVAL クロージャを使用して、現在のセキュリティグループ ID に関連する VM ID のリストを作成します。
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;次の EVAL クロージャを使用して、セキュリティグループとそれを使用するように設定された VM の間で HashSet の HashMap をビルドします。
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);次の EVAL クロージャを使用して、現在の VM が現在のセキュリティグループ ID を使用している場合は「true」を返します。
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);次の EVAL クロージャを使用して、現在の VM が現在のストレージボリュームを使用している場合は「true」を返します。
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' }変更されない応答は「[<リソースオブジェクト>]」という形式であるため、次の EVAL 関数を使用して、API 応答を完全な JSON 形式に変換します。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);列「lg_id」に基づいて「location_groups_az」テーブル内の一意のロケーショングループを解析し、その結果を格納する新しいテーブル「location_groups_az_unique」を作成します。var tableWithoutDuplicates= ''; tableWithoutDuplicates = DuplicateRemover.removeDuplicates(${location_groups_az},["lg_id"]); CTX.setAttribute("location_groups_az_unique", tableWithoutDuplicates);ロケーショングループごとのアベイラビリティゾーンのリストを作成します。このリストは、location_groups_az_uniquetable 内の新しい列に保存されます。リストレコードはカンマで区切られているため、連続的な手順で一意の関係性を作成できます。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;- クラウド関連 CI 関係の有効化
- 検出されたコンポーネントをサービスインスタンスに含めるには、サービスマッピングによるタグベースのディスカバリーで使用される CI 関係を有効にします。これらの CI 関係は、ServiceNow Store の 1.0.68 リリースから利用可能です。操作手順については「タグベースのディスカバリーの構成」を参照してください。
- (オプション)クラウド CI の [サービスアカウント] フィールドと [論理データセンター] フィールドへの入力
- バージョン 1.30.2 以降 ディスカバリーとサービスマッピングパターン クラウド CI で [サービスアカウント] フィールドと [論理データセンター] フィールドを直接入力することで、クエリのパフォーマンスを向上させることができます。詳細については、「CI テーブルでのフィールドの直接入力によるクエリパフォーマンスの向上」を参照してください。
水平ディスカバリー中に ディスカバリー によって収集されるデータ
- IBM Cloud ロードバランサー
- IBM Cloud ロケーショングループ
- IBM Cloud Network
- IBM Cloud 組織およびスペース
- IBM Cloud リソースグループ
- IBM Cloud SSH キー
- IBM Cloud ストレージ
- IBM Cloud 仮想サーバー
- IBM Cloud ロードバランサー検出リソース
フィールド 説明 メイン CI:cmdb_ci_cloud_load_balancer name ロードバランサー名。 object_id ロードバランサーの一意の識別子。 fqdn ロードバランサーのアドレス (ホスト名)。 dns_name ロードバランサーのドメインサーバー名。 short_description 簡単に識別できるように入力したロードバランサーの説明。 operational_status ロードバランサーのステータス。次のいずれかになります。 - ONLINE
- OFFLINE
location データセンターの場所。 state ロードバランサーのプロビジョニングステータス。 関連 CI:cmdb_ci_lb_service name パターン作成名。以下で構成されます。 - ロードバランサー名
- プロトコルのタイプ
- リソースタイプリスナー
object_id ロードバランサーの一意の識別子。 port リスナーのポート番号。 front_end_port リスナーのプロトコルポート番号。 listener_protocol リスナーのプロトコル。次のいずれかのプロトコルになります。 - TCP
- HTTP
- HTTPS
operational_status リスナーのプロビジョニングステータス。 関連 CI:cmdb_ci_lb_pool name パターン作成名。以下で構成されます。 - ロードバランサー名
- プロトコルのタイプ
- port
- リソースタイプ「pool」
object_id ロードバランサープールの一意の識別子。 port バックエンドのプロトコルポート。 pool_status ロードバランサープールのプロビジョニングステータス。 load_balancing_method 負荷分散方法。次のいずれかのアルゴリズムになります。 - 「ROUNDROBIN」
- 「WEIGHTED_RR」
- 「LEASTCONNECTION」
関連 CI:cmdb_ci_lb_pool_member name パターン作成名。以下で構成されます。 - ロードバランサー名
- プロトコルのタイプ
- プールメンバーの IP アドレス
object_id ロードバランサープールメンバーの一意の識別子。以下で構成されます。 - メンバー ID
- リスナー ID
ip_address ロードバランサーメンバーの IP アドレス。 server_id IBM Cloud のメンバーの ID。 load_balancer 関連するロードバランサーの名前。 関連 CI:cmdb_ci_lb_health_service name パターン作成名。以下で構成されます。 - ロードバランサー名
- プロトコルのタイプ
- リソースタイプ:健全性チェック
- リソース ID
object_id 健全性サービスチェックの一意の識別子。 monitor_type 健全性チェックタイプ。次のいずれかになります。 - TCP
- HTTP
- HTTPS
timeout_sec 健全性チェック応答を待機する場合のタイムアウト (秒)。 check_interval_sec 健全性チェックを実行する間隔 (秒)。 - IBM Cloud ロケーショングループ検出リソース
フィールド 説明 メイン CI:cmdb_ci_cloud_location_group name ロケーショングループの識別に使用されるわかりやすい名前。 object_id ロケーショングループレコードの ID。 locationGroupType 名 ロケーショングループタイプの名前。 short_description 自身の判断で使用するロケーショングループに関する簡単なメモ。 locationGroup タイプ ID ロケーショングループタイプの ID。 - IBM Cloud ネットワークディスカバリーリソース
フィールド 説明 メイン CI:cmdb_ci_network name VLAN 番号。 object_id ネットワークの一意の識別子。 access_port_vlan VLAN 番号。 is_external ネットワークスペース値。値は次のいずれかです。 - network_space が「PUBLIC」である場合は true
- network_space が「PRIVATE」である場合は false
state ステータスの値は「利用可能」です。 関連 CI:cmdb_ci_cloud_subnet name 名前。「network_identifier/cidr」で構成されます。 object_id サブネットの一意の識別子。 subnet_mask サブネットのネットマスク。 gateway ゲートウェイ IP アドレス。 cidr IP アドレスおよび IP ルーティングを割り当てる方式:「network_identifier/cidr」。 category サブネットタイプ。 broadcast_address サブネットブロードキャストアドレス。 available_ip_count サブネットで利用可能な IP アドレスの数。 関連 CI:cmdb_ci_compute_security_group name セキュリティグループ名。 object_id セキュリティグループの一意の識別子。 short_description 簡単に識別できるように入力したセキュリティグループの説明。 関連 CI:cmdb_ci_compute_security_group_rule name セキュリティグループルールの object_id フィールドと同じ値を持つフィールド。 object_id セキュリティグループルールの一意の識別子。 created CI が作成された日付。 direction 情報の方向。次のいずれかになります。 - 受信
- 送信
Ethertype Ethertype。次のいずれかになります。 - IPv4
- IPv6
port_range_min ルールが適用される範囲の最初のポート。 port_range_max ルールが適用される範囲の最後のポート。 protocol ルールが適用されるプロトコル。 remote_group_id ソース/宛先セキュリティグループのセキュリティグループ ID。これは、このセキュリティグループ内に設定されたすべての IP アドレスに、このルールが適用されることを意味します。 - IBM Cloud 組織およびスペース検出リソース
フィールド 説明 メイン CI:cmdb_ci_cloud_org name クラウド組織の名前。 guid 組織の一意の識別子。 URL 組織の一意の URL。 billing_enabled 組織で使用している請求方法。次のいずれかになります。 - 有効/(TRUE)
- 無効/(FALSE)
quota_definition_url 組織で利用可能なリソース。 spaces_url 組織に割り当てられたスペースの一意の URL。 operational_status 組織の運用ステータス。 関連 CI:cmdb_ci_cloud_space name スペースの一意の名前。 object_id スペースの一意の識別子 (guid)。 alllow_ssh SSH 経由のアプリケーションへのアクセスが許可されているか、許可されていないか。ブール値。次のいずれかになります。 - TRUE
- FALSE
URL メタデータ記述からのスペースの URL。 - IBM Cloud リソースグループ検出リソース
フィールド 説明 メイン CI:cmdb_ci_resource_group name リソースグループの名前。 object_id リソースグループの一意の識別子。 quota_id リソースグループに関連付けられているクォータ ID を示す値。 - IBM Cloud SSH キー検出リソース
フィールド 説明 メイン CI:cmdb_ci_cloud_key_pair name SSH キーを識別するための名前。 object_id SSH キーレコードの ID。 key SSH キーレコード。 finger_print 長い SSH キーの認証またはルックアップに使用される短いバイトシーケンス。この値は、SSH キーの追加または変更時に自動的に生成されます。読み取り専用。行われた変更は無視されます。 created _date SSH キーが追加された日付。読み取り専用。行われた変更は無視されます。 modify_date SSH キーが修正された日付。読み取り専用。行われた変更は無視されます。 short_description 簡単に識別できるように入力した SSH の説明。 関連 CI:cmdb_ci_ibm_datacenter name データセンターの名前。 region データセンターがあるリージョン。 discovery_status IBM データセンターに関するステータス情報。 sys_class_name データセンターのクラス。 関連 CI:cmdb_ci_cloud_service_account name クラウドサービスアカウントの名前。 account_id このクラウドサービスアカウントのアカウント ID。 discovery_credentials このクラウドサービスアカウントの認証情報。 datacenter_url 論理データセンター (LDC) を入力するために使用する URL。 datacenter_type データセンターのタイプ。例:IBM データセンター [cmdb_ci_ibm_datacenter] datacenter_discovery_status 前回実行した「データセンターを検出」のステータス。 - IBM Cloud ストレージ検出リソース
フィールド 説明 メイン CI:cmdb_ci_storage_volume name 次の目的に使用されるユーザー名: - EVault でないストレージボリュームにアクセスするため
- EVault サーバーエージェントをボールトバックアップシステムに登録するため
object_id ストレージアカウントの一意の識別子。 size ストレージアカウントの容量 (GB)。 size_bytes ストレージアカウントの容量 (バイト)。 label ストレージネットワークリソースの名前。 storage_type ストレージタイプの説明。例:NAS。 fqdn ストレージリソースの IP アドレスまたは完全修飾ドメイン名。 device ストレージボリュームに関連付けられたデバイスの一意の識別番号。 関連 CI:cmdb_ci_storage_vol_snapshot name ストレージネットワークリソースの名前。 object_id ストレージの一意の識別子。 capacity スナップショットボリュームの容量 (GB)。 fqdn ストレージリソースの IP アドレスまたは完全修飾ドメイン名。 location ストレージボリュームが配置されている一意のアベイラビリティゾーン。 関連 CI:cmdb_ci_ibm_datacenter name データセンターの名前。 region データセンターがあるリージョン。 discovery_status IBM データセンターに関するステータス情報。 sys_class_name データセンターのクラス。 関連 CI:cmdb_ci_cloud_service_account name クラウドサービスアカウントの名前。 account_id このクラウドサービスアカウントのアカウント ID。 discovery_credentials このクラウドサービスアカウントの認証情報。 datacenter_url LDC を入力するために使用する URL。 datacenter_type データセンターのタイプ。例:IBM データセンター [cmdb_ci_ibm_datacenter] datacenter_discovery_status 前回実行した「データセンターを検出」のステータス。 関連 CI:cmdb_ci_availability_zone name アベイラビリティゾーン (AZ) の名前。 object_id このリソースの一意の識別子。 short_description 入力したアベイラビリティゾーンの説明。 - IBM Cloud 仮想サーバー検出リソース
フィールド 説明 メイン CI:cmdb_ci_vm_instance name VM の名前。 object_id VM の一意の識別子。 dns_domain VM ドメインサーバー名。 fqdn VM の IP アドレス。 short_description IBM コンソール上の VM に添付されているメモに記されている説明。 cpu この VM に割り当てられた CPU コア数。 memory この VM に割り当てられたメモリサイズ。 disks この VM に割り当てられたディスク数。 state VM の実行中のステータス。
- On:API から「実行中」として返されます。
- Off:API から「停止」として返されます。
placement_group_id 配置グループ ID。 nics NIC の数。 関連 CI:cmdb_ci_nic name 名前。以下で構成されます。 - ロードバランサー名
- ポート
object_id NIC の一意の識別子。 ip_address NIC で設定されている IP。 mac_address NIC の MAC の詳細。 netmask IP アドレスをサブネットに分割し、ネットワーク内で利用可能なホストを指定するために使用されるマスク。 status NIC のステータス。 関連 CI:cmdb_ci_endpoint_vnic name VNIC エンドポイントの名前。 object_id VNIC エンドポイントの一意の識別子。 host ホストの識別子。 関連 CI:cmdb_ci_storage_volume name 次の目的に使用されるユーザー名: - EVault でないストレージボリュームにアクセスするため
- EVault サーバーエージェントをボールトバックアップシステムに登録するため
object_id ストレージアカウントの一意の識別子。 size ストレージアカウントの容量 (GB)。 size_bytes ストレージアカウントの容量 (バイト)。 label ストレージネットワークリソースの名前。 storage_type ストレージタイプの説明。例:NAS。 fqdn ストレージリソースの IP アドレスまたは完全修飾ドメイン名。 device ストレージボリュームに関連付けられたゲストの一意の識別番号。 関連 CI:cmdb_ci_endpoint_nfs name NFS エンドポイントの名前。 host ホストの識別子。 protocol 適用されたプロトコル。 type NFS エンドポイントタイプ。 created NFS エンドポイントが作成された日付。 updated NFS エンドポイントが更新された日付。 discovery_source ディスカバリーのソース。例:ServiceWatch host_name NFS エンドポイントのホスト名 関連 CI:cmdb_ci_endpoint_iscsi host ISCSI エンドポイントのホスト識別子。 port GCP iSCSI と VM との接続方法を決定するポート。 protocol 適用されたプロトコル。 type ISCSI エンドポイントタイプ created ISCSI エンドポイントが作成された日付。 updated ISCSI エンドポイントが更新された日付。 discovery_source ディスカバリーのソース。例:ImportSet host_name ISCSI エンドポイントのホスト名 関連 CI:cmdb_ci_endpoint_block name ブロックエンドポイントの名前。 object_id ブロックエンドポイントの一意の識別子。 host ホストの識別子。 関連 CI:cmdb_ci_os_template name イメージの名前。例:「CentOS 7.0-64 Minimal for VSI」。 object_id イメージの一意の識別子。 memory_mb イメージで使用される OS。例:Linux。 root_device_type ルートで使用されるデバイスのタイプ。 image_source イメージのソース。 image_type イメージのタイプ。 infuse_key イメージの注入に使用されるキー。 update_host_name イメージの更新ホスト名。 credentials イメージの認証情報。 バージョン OS バージョン。例:「7.0-64 Minimal for VSI」。 関連 CI:cmdb_ci_cloud_key_pair name キー (キーラベル) を識別する名前。 object_id キーレコードの ID。 key キーレコード。 finger_print キーの認証またはルックアップに使用される短いバイトシーケンス。この値は、キーの追加または変更時に自動的に生成されます。読み取り専用。行われた変更は無視されます。 created _date キーが追加された日付。読み取り専用。行われた変更は無視されます。 modify_date キーが修正された日付。読み取り専用。行われた変更は無視されます。 short_description 簡単に識別できるように入力した説明。 関連 CI:cmdb_ci_compute_security_group name セキュリティグループ名。 object_id セキュリティグループの一意の識別子。 short_description 簡単に識別できるように入力したセキュリティグループの説明。 関連 CI:cmdb_ci_endpoint_comp_security host CPU セキュリティエンドポイントのホスト識別子。 port CPU セキュリティエンドポイントの一意の識別子。 protocol 適用されたプロトコル。 type CPU セキュリティエンドポイントのタイプ created CPU セキュリティエンドポイントが追加された日付。読み取り専用。行われた変更は無視されます。 updated CPU セキュリティエンドポイントが変更された日付。読み取り専用。行われた変更は無視されます。 discovery_source ディスカバリーのソース。例:手動入力。 host_name CPU セキュリティエンドポイントのホスト名。 関連 CI:cmdb_ci_ibm_datacenter name データセンターの名前。 region データセンターがあるリージョン。 discovery_status IBM データセンターに関するステータス情報。 sys_class_name データセンターのクラス。 関連 CI:cmdb_ci_availability_zone name アベイラビリティゾーン (AZ) の名前。 object_id このリソースの一意の識別子。 short_description 入力したアベイラビリティゾーンの説明。 関連 CI:cmdb_ci_cloud_service_account name クラウドサービスアカウントの名前。 account_id このクラウドサービスアカウントのアカウント ID。 discovery_credentials このクラウドサービスアカウントの認証情報。 datacenter_url LDC を入力するために使用する URL。 datacenter_type データセンターのタイプ。例:IBM データセンター [cmdb_ci_ibm_datacenter] datacenter_discovery_status 前回実行した「データセンターを検出」のステータス。 - IBM Cloud 仮想サーバー - 関連アイテムビュー
CI 関係
以下の関係は、IBM Cloud プラットフォームディスカバリーをサポートするために作成されています。
- IBM Cloud ロードバランサー検出リソースの関係性
CI 関係 CI 関連 CI: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: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:cmdb_ci_availability_zone cmdb_ci_availability_zone Hosted on::Hosts cmdb_ci_cloud_load_balancer cmdb_ci_availability_zone Contains::Contained by cmdb_ci_lb_service 関連 CI: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: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:cmdb_ci_lb_health_service cmdb_ci_lb_health_service Contains::Contained by cmdb_ci_cloud_load_balancer - IBM Cloud ロケーショングループ検出リソースの関係性
CI 関係 CI 関連 CI: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:cmdb_ci_cloud_location_group cmdb_ci_cloud_location_group Hosted on::Hosts cmdb_ci_cloud_service_account cmdb_ci_cloud_location_group Contains::Contained by cmdb_ci_availability_zone - IBM Cloud ネットワークディスカバリーリソースの関係性
CI 関係 CI 関連 CI: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:cmdb_ci_network cmdb_ci_network Hosted on::Hosts cmdb_ci_ibm_datacenter cmdb_ci_network Contains::Contained by cmdb_ci_cloud_subnet 関連 CI:cmdb_ci_compute_security_group cmdb_ci_compute_security_group Hosted on::Hosts cmdb_ci_cloud_service_account cmdb_ci_compute_security_group Contains::Contained by cmdb_ci_compute_security_group_rule - IBM Cloud リソースグループ検出リソースの関係性
CI 関係 CI 関連 CI:cmdb_ci_resource_group cmdb_ci_resource_group Hosted on::Hosts cmdb_ci_cloud_service_account - IBM Cloud SSH キー検出リソースの関係性
CI 関係 CI 関連 CI: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:cmdb_ci_cloud_key_pair cmdb_ci_cloud_key_pair Hosted on::Hosts cmdb_ci_cloud_service_account - IBM Cloud ストレージ検出リソースの関係性
CI 関係 CI 関連 CI: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: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: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:cmdb_ci_availability_zone cmdb_ci_availability_zone Contains::Contained by cmdb_ci_storage_volume - IBM Cloud 仮想サーバー検出リソースの関係性
CI 関係 CI 関連 CI: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 Hosted on::Hosts cmdb_ci_vm_instance 関連 CI: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:cmdb_ci_availability_zone cmdb_ci_availability_zone Hosted on::Hosts cmdb_ci_vm_instance 関連 CI:cmdb_ci_nic cmdb_ci_nic Hosted on::Hosts cmdb_ci_vm_instance 関連 CI: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: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: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:cmdb_ci_cloud_key_pair cmdb_ci_cloud_key_pair Hosted On:Hosts cmdb_ci_cloud_service_account - 仮想マシン (VM) インスタンスに対して検出された関係
CI 関係 CI サーバー [cmdb_ci_server] Virtualized by:: Virtualizes 仮想マシンインスタンス [cmdb_ci_instance]
タグベースのディスカバリー中に サービスマッピング に収集されるデータ
| CI | 関係 | CI |
|---|---|---|
| 構成アイテム (CI) [cmdb_ci] | Hosted on::Hosts | 論理データセンター [cmdb_ci_logical_datacenter] |
| 論理データセンター [cmdb_ci_logical_datacenter] | Hosted on::Hosts | クラウドサービスアカウント [cmdb_ci_cloud_service_account] |
トラブルシューティング
| 症状 | 原因 | ソリューション |
|---|---|---|
| ディスカバリーに失敗しました。ディスカバリーメッセージには、REST タイムアウトによって発生したエラーに関する情報が含まれています。 | 展開で REST コール応答を送信する CI が多数あります。MID サーバー は mid.sa.cloud.request_timeout パラメーターで制御される制限時間を超えずに REST コール応答を処理することはできません。 | デフォルトで、mid.sa.cloud.request_timeout パラメーターは 3 万ミリ秒に設定されています。 関連する MID サーバー に対してこのパラメーターの値を増やし、ディスカバリーを再実行します。 注: 関連する MID サーバー の [設定パラメーター] 関連リストにこのパラメーターが表示されない場合は、追加する必要があります。 |
| デバッグセッション中にパターンデザイナーでエラーが発生しました。パターンデザイナーのメッセージに、タイムアウトによって発生したエラーに関する情報が含まれています。 | パターンデザイナーは、(ディスカバリー時ではなく) パターンデバッグ中のタイムアウトが原因で失敗します。 | デフォルトで、sa.debugger.max_timeout パラメーターは 240 秒に設定されています。 関連する MID サーバー に対してこのパラメーターの値を増やします。 |