검색 쿼리는 전체 배포에서 검색을 실행하며 지정된 검색 용어를 기반으로 모든 엔티티 유형을 찾을 수 있도록 합니다. 또한 vRealize Network Insight에서는 글로벌 검색 창에서 입력한 텍스트와 일치하는 저장된 검색 및 최근 검색을 포함하여 쿼리를 빌드하기 위한 제안 사항을 제공합니다.

검색 쿼리는 다음과 같은 범주로 나눌 수 있습니다.
  1. 구조적 쿼리

    구조적 쿼리는 다음과 같은 구성 요소로 구성되어 있습니다.

    • 엔티티 유형: 엔티티 유형은 검색하려는 개체의 유형을 나타냅니다. 또한 단수형이거나 복수형일 수 있습니다. 엔티티 유형은 구조적 쿼리에서 필수입니다.

      다음은 몇 가지 예입니다.
      1. Virtual machines
      2. Hosts
      3. Flows
      4. MTU Mismatch Alerts
      5. Problems
    • 필터: 필터 구문은 다음과 같습니다.

      조건 구문은 다음과 같습니다.

      필터 절을 사용하여 검색 결과를 필터링할 수 있습니다. 필터 절의 조건은 속성, 비교 연산자 및 값으로 구성됩니다. 조건을 논리적 연산자와 조합하여 복합 조건을 구성할 수 있습니다. 다음은 사용할 수 있는 연산자의 목록입니다.
      연산자
      =

      flows where source ip address = '10.16.240.0/24'

      flows where flow type = 'Source is VM'

      != vms where ip address != '10.17.0.0/16'
      >

      vms where memory > 4096 mb

      < vms where cpu usage rate < 70%
      >= vms where memory >= 4096 mb
      <= vms where cpu usage rate <= 70%
      like vms where name like 'app'
      not like

      vms where name not like 'app'

      in

      flows where port in (22, 23, 80, 443)

      vm where ip address in (192.168.91.11, 192.168.91.10)

      not in

      flows where port not in (22, 23, 80, 443)

      vm where ip address not in (192.168.91.11, 192.168.91.10)

      is set vms where firewall rule is set
      is not set vms where firewall rule is not set
      () flows where (src tier = ‘App’ and destination tier = ‘DB’) OR (destination tier = ‘App’ and source tier = ‘DB’)
      and flows where src tier = 'App' and destinationtier = 'DB'
      or flows where flow type = 'Source is VMKNIC' or flow type = 'Destination is VMKNIC'
      일치

      vm where name matches '.*'

      vm where name matches 'a.*'

      vm where name matches '[a-z]vm-delta[0-9]'

      일치하지 않음

      vm where name not matches '.*'

      vm where name not matches 'a.*'

      vm where name not matches '[a-z]vm-delta[0-9]'

      중첩된 'in' 연산자

      vm where in (vm where name = 'x')

      vm where in (vm of host where name = 'x')

      vm where host in (host of vm where name = 'x')

      vm where name in (name of vm where name = 'x')

      예상: 쿼리의 예상 절은 필터링된 엔티티에서 표시해야 할 필드를 결정합니다. 이 절은 선택적 절입니다. 예상 절이 지정되지 않은 경우 기본 필드 집합이 검색 결과에 표시됩니다. 예상 절에는 다음 항목 중 하나가 포함될 수 있습니다.
      1. 속성
      2. 개수
      3. 목록
      4. 집계
      5. 계열

      1. 속성: 엔티티 유형으로 엔티티를 검색하면 기본 속성 집합이 검색 결과에 표시됩니다. 예상을 사용하여 검색 결과에 표시할 필드를 선택할 수 있습니다. 예를 들어 os of vms는 검색 결과에 OS property가 있는 모든 가상 시스템을 나열합니다.
        다음은 몇 가지 추가 예입니다.
        • cpu cores of vms
        • source ip address of flows

        메트릭 속성이 사용된 경우 메트릭 속성이 y-axis이고 시간이 x-axis인 그래프가 각 엔티티에 대해 표시됩니다.

      2. 개수: 개수 쿼리를 사용하여 엔티티 유형의 개체 수를 계산할 수 있습니다. 다음은 몇 가지 예입니다.
        • count of vms
        • count of hosts
        • count of flows
      3. 목록: 목록 연산자는 가져오는 엔티티에 필터 조건을 적용할 수 없는 경우에 유용합니다.

        예:

        List(host) of vms where memory <= 2gb

        이 쿼리는 호스트 목록을 가져오지만 필터 조건은 가상 시스템에 적용됩니다. 예: List(ip address)of vms where cpu cores = 1

        집계 함수: 집계 함수를 사용하면 숫자 config 또는 metric 속성에서 단일 값을 계산할 수 있습니다. 검색 쿼리 언어는 다음과 같은 집계 함수를 지원합니다.
        • max
        • sum
        • min
        • avg
        다음은 몇 가지 예입니다.
        • sum(memory) of hosts
        • sum(memory), sum(cpu cores) of vms
        • sum(bytes) of flows
      4. 계열: 계열 연산자는 메트릭 속성에 대한 집계를 수행하는 데 사용됩니다. 예:

        series(avg(cpu usage)) of vms where cpu cores = 4

        이 쿼리는 CPU 코어가 4개 있는 모든 가상 시스템의 평균 CPU 사용량을 포함하는 그래프를 표시합니다. 다음은 몇 가지 예입니다.
        • series(sum(network usage)) of vms where name like 'app'
        • series(sum(memory usage)) of vms where name like 'db'
        • series(avg(cpu usage)), series(avg(memory usage)) of vms
    • 순서 지정: order by 절을 사용하여 검색 결과를 정렬할 수 있습니다. order by 절에는 하나의 필드만 허용됩니다. 결과는 기본적으로 내림차순으로 정렬됩니다.

      다음은 몇 가지 예입니다.

      1. vms order by cpu cores
      2. vms order by cpu cores asc
      3. flows order by bytes

      limit 절을 사용하여 결과의 수를 제한할 수 있습니다. 이 절은 order by 절 앞에 와야 합니다. 예:

      vms order by memory limit 5
    • 그룹화: 엔티티를 속성별로 그룹화할 수 있습니다. 엔티티가 속성별로 그룹화되면 기본적으로 각 그룹의 결과 수가 표시됩니다. 예상을 추가하면 원하는 속성의 합계/최대값/최소값을 계산할 수 있습니다. order by 절을 추가하면 결과가 정렬됩니다. 쿼리에 order by 또는 projection 절이 있는 경우 집계 함수가 있어야 합니다.

      sum(bytes) of flows group by dest vm

      이 쿼리는 쿼리의 예상 절에 집계 함수가 있으므로 유효합니다. bytes of flows group by dest vm과 같은 쿼리는 예상 절에 집계 함수가 없으므로 유효하지 않습니다.

      다음은 몇 가지 예입니다.
      1. vms group by host
      2. sum (bytes) of flows group by dest vm order by sum(bytes)
  2. 엔티티 쿼리

    엔티티 유형으로 검색: 엔티티 유형을 검색하여 해당 엔티티 유형의 모든 엔티티를 나열할 수 있습니다.

    예: vms , hosts, flows, nsx managers

    1. 엔티티 이름으로 검색
      • 전체 이름으로 검색: 엔티티의 전체 이름을 알고 있는 경우 이름을 작은따옴표로 묶어 검색할 수 있습니다.

        예: 'prod-68-1', 'app1-72-1'

      • 이름 일부로 검색: 단일 단어 또는 여러 단어로 검색하여 입력 단어와 일치하는 모든 엔티티를 가져옵니다.

        예: prod, app1

        참고: 입력에 키워드나 엔티티 유형이 포함된 경우 검색 쿼리로 처리될 수 있습니다.
      • 엔티티 유형 및 이름으로 검색: 엔티티의 이름과 유형을 모두 알고 있는 경우 엔티티 유형 및 엔티티 이름을 함께 쿼리하여 검색할 수 있습니다.

        예: 검색 쿼리 'vm app1'app1이 포함된 모든 VM을 반환합니다.

  3. 쿼리 계획

    이러한 쿼리는 흐름을 분석하여 데이터 센터의 보안을 계획하는 데 사용할 수 있습니다.

    예:
    1. plan securitygroup1
    2. plan host1
    3. plan security
  4. 경로 쿼리

    이러한 쿼리를 사용하여 두 VM 사이의 경로 또는 VM에서 인터넷으로의 경로를 표시할 수 있습니다.

    예:
    1. Vm 'vm1' to Vm 'vm2'
    2. VM 'vm1' to Internet
참고:
  • 검색 쿼리는 대/소문자를 구분하지 않습니다.
  • 엔티티 유형 또는 구성 속성에 동의어가 있을 수 있습니다. 예를 들어 엔티티 유형 'virtual machine'에는 동의어 'vm'이 있습니다.