検索クエリは、環境全体で検索を実行し、指定した検索語に基づいてすべてのタイプのエンティティを検索できます。また、vRealize Network Insight は、クエリを構築する際に、グローバル検索バーに入力したテキストに一致する保存された検索や最近の検索などの候補を提示します。
- [構造化クエリ]
構造化クエリは、次のコンポーネントから構成されます。
- [エンティティ タイプ]:エンティティ タイプは、検索するオブジェクトのタイプを表します。これは、単数形または複数形の形式のいずれかで指定できます。構造化クエリでは、エンティティ タイプは必須です。
Virtual machines
Hosts
Flows
MTU Mismatch Alerts
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')
- プロパティ
- カウント
- リスト
- 集計
- 系列
- [プロパティ]:エンティティをエンティティ タイプで検索すると、デフォルトのプロパティ セットが検索結果に表示されます。射影を使用すると、検索結果に表示するフィールドを選択できます。たとえば、
os of vms
は、OS property
が含まれるすべての仮想マシンを検索結果に一覧表示します。次にいくつかの例を示します。cpu cores of vms
source ip address of flows
メトリック プロパティが使用されている場合、メトリック プロパティが
y-axis
で時刻がx-axis
のグラフが、エンティティごとに表示されます。 - [カウント]:カウント クエリを使用すると、あるエンティティ タイプのオブジェクト数を計算できます。次に例を示します。
count of vms
count of hosts
count of flows
- [リスト]:取得するエンティティにフィルタ条件を適用できない場合は、リスト演算子が役立ちます。
次に例を示します。
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
- [系列]:系列演算子は、メトリック プロパティでの集計の実行に使用します。次に例を示します。
series(avg(cpu usage)) of vms where cpu cores = 4
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
vms order by cpu cores asc
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
のようなクエリは、射影句に集計関数がないため、無効になります。vms group by host
sum (bytes) of flows group by dest vm order by sum(bytes)
- [エンティティ タイプ]:エンティティ タイプは、検索するオブジェクトのタイプを表します。これは、単数形または複数形の形式のいずれかで指定できます。構造化クエリでは、エンティティ タイプは必須です。
- [エンティティ クエリ]
例:
vms
、hosts
、flows
、nsx managers
- [エンティティ名で検索]
- フル ネームで検索:エンティティの完全な名前が分かっている場合は、名前を一重引用符で囲んで検索できます。
例:
'prod-68-1'
、'app1-72-1'
- 名前の一部で検索:1 つの単語または複数の単語で検索すると、入力した単語に一致するすべてのエンティティが取得されます。
例:
prod
、app1
注: 入力内容にキーワードまたはエンティティ タイプが含まれる場合、検索クエリとして処理される可能性があります。 - エンティティ タイプと名前で検索:エンティティの名前とタイプの両方が分かっている場合、エンティティ タイプとエンティティ名を一緒に使用して検索できます。
例:検索クエリ
'vm app1'
はapp1
を含むすべての仮想マシンを返します。
- フル ネームで検索:エンティティの完全な名前が分かっている場合は、名前を一重引用符で囲んで検索できます。
- [エンティティ名で検索]
- [計画クエリ]
これらのクエリは、フローの分析による、データセンターのセキュリティ計画に使用できます。
例:plan securitygroup1
plan host1
plan security
- [パス クエリ]
これらのクエリを使用して、2 台の仮想マシン間のパス、または仮想マシンからインターネットへのパスを表示できます。
例:Vm 'vm1' to Vm 'vm2'
VM 'vm1' to Internet
- 検索クエリでは、大文字と小文字は区別されません。
- エンティティ タイプまたは設定プロパティに同義語を使用できます。たとえば、エンティティタイプ
'virtual machine'
には、'vm'
の同義語があります。