IBM Cloud Platform 검색

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 소요 시간: 53분
  • ServiceNow 검색 애플리케이션은 IBM Cloud Platform 패턴을 사용하여 IBM Cloud Platform 구성요소(Softlayer API v3 및 v3.1과 Bluemix API v2)를 찾습니다. 이러한 자원을 검색하려면 ServiceNow Store에서 검색 및 서비스 매핑 패턴 애플리케이션을 업데이트해야 합니다.

    London 패치 7, Madrid Patch 2 또는 그 이상의 릴리스를 사용하는 Now Platform에서 패턴을 사용할 수 있습니다.

    스토어에서 앱 요청

    ServiceNow Store 웹 사이트를 방문하면 사용 가능한 모든 앱을 확인하고 스토어에 요청을 제출하는 방법에 대한 정보를 참조할 수 있습니다. 출시된 모든 앱의 누적 릴리스 정보는 ServiceNow Store 버전 기록 릴리스 정보를 참조하십시오.

    필요 조건

    MID 서버
    클라우드 검색에 전용 MID 서버를 사용하십시오. MID 서버에는 16개의 코어와 8GB(4GB JVM(Java 메모리 모델) 메모리 할당 포함)가 있어야 합니다.
    인터넷 접근을 통해 전용 MID 서버를 배포하고 연결합니다.
    자격 증명
    클라우드 자원이 IBM Cloud에 있습니다. IBM 계정에 접근하기 위한 IBM 자격 증명을 생성합니다.
    1. 다음으로 이동 디스커버리 > 자격 증명.
    2. 새로 만들기를 클릭합니다.
    3. 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 키를 사용합니다.
    4. 제출을 클릭합니다.
    IBM Cloud 서비스 계정 생성
    IBM Cloud 서비스 계정을 생성하려면 이전 절차에 정의된 자격 증명을 사용합니다.
    1. 다음으로 이동 Cloud Provisioning and Governance > 서비스 계정.
    2. 새로 만들기를 클릭합니다.
    3. 양식의 필드에 내용을 입력합니다.
      표 2. 클라우드 서비스 계정 양식
      필드 설명
      이름 자격 증명 이름입니다. 예: ibm-snow
      계정 ID IBM 계정 ID 이름입니다. IBM 계정 ID를 입력합니다.
      검색 자격 증명 이전에 정의한 검색 자격 증명입니다.
      데이터센터 유형 데이터센터 유형입니다. 예: IBM 데이터센터 [cmdb_ci_ibm_datacenter]
    4. 제출을 클릭합니다.
    서버리스 검색 일정 생성
    서버리스 검색를 구성합니다.
    1. 에서 Now Platform다음으로 이동합니다. 디스커버리 > 디스커버리 일정.
    2. 새로 만들기를 클릭합니다.
    3. 양식의 필드에 내용을 입력합니다.
      표 3. 검색 일정 양식
      필드 설명
      이름 검색 일정의 이름입니다. 예: 서버리스 패턴
      검색 검색 유형입니다. 서버리스를 선택합니다.
      MID 서버 MID 서버의 이름입니다. 예: Discovery_Server
      활성 검색에 이 일정을 사용하도록 설정하는 옵션입니다. 검색를 사용하려면 이 확인란을 선택합니다.
      실행 검색 일정 실행 빈도를 지정합니다.
    4. 검색 일정 양식의 헤더를 마우스 오른쪽 버튼으로 클릭하고 저장을 선택합니다.

      서버리스 실행 패턴

    5. 서버리스 실행 패턴 탭을 클릭합니다.
    6. 새로 만들기를 클릭합니다.
    7. 양식의 필드에 내용을 입력합니다.
      표 4. 서버리스 실행 패턴 양식
      필드 설명
      이름 이 서버리스 실행 패턴의 이름입니다. 예: IBM1
      패턴 실행할 패턴의 이름입니다.

      IBM 패턴

      여러 패턴을 실행하려는 경우 여러 기록을 생성합니다.

      프록시 호스트 프록시 서버를 설치할 컴퓨터의 전체 주소 도메인 이름입니다. 전역을 지정합니다.
      활성 검색에 이 일정을 사용하도록 설정하는 옵션입니다. 검색를 사용하려면 이 확인란을 선택합니다.
    8. 다음과 같이 IBM Cloud Platform 패턴에 필요한 매개변수를 구성합니다.
      표 5. 검색 패턴 시작 관리자 매개변수
      매개변수 설명
      cloud_cred_id 구성에 지정된 IBM 자격 증명의 sys_id입니다.
      cloud_account_id IBM 계정 ID입니다.
      cloud_datacenter_type cmdb_ci_ibm_datacenter
    9. 업데이트합니다.
    10. 검색를 시작하려면 서버리스 검색 정의로 이동하고 지금 검색을 클릭합니다.
    IBM 플로우 - 가로 검색
    • 서버리스 일정으로 검색을 수행하려면 선택된 IBM Cloud Platform 패턴이 IBM Cloud Platform 자원을 실행하고 검색합니다.
    • 서비스 계정으로 검색을 수행하려면 전체 IBM Cloud Platform Discovery 일정이 실행되어 지원되는 모든 IBM Cloud Platform 자원을 검색합니다.
    클라우드 사용자 지정 작업
    클라우드 REST - 컨텍스트에 응답 추가
    대규모 응답과 향상된 메모리 사용을 지원하는 클라우드 REST 쿼리에 대한 운영입니다.
    • 응답 변수 이름 필드에 설정된 응답에 대한 테이블을 지정하려는 경우를 제외하고 클라우드 REST 쿼리 사용자 지정 작업과 값이 동일한 모든 필드를 지정하십시오.

      응답 필드

    • 구문 분석 정의를 없음으로 설정하십시오.

    IBM 계정에 대한 데이터를 검색하는 메서드

    1. 다음으로 이동 패턴 디자이너 > 사용자 지정 운영.

      클라우드 REST 쿼리

    2. 클라우드(REST) - 컨텍스트에 응답 추가를 클릭합니다.

    메서드: 호출 가져오기

    데이터를 검색하는 데 사용되는 API URL:

    • 부하 분산 장치 https://api.softlayer.com/rest<api_version>/SoftLayer_Network_LBaaS_LoadBalancer/getAllObjects?objectMask=mask[listeners[defaultPool],members,healthMonitors]
    • 네트워크 https://api.softlayer.com/rest/<API_VERSION>/SoftLayer_Account/getNetworkVlans?objectMask=mask[primaryRouter.datacenter,name,id,vlanNumber,networkSpace]
    • 네트워크 https://api.softlayer.com/rest/<API_VERSION>/SoftLayer_Account/getSubnets?objectMask=mask[datacenter]
    • 네트워크 https://api.softlayer.com/rest/<API_VERSION>/SoftLayer_Account/getSecurityGroups?objectMask=mask[rules]
    • 조직 및 공간 https://api.<region>.bluemix.net/v2/organizations
    • https://api.<region>.bluemix.net/v2/spaces
    • SSH 키 https://api.softlayer.com/rest/v3/SoftLayer_Account/SoftLayer_Account/getSshKeys
    • 저장소 https://api.softlayer.com/rest/<api_version>/SoftLayer_Account/getNetworkStorage
    • 가상 서버 https://api.softlayer.com/rest/v3.1/SoftLayer_Account/getSecurityGroups
    • http://api.softlayer.com/rest/v3.1/SoftLayer_Account/getSecurityGroups?objectMask=mask[id,name,networkComponentBindings[networkComponentId,networkComponent[networkId,guest[fullyQualifiedDomainName,hostname,id,datacenter[name]]]]]
    • https://api.softlayer.com/rest/v3.1/SoftLayer_Account/getVirtualGuests?objectMask=mask[hostname,domain,powerState,fullyQualifiedDomainName,notes,id,statusId,placementGroupId,sshKeys[label,key,id,fingerprint,createDate,modifyDate,notes],primaryBackendIpAddress,primaryIpAddress,networkVlans[id,name,note,vlanNumber],blockDeviceCount,blockDevices[device,diskImageId,mountType,guestId,id,mountMode],allowedNetworkStorage[id,fileNetworkMountAddress,iscsiTargetIpAddresses,nasType,username,serviceResourceBackendIpAddress],maxCpu,maxMemory,datacenter,networkComponentCount,regionalGroup,datacenter,location,operatingSystem[id,softwareDescription[id,name,longDescription,manufacturer,referenceCode,version]],networkComponents[guestId,id,port,name,primarySubnet[networkIdentifier,id,networkVlan[id]],status,macAddress,primaryIpAddress]]
    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 Cloud 계정에 할당된 모든 조직에 대한 정보를 가져옵니다.

    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 Cloud 계정에 대한 정보를 가져옵니다.

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

    API에서 받은 JSON을 JSON 파서가 사용할 수 있는 형식으로 변환하는 다음 EVAL 종결을 사용합니다. 기본 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 종결을 사용합니다. 전원 상태가 꺼졌으면 값으로 '꺼짐'이 반환됩니다.

    var power = ${cmdb_ci_vm_instance[].state};
    var rtrn = '';
    
    if (power == 'Running'){
       rtrn = "on";
    }
    else {
       rtrn = "off"
    } 
    

    제공된 가용 영역 이름을 기반으로 CI의 지역을 반환하는 다음 EVAL 종결을 사용합니다.

    var az = ${cmdb_ci_vm_instance[].avail_zone};
    var rtrn = '';
    rtrn = IbmCloudDcToRegion.convertDctoRegion(az);
    
    VM을 네트워크 저장소와 연결하는 HashSets의 HashMap을 작성하는 다음 EVAL 종결을 사용합니다. 다음 키가 사용됩니다.
    • 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);
    

    현재 보안 그룹 ID와 관련된 VM ID 목록을 작성하는 다음 EVAL 종결을 사용합니다.

    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;
    

    보안 그룹과 이를 사용하도록 구성된 VM 간에 HashSet의 HashMap을 작성하는 다음 EVAL 종결을 사용합니다.

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

    현재 VM에서 현재 보안 그룹 ID를 사용하고 있는 경우 ‘True’를 반환하는 다음 EVAL 종결을 사용합니다.

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

    현재 VM에서 현재 저장소 볼륨을 사용하고 있는 경우 ‘True’를 반환하는 다음 EVAL 종결을 사용합니다.

    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 릴리스부터 사용할 수 있습니다. 운영 단계는 태그 기반 검색 구성 문서를 참조하십시오.

    가로 검색 중 검색에서 수집하는 데이터

    데이터는 다음 패턴을 사용하여 수집됩니다.
    • IBM Cloud 부하 분산 장치
    • IBM Cloud 위치 그룹
    • IBM Cloud 네트워크
    • IBM Cloud 조직 및 공간
    • IBM Cloud 자원 그룹
    • IBM Cloud SSH 키
    • IBM Cloud 저장소
    • IBM Cloud 가상 서버
    IBM 구성요소에 대해 수집된 데이터:
    IBM Cloud 부하 분산 장치에서 검색하는 자원
    필드 설명
    메인 CI: cmdb_ci_cloud_load_balancer
    이름 부하 분산 장치 이름입니다.
    object_id 부하 분산 장치 고유 식별자입니다.
    fqdn 부하 분산 장치 주소(호스트 이름)입니다.
    dns_name 부하 분산 도메인 서버 이름입니다.
    short_description 사용자가 쉽게 식별할 수 있도록 사용자가 제공하는 부하 분산 장치에 대한 설명입니다.
    operational_status 부하 분산 장치 상태로 다음 중 하나입니다.
    • 온라인
    • 오프라인
    location 데이터센터 위치입니다.
    state 부하 분산 장치 프로비저닝 상태입니다.
    관련 CI: cmdb_ci_lb_service
    이름 다음으로 구성된 패턴 생성 이름입니다.
    • 부하 분산 장치 이름
    • 프로토콜의 유형
    • 자원 유형 수신기
    object_id 부하 분산 장치 고유 식별자입니다.
    port 수신기의 포트 번호입니다.
    front_end_port 수신기의 프로토콜 포트 번호입니다.
    listener_protocol 수신기의 프로토콜입니다. 다음 프로토콜 중 하나입니다.
    • TCP
    • HTTP
    • HTTPS
    operational_status 수신기의 프로비저닝 상태입니다.
    관련 CI: cmdb_ci_lb_pool
    이름 다음으로 구성된 패턴 생성 이름입니다.
    • 부하 분산 장치 이름
    • 프로토콜의 유형
    • port
    • 자원 유형 "풀"
    object_id 부하 분산 장치 풀 고유 식별자입니다.
    port 백엔드의 프로토콜 포트입니다.
    pool_status 부하 분산 장치 풀 프로비저닝 상태입니다.
    load_balancing_method 부하 분산 방법 메서드입니다. 다음 알고리즘 중 하나입니다.
    • "ROUNDROBIN"
    • "WEIGHTED_RR"
    • "LEASTCONNECTION"
    관련 CI: cmdb_ci_lb_pool_member
    이름 다음으로 구성된 패턴 생성 이름입니다.
    • 부하 분산 장치 이름
    • 프로토콜의 유형
    • 풀 구성원의 IP 주소
    object_id 부하 분산 장치 풀 구성원 고유 식별자이며 다음으로 구성됩니다.
    • 구성원 ID
    • 수신기 ID
    ip_address 부하 분산 장치 구성원의 IP 주소입니다.
    server_id IBM Cloud의 구성원 ID입니다.
    load_balancer 관련 부하 분산 장치의 이름입니다.
    관련 CI: cmdb_ci_lb_health_service
    이름 다음으로 구성된 패턴 생성 이름입니다.
    • 부하 분산 장치 이름
    • 프로토콜의 유형
    • 자원 유형: 상태 검사
    • 자원 ID
    object_id 상태 서비스 검사의 고유 식별자입니다.
    monitor_type 상태 검사 유형입니다. 다음 중 하나입니다.
    • TCP
    • HTTP
    • HTTPS
    timeout_sec 상태 검사 응답을 기다리는 시간 제한(초)입니다.
    check_interval_sec 상태 검사를 수행하는 간격(초)입니다.
    IBM Cloud 위치 그룹에서 검색하는 자원
    필드 설명
    메인 CI: cmdb_ci_cloud_location_group
    이름 위치 그룹을 식별하는 데 사용되는 설명이 포함된 이름입니다.
    object_id 위치 그룹 기록의 ID입니다.
    locationGroupType 이름 위치 그룹 유형의 이름입니다.
    short_description 사용자가 임의로 사용할 위치 그룹에 대한 작은 메모입니다.
    locationGroup 유형 ID 위치 그룹 유형의 ID입니다.
    IBM Cloud 네트워크에서 검색하는 자원
    필드 설명
    메인 CI: cmdb_ci_network
    이름 VLAN 번호입니다.
    object_id 네트워크 고유 식별자입니다.
    access_port_vlan VLAN 번호입니다.
    is_external 네트워크 공간 값입니다. 값은 다음 중 하나입니다.
    • network_space가 "PUBLIC"이면 True입니다.
    • network_space "PRIVATE"이면 False입니다.
    state 상태 값이 "사용 가능"입니다.
    관련 CI: cmdb_ci_cloud_subnet
    이름 이름이며 "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
    이름 보안 그룹 이름입니다.
    object_id 보안 그룹 고유 식별자입니다.
    short_description 쉽게 식별할 수 있도록 사용자가 제공하는 보안 그룹 설명입니다.
    관련 CI: cmdb_ci_compute_security_group_rule
    이름 보안 그룹 규칙 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
    이름 클라우드 조직의 이름입니다.
    guid 조직의 고유 식별자입니다.
    url 조직의 고유한 URL입니다.
    billing_enabled 조직에서 사용하는 청구 방법입니다. 다음 중 하나입니다.
    • 사용/(True)
    • 사용 안 함/(False)
    quota_definition_url 조직에서 사용할 수 있는 자원입니다.
    spaces_url 조직에 할당된 공간의 고유 URL입니다.
    operational_status 조직의 운영 상태입니다.
    관련 CI: cmdb_ci_cloud_space
    이름 공간의 고유 이름입니다.
    object_id 공간 고유 식별자(guid)입니다.
    alllow_ssh SSH를 통한 애플리케이션에 대한 접근이 허용되거나 허용되지 않습니다. 부울이며 다음 중 하나입니다.
    • True
    • False
    URL 메타데이터 설명에 있는 공간의 URL입니다.
    IBM Cloud 자원 그룹에서 검색하는 자원
    필드 설명
    메인 CI: cmdb_ci_resource_group
    이름 자원 그룹의 이름입니다.
    object_id 자원 그룹의 고유 식별자입니다.
    quota_id 자원 그룹과 관련된 할당량 ID를 식별하는 값입니다.
    IBM Cloud SSH 키에서 검색하는 자원
    필드 설명
    메인 CI: cmdb_ci_cloud_key_pair
    이름 SSH 키를 식별하기 위한 이름입니다.
    object_id SSH 키 기록의 ID입니다.
    SSH 키 기록입니다.
    finger_print 더 긴 SSH 키를 인증하거나 조회하는 데 사용되는 짧은 바이트 시퀀스입니다. 이 값은 SSH 키를 추가하거나 수정할 때 자동으로 생성됩니다. 읽기 전용입니다. 변경한 내용은 무시됩니다.
    created _date SSH 키가 추가된 날짜입니다. 읽기 전용입니다. 변경한 내용은 무시됩니다.
    modify_date SSH 키가 수정된 날짜입니다. 읽기 전용입니다. 변경한 내용은 무시됩니다.
    short_description 쉽게 식별할 수 있도록 사용자가 제공하는 SSH 설명입니다.
    관련 CI: cmdb_ci_ibm_datacenter
    이름 데이터센터의 이름입니다.
    region 데이터센터가 있는 지역입니다.
    discovery_status IBM 데이터센터에 대한 상태 정보입니다.
    sys_class_name 데이터센터의 클래스
    관련 CI: cmdb_ci_cloud_service_account
    이름 클라우드 서비스 계정의 이름입니다.
    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
    이름 다음에 사용되는 사용자 이름입니다.
    • 비 EVault 저장소 볼륨에 접근
    • 자격 증명 모음 백업 시스템에 EVault 서버 에이전트 등록
    object_id 저장소 계정 고유 식별자입니다.
    size 저장소 계정의 용량(기가바이트)입니다.
    size_bytes 저장소 계정의 용량(바이트)입니다.
    label 저장소 네트워크 자원의 이름입니다.
    storage_type 저장소 유형에 대한 설명입니다. 예: NAS
    fqdn 저장소 자원의 IP 주소 또는 전체 주소 도메인 이름입니다.
    device 저장소 볼륨과 연결된 장치의 고유 식별 번호입니다.
    관련 CI: cmdb_ci_storage_vol_snapshot
    이름 저장소 네트워크 자원의 이름입니다.
    object_id 저장소 고유 식별자입니다.
    capacity 스냅샷 볼륨의 용량(기가바이트)입니다.
    fqdn 저장소 자원의 IP 주소 또는 전체 주소 도메인 이름입니다.
    location 저장소 볼륨이 있는 고유한 가용 영역입니다.
    관련 CI: cmdb_ci_ibm_datacenter
    이름 데이터센터의 이름입니다.
    region 데이터센터가 있는 지역입니다.
    discovery_status IBM 데이터센터에 대한 상태 정보입니다.
    sys_class_name 데이터센터의 클래스
    관련 CI: cmdb_ci_cloud_service_account
    이름 클라우드 서비스 계정의 이름입니다.
    account_id 이 클라우드 서비스 계정의 계정 ID입니다.
    discovery_credentials 이 클라우드 서비스 계정에 대한 자격 증명입니다.
    datacenter_url LDC를 채우는 데 사용되는 URL입니다.
    datacenter_type 데이터센터의 유형입니다. 예: IBM 데이터센터 [cmdb_ci_ibm_datacenter]
    datacenter_discovery_status 데이터센터 검색의 마지막 실행 상태입니다.
    관련 CI: cmdb_ci_availability_zone
    이름 AZ(가용 영역)의 이름입니다.
    object_id 이 자원의 고유 식별자입니다.
    short_description 사용자가 제공하는 가용 영역에 대한 설명입니다.
    IBM Cloud 가상 서버에서 검색하는 자원
    필드 설명
    메인 CI: cmdb_ci_vm_instance
    이름 VM의 이름입니다.
    object_id VM의 고유 식별자입니다.
    dns_domain VM 도메인 서버 이름입니다.
    fqdn VM IP 주소입니다.
    short_description IBM 콘솔의 VM에 연결된 메모의 설명입니다.
    cpus 이 VM에 할당된 CPU 코어의 수입니다.
    memory 이 VM에 할당된 메모리 크기입니다.
    disks 이 VM에 할당된 디스크의 수입니다.
    state

    VM의 실행 상태입니다.

    • 설정 – API에서 ' 실행 중 '으로 반환됩니다.
    • 해제 – API에서 '중지됨'으로 반환됩니다.
    placement_group_id 배치 그룹 ID입니다.
    nics NIC 수입니다.
    관련 CI: cmdb_ci_nic
    이름 이름이며 다음으로 구성됩니다.
    • 부하 분산 장치 이름
    • 포트
    object_id NIC의 고유 식별자입니다.
    ip_address NIC에 구성된 IP입니다.
    mac_address NIC MAC 정보입니다.
    netmask IP 주소를 서브넷으로 나누고 네트워크에서 사용할 수 있는 호스트를 지정하는 데 사용되는 마스크입니다.
    status NIC의 상태입니다.
    관련 CI: cmdb_ci_endpoint_vnic
    이름 VNIC 엔드포인트의 이름입니다.
    object_id VNIC 엔드포인트의 고유 식별자입니다.
    host 호스트 식별자입니다.
    관련 CI: cmdb_ci_storage_volume
    이름 다음에 사용되는 사용자 이름입니다.
    • 비 EVault 저장소 볼륨에 접근
    • 자격 증명 모음 백업 시스템에 EVault 서버 에이전트 등록
    object_id 저장소 계정 고유 식별자입니다.
    size 저장소 계정의 용량(기가바이트)입니다.
    size_bytes 저장소 계정의 용량(바이트)입니다.
    label 저장소 네트워크 자원의 이름입니다.
    storage_type 저장소 유형에 대한 설명입니다. 예: NAS
    fqdn 저장소 자원의 IP 주소 또는 전체 주소 도메인 이름입니다.
    device 저장소 볼륨과 연결된 게스트의 고유 식별 번호입니다.
    관련 CI: cmdb_ci_endpoint_nfs
    이름 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
    이름 블록 엔드포인트의 이름입니다.
    object_id 블록 엔드포인트의 고유 식별자입니다.
    host 호스트 식별자입니다.
    관련 CI: cmdb_ci_os_template
    이름 이미지의 이름입니다. 예: ‘CentOS 7.0-64 Minimal for VSI’.
    object_id 이미지의 고유 식별자입니다.
    guest_os 이미지에서 사용하는 OS입니다. 예: Linux
    root_device_type 루트에서 사용하는 장치의 유형입니다.
    image_source 이미지의 소스입니다.
    image_type 이미지 유형입니다.
    infuse_key 이미지를 인퓨즈하는 데 사용되는 키입니다.
    update_host_name 이미지의 호스트 이름을 업데이트합니다.
    credentials 이미지에 대한 자격 증명입니다.
    version OS 버전입니다. 예: ‘7.0-64 Minimal for VSI’
    관련 CI: cmdb_ci_cloud_key_pair
    이름 키(키 레이블)를 식별하는 이름입니다.
    object_id 키 기록의 ID입니다.
    키 기록입니다.
    finger_print 키를 인증하거나 조회하는 데 사용되는 짧은 바이트 시퀀스입니다. 이 값은 키를 추가하거나 수정할 때 자동으로 생성됩니다. 읽기 전용입니다. 변경한 내용은 무시됩니다.
    created _date 키가 추가된 날짜입니다. 읽기 전용입니다. 변경한 내용은 무시됩니다.
    modify_date 키가 수정된 날짜입니다. 읽기 전용입니다. 변경한 내용은 무시됩니다.
    short_description 쉽게 식별할 수 있도록 사용자가 제공하는 설명입니다.
    관련 CI: cmdb_ci_compute_security_group
    이름 보안 그룹 이름입니다.
    object_id 보안 그룹 고유 식별자입니다.
    short_description 쉽게 식별할 수 있도록 사용자가 제공하는 보안 그룹 설명입니다.
    관련 CI: cmdb_ci_endpoint_comp_security
    host 계산 보안 엔드포인트의 호스트 식별자입니다.
    port 계산 보안 엔드포인트의 고유 식별자입니다.
    protocol 적용된 프로토콜입니다.
    type 계산 보안 엔드포인트의 유형입니다.
    created 계산 보안 엔드포인트가 추가된 날짜입니다. 읽기 전용입니다. 변경한 내용은 무시됩니다.
    updated 계산 보안 엔드포인트가 수정된 날짜입니다. 읽기 전용입니다. 변경한 내용은 무시됩니다.
    discovery_source 검색의 소스입니다. 예: 수동 입력
    host_name 계산 보안 엔드포인트의 호스트 이름입니다.
    관련 CI: cmdb_ci_ibm_datacenter
    이름 데이터센터의 이름입니다.
    region 데이터센터가 있는 지역입니다.
    discovery_status IBM 데이터센터에 대한 상태 정보입니다.
    sys_class_name 데이터센터의 클래스
    관련 CI: cmdb_ci_availability_zone
    이름 AZ(가용 영역)의 이름입니다.
    object_id 이 자원의 고유 식별자입니다.
    short_description 사용자가 제공하는 가용 영역에 대한 설명입니다.
    관련 CI: cmdb_ci_cloud_service_account
    이름 클라우드 서비스 계정의 이름입니다.
    account_id 이 클라우드 서비스 계정의 계정 ID입니다.
    discovery_credentials 이 클라우드 서비스 계정에 대한 자격 증명입니다.
    datacenter_url LDC를 채우는 데 사용되는 URL입니다.
    datacenter_type 데이터센터의 유형입니다. 예: IBM 데이터센터 [cmdb_ci_ibm_datacenter]
    datacenter_discovery_status 데이터센터 검색의 마지막 실행 상태입니다.
    IBM Cloud 가상 서버 - 관련 항목 뷰
    IBM Cloud 가상 서버 - 관련 항목 뷰

    CI 관계

    이러한 관계는 IBM Cloud Platform 검색을 지원하기 위해 생성됩니다.

    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 관계는 ServiceNow Store에서 1.0.68 릴리스부터 사용할 수 있습니다.
    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 서버에 대한 이 매개변수의 값을 늘립니다.