OpenStack 자원 검색
애플리케이션은 ServiceNow 디스커버리 OpenStack 자원 검색 패턴을 사용하여 REST API 호출을 통해 OpenStack 자원을 찾습니다. 이러한 자원 중 일부를 검색하려면 에서 애플리케이션의 디스커버리 및 서비스 매핑 패턴ServiceNow Store최신 버전으로 업데이트해야 할 수 있습니다.
디스커버리 는 OpenStack 자원 검색 패턴을 사용하여 가로 검색을 실행합니다.
2024년 8월 스토어 릴리스부터 디스커버리 및 서비스 매핑 패턴 OpenStack 자원 검색 패턴은 프라이빗 및 퍼블릭 클라우드 검색을 모두 지원합니다.
스토어에서 앱 요청
사용 가능한 모든 앱을 보고 스토어에 요청을 제출하는 방법에 대한 자세한 내용을 보려면 다음을 ServiceNow Store 방문하십시오. 출시된 모든 앱의 누적 릴리스 정보는 ServiceNow Store 버전 기록 릴리스 정보를 참조하십시오.
필수 구성요소
- OpenStack 요구 사항
-
- OpenStack ID 서비스 카탈로그에서 OpenStack ID 서비스 엔드포인트로 사용되는 접근 URL을 찾습니다. 예: https://<openstack dns>:<port>.
- 프로젝트 범위 토큰을 생성할 수 있는 권한이 있는 OpenStack 사용자를 구성합니다. 토큰을 생성하려면 도메인 ID, 사용자 이름, 프로젝트 이름, 암호 값을 설정해야 합니다.
- MID 서버 요구 사항
-
클라우드 검색 전용 MID 서버 을 배포하고 연결합니다.
전용 MID 서버 은 검색할 각 OpenStack 서비스용 OpenStack 및 오픈 포트에 대한 액세스 권한이 있어야 합니다.
- 자격 증명
- ServiceNow AI Platform에서 클라우드 서비스 계정에 대한 OpenStack 자격 증명을 ServiceNow 생성합니다. OpenStack 요구 사항에서 구성한 도메인 ID, 사용자 이름, 프로젝트 이름 및 암호 값을 입력합니다. 자세한 내용은 Create and test your credentials 문서를 참조하십시오.
- 서비스 계정
- ServiceNow AI Platform에서 생성된 OpenStack 자격 증명과 OpenStack 데이터센터 세부 정보를 사용하여 클라우드 서비스 계정을 구성 ServiceNow 합니다. 계정 ID 필드에 검색할 OpenStack 프로젝트의 프로젝트 ID를 입력합니다.
- 디스커버리 일정 생성
-
자세한 내용은 디스커버리 관리자 작업 공간 에서 OpenStack 디스커버리일정 생성 문서를 참조하십시오.
- OpenStack 서비스 계정에 대한 자동 검색 일정 생성(프라이빗 클라우드 전용)
- OpenStack - 서비스 계정 검색 패턴을 사용하여 OpenStack 서비스 계정에 대해 서버리스 자동 검색 일정을 생성합니다. 자세한 내용은 다음의 Now Support 지식베이스오픈 스택 [KB1638685]에 대한 자동 클라우드 검색 일정 문서를 참조하십시오.
- (선택 사항) 클라우드 CI에서 서비스 계정 및 논리 데이터센터 필드 채우기
- 버전 1.30.2부터 디스커버리 및 서비스 매핑 패턴 는 서비스 계정 및 논리 데이터센터 필드를 클라우드 CI에 직접 채워 쿼리 성능을 향상시킬 수 있습니다. 자세한 내용은 CI 테이블에서 직접 필드 채우기를 통한 쿼리 성능 향상 문서를 참조하십시오.
가로 검색 중 디스커버리에서 수집하는 데이터
디스커버리 OpenStack 자원 검색 패턴을 실행할 때 데이터를 채웁니다 CMDB .
| 필드 | 설명 |
|---|---|
| 객체 ID [object_id] | 서버 UUID입니다. |
| 이름 [name] | 서버 이름입니다. |
| 상태 [status] | 서버 상태입니다. |
| 설명 [short_description] | (선택 사항) 서버 설명입니다. |
| CPU [cpus] | VM 인스턴스가 프로비저닝되는 Flavor의 가상 CPU(vCPU) 수입니다. |
| 디스크 [disks] | VM 인스턴스에서 반환되는 Cinder의 모든 관리 볼륨 수입니다. |
| 디스크 크기(GB) [disk_size] | VM 인스턴스에서 사용하는 Cinder에서 관리하는 모든 볼륨의 총 양(GB)으로 측정됩니다. |
| 메모리(MB) [memory] | VM 인스턴스가 프로비저닝되는 Flavor의 RAM 값으로, 메가바이트(MB)로 측정됩니다. |
| 네트워크 어댑터 [nics] | VM 인스턴스에 구성된 고유 인터페이스 수입니다. |
| 상태 [state] |
VM 인스턴스에 대해 반환된 매핑된 상태 값입니다. OpenStack Server 상태 및 관련 ServiceNow 상태 값은 다음과 같습니다.
|
| 필드 | 설명 |
|---|---|
| 객체 ID [object_id] | 키 쌍 UUID입니다. |
| 이름 [name] | 참조하는 데 사용되는 키 쌍 이름입니다. |
| 지문 [finger_print] | Keypair 지문입니다. |
| 필드 | 설명 |
|---|---|
| 객체 ID [object_id] | 부하 분산 장치 ID입니다. |
| 이름 [name] | 사람이 읽을 수 있는 자원 이름입니다. |
| 설명 [short_description] | (선택 사항) 사람이 읽을 수 있는 자원 설명입니다. |
| 설치 상태 [install_status] | 자원 프로비저닝 상태입니다. |
| 운영 상태 [operational_status] | 자원 운영 상태입니다. |
| 필드 | 설명 |
|---|---|
| 객체 ID [object_id] | 수신기 ID입니다. |
| 이름 [name] | 사람이 읽을 수 있는 자원 이름입니다. |
| 설치 상태 [install_status] | 자원의 프로비저닝 상태입니다. |
| 수신기 프로토콜 [listener_protocol] | 자원에 대한 프로토콜입니다. HTTP, HTTPS, TCP, TERMINATED_HTTPS 또는 UDP 중 하나입니다. |
| 수신기 포트 [listener_port] | 자원에 대한 프로토콜 포트 번호입니다. |
| 운영 상태 [operational_status] | 자원 운영 상태입니다. |
| 설명 [short_description] | (선택 사항) 사람이 읽을 수 있는 자원 설명입니다. |
| 필드 | 설명 |
|---|---|
| 객체 ID [object_id] | 풀 ID입니다. |
| 이름 [name] | 사람이 읽을 수 있는 자원 이름입니다. |
| 설치 상태 [install_status] | 자원 프로비저닝 상태입니다. |
| 운영 상태 [operational_status] | 자원 운영 상태입니다. |
| 설명 [short_description] | (선택 사항) 사람이 읽을 수 있는 자원 설명입니다. |
| 부하 분산 방법 [load_balancing_method] | 풀에 대한 부하 분산 알고리즘입니다. LEAST_CONNECTIONS, ROUND_ROBIN, SOURCE_IP 또는 SOURCE_IP_PORT 값 중 하나입니다. |
| 필드 | 설명 |
|---|---|
| 객체 ID [object_id] | 풀 구성원 ID입니다. |
| 이름 [name] | 사람이 읽을 수 있는 자원 이름입니다. |
| 설치 상태 [install_status] | 자원 프로비저닝 상태입니다. |
| IP 주소 [ip_address] | 백엔드 구성원 서버 IP 주소입니다. |
| 필드 | 설명 |
|---|---|
| 객체 ID [object_id] | 볼륨 UUID입니다. |
| 이름 [name] | 볼륨 이름입니다. |
| 상태 [status] | 볼륨 상태입니다. |
| 설명 [short_description] | (선택 사항) 사람이 읽을 수 있는 설명입니다. |
| 저장소 유형 [storage_type] | 연결된 볼륨 유형입니다. |
| 필드 | 설명 |
|---|---|
| 객체 ID [object_id] | 볼륨 UUID입니다. |
| 이름 [name] | 볼륨 이름입니다. |
| 상태 [status] | 볼륨 상태입니다. |
| 설명 [short_description] | (선택 사항) 사람이 읽을 수 있는 설명입니다. |
| 필드 | 설명 |
|---|---|
| 객체 ID [object_id] | 사용자 정의 이미지 UUID입니다. |
| 이름 [name] | 이미지 이름입니다. 값은 null(JSON Null 데이터 형식)일 수 있습니다. |
| 상태 [status] | 이미지 상태입니다. |
| 필드 | 설명 |
|---|---|
| 객체 ID [object_id] | 네트워크 ID입니다. |
| 이름 [name] | 사람이 읽을 수 있는 네트워크 이름입니다. |
| 운영 상태 [operational_status] | 네트워크 상태입니다. 가능한 값은 활성, 다운, 빌드 또는 오류입니다. |
| 설명 [short_description] | (선택 사항) 사람이 읽을 수 있는 설명입니다. |
| 필드 | 설명 |
|---|---|
| 객체 ID [object_id] | 서브넷 ID입니다. |
| 이름 [name] | 사람이 읽을 수 있는 자원 이름입니다. |
| DHCP 사용 가능 [is_dhcp_enabled] | 서브넷에 DHCP가 사용 설정되어 있는지 여부입니다. |
| 설명 [short_description] | (선택 사항) 사람이 읽을 수 있는 설명입니다. |
| 필드 | 설명 |
|---|---|
| 객체 ID [object_id] | 보안 그룹 ID입니다. |
| 이름 [name] | 사람이 읽을 수 있는 자원 이름입니다. |
| 설명 [short_description] | (선택 사항) 사람이 읽을 수 있는 설명입니다. |
| 필드 | 설명 |
|---|---|
| 이름 [name] | 이 필드의 값은 object_id 필드와 같습니다. |
| 객체 ID [object_id] | 보안 그룹 규칙 ID입니다. |
| 설명 [short_description] | (선택 사항) 사람이 읽을 수 있는 설명입니다. |
| 에테르타입 [ethertype] | Ethertype. IPv4 또는 IPv6여야 합니다. CIDR에 표시되는 주소는 수신 또는 송신 규칙과 일치해야 합니다. |
| 포트 범위 최대값 [port_range_max] | 규칙이 적용되는 범위의 마지막 포트입니다. 이 값은 보안 그룹 규칙과 일치하는 범위의 최대 포트 번호입니다.
|
| 포트 범위 최소 [port_range_min] | 규칙이 적용되는 범위의 첫 번째 포트입니다. 이 값은 보안 그룹 규칙과 일치하는 범위의 최소 포트 번호입니다.
|
| 필드 | 설명 |
|---|---|
| 객체 ID [object_id] | 도메인 ID입니다. |
| 이름 [name] | 도메인 이름입니다. |
| 설명 [short_description] | (선택 사항) 사람이 읽을 수 있는 설명입니다. |
| 사용 설정 [enabled] | 도메인의 사용 여부를 정의합니다.
|
| 필드 | 설명 |
|---|---|
| 객체 ID [object_id] | 서비스 ID입니다. |
| 이름 [name] | 서비스 이름입니다. |
| 설명 [short_description] | (선택 사항) 사람이 읽을 수 있는 설명입니다. |
| 유형 [type] | 서비스 유형입니다. 서비스가 구현하는 API에 대해 설명합니다. 가능한 값은 Compute, ec2, id, image, network 또는 volume입니다. |
| 카탈로그 사용 설정 [enabled] | 서비스 카탈로그에 서비스 및 엔드포인트가 나타나는지 여부를 정의합니다.
|
| 필드 | 설명 |
|---|---|
| 객체 ID [object_id] | 엔드포인트 ID입니다. |
| 이름 [name] | 서비스 이름입니다. |
| 인터페이스 [interface] | 엔드포인트의 가시성을 설명하는 인터페이스 유형입니다. 가능한 값:
|
| 카탈로그 사용 설정 [enabled] | 서비스 카탈로그에 서비스 및 엔드포인트가 나타나는지 여부를 정의합니다.
|
| 필드 | 설명 |
|---|---|
| 이름 [name] | OpenStack Flavor의 이름 필드입니다. |
| 객체 ID [object_id] | OpenStack Flavor의 ID 필드입니다. |
| vCPU [vcpus] | OpenStack Flavor의 vcpus 필드입니다 . |
| 메모리 MB [memory_mb] | OpenStack Flavor의 ram 필드입니다. |
| 로컬 스토리지 GB [local_storage_gb] | OpenStack Flavor의 디스크 필드입니다. |
검색된 데이터에는 OpenStack 하이퍼바이저 뷰 [cmdb_ci_openstack_hypervisor_view] 테이블과 프라이빗 클라우드 전용 필드가 포함됩니다.
| 필드 | 설명 |
|---|---|
| 이름 [name] | hypervisor_type 필드와 hypervisor_hostname 필드의 연결된 값입니다. 예: QEMU@host.acmecorp.com. |
| IP 주소 [ip_address] | host_ip 필드의 값입니다. |
| 하이퍼바이저 기술 [hypervisor_technology] | hypervisor_type 필드의 값입니다. |
| 객체 ID [object_id] | ID 필드의 값입니다. |
| 상태 [state] | 상태 필드의 값입니다. |
| 버전 [version] | hypervisor_version 필드의 값입니다. |
의존성 뷰 맵에는 REST API 호출을 통해 사용할 수 있는 조직에서 검색된 모든 OpenStack 자원과 해당 자원 간의 관계가 표시됩니다.그림 1. OpenStack 네트워크 의존성

그림 2. OpenStack VM 의존성

CI 관계
다음 테이블에 나열된 관계는 OpenStack 자원 검색을 지원하기 위해 생성됩니다.
| CI | 관계 | CI |
|---|---|---|
| cmdb_ci_openstack_datacenter | Hosted on::Hosts | cmdb_ci_cloud_service_account |
| cmdb_ci_cloud_openstack_service | Hosted on::Hosts | cmdb_ci_cloud_service_account |
| cmdb_ci_cloud_openstack_endpoint | Use endpoint to::Use endpoint from | cmdb_ci_cloud_openstack_service |
| cmdb_ci_cloud_openstack_endpoint | Hosted on::Hosts | cmdb_ci_openstack_datacenter |
| cmdb_ci_cloud_openstack_domain | Owns::Owned by | cmdb_ci_cloud_service_account |
| cmdb_ci_network | Hosted on::Hosts | cmdb_ci_openstack_datacenter |
| cmdb_ci_network | Contains::Contained by | cmdb_ci_cloud_subnet |
| cmdb_ci_compute_security_group | Hosted on::Hosts | cmdb_ci_openstack_datacenter |
| cmdb_ci_compute_security_group | Contains::Contained by | cmdb_ci_compute_security_group_rule |
| cmdb_ci_cloud_load_balancer | Hosted on::Hosts | cmdb_ci_openstack_datacenter |
| cmdb_ci_cloud_load_balancer | Contains::Contained by | cmdb_ci_lb_listener |
| cmdb_ci_lb_pool | Hosted on::Hosts | cmdb_ci_cloud_load_balancer |
| cmdb_ci_lb_pool | Owns::Owned by | cmdb_ci_lb_pool_member |
| cmdb_ci_storage_volume | Hosted on::Hosts | cmdb_ci_openstack_datacenter |
| cmdb_ci_vm_instance | Uses::Used by | cmdb_ci_storage_volume |
| cmdb_ci_storage_vol_snapshot | Hosted on::Hosts | cmdb_ci_openstack_datacenter |
| cmdb_ci_storage_vol_snapshot | 프로비저닝 위치::P rovisioned | cmdb_ci_storage_volume |
| cmdb_ci_vm_instance | Hosted on::Hosts | cmdb_ci_openstack_datacenter |
| cmdb_ci_cloud_key_pair | Hosted on::Hosts | cmdb_ci_openstack_datacenter |
| cmdb_ci_os_template | Hosted on::Hosts | cmdb_ci_openstack_datacenter |
| cmdb_ci_vm_instance | 프로비저닝 위치::P rovisioned | cmdb_ci_os_template |
| cmdb_ci_vm_instance | Virtualized by::Virtualizes | cmdb_ci_server |
다음 테이블에 나열된 관계는 프라이빗 클라우드에서만 OpenStack 자원 검색을 지원하기 위해 생성됩니다.
| CI | 관계 | CI |
|---|---|---|
| cmdb_ci_vm_instance | 등록 날짜::등록됨 | cmdb_ci_openstack_hypervisor_view |
| cmdb_ci_openstack_hypervisor_view | Hosted on::Hosts | cmdb_ci_openstack_datacenter |
| cmdb_ci_openstack_hypervisor_view | Uses::Hosts 사용자 | cmdb_ci_server |