Les requêtes de recherche exécutent des recherches dans l'ensemble de votre déploiement et vous permettent de rechercher tous les types d'entités en fonction du terme de recherche spécifié. En outre, vRealize Network Insight fournit des suggestions pour créer les requêtes, notamment les recherches enregistrées et les recherches récentes qui correspondent au texte saisi dans la barre de recherche globale.
- Requêtes structurées
Une requête structurée comprend les composants suivants :
- Type d'entité : un type d'entité représente le type d'objet que nous souhaitons rechercher. Il peut s'agir d'une forme singulière ou d'une forme plurielle. Le type d'entité est obligatoire dans une requête structurée.
Virtual machines
Hosts
Flows
MTU Mismatch Alerts
Problems
- Filtres : la syntaxe du filtre est la suivante :
Opérateur Exemples = 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'
correspondances vm where name matches '.*'
vm where name matches 'a.*'
vm where name matches '[a-z]vm-delta[0-9]'
non correspondances vm where name not matches '.*'
vm where name not matches 'a.*'
vm where name not matches '[a-z]vm-delta[0-9]'
opérateur 'in' imbriqué 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')
- Propriété
- Nombre
- Liste
- Agrégation
- Séries
- Propriété : lorsque des entités sont recherchées par un type d'entité, l'ensemble de propriétés par défaut s'affiche dans les résultats de la recherche. À l'aide de projections, nous pouvons sélectionner les champs qui doivent figurer dans les résultats de la recherche. Par exemple,
os of vms
répertorie toutes les machines virtuelles avecOS property
dans les résultats de la recherche.Voici quelques exemples :cpu cores of vms
source ip address of flows
Si une propriété de mesure est utilisée, un graphique s'affiche pour chaque entité avec la propriété de mesure comme
y-axis
et l'heure commex-axis
. - Nombre : la requête de nombre peut être utilisée pour calculer le nombre d'objets d'un type d'entité. Voici quelques exemples :
count of vms
count of hosts
count of flows
- Liste : un opérateur de liste est utile si la condition de filtre ne peut pas être appliquée à l'entité que vous extrayez.
Par exemple :
List(host) of vms where memory <= 2gb
Cette requête extrait la liste des hôtes, alors que la condition de filtre est appliquée sur les machines virtuelles. Par exemple,
Fonctions d'agrégation : une fonction d'agrégation vous permet de calculer une valeur unique à partir d'une propriété numériqueList(ip address)of vms where cpu cores = 1
config
oumetric
. Le langage de requête de recherche prend en charge les fonctions d'agrégation suivantes :max
sum
min
avg
-
sum(memory) of hosts
-
sum(memory), sum(cpu cores) of vms
sum(bytes) of flows
- Série : un opérateur de série est utilisé pour effectuer l'agrégation sur les propriétés de mesure. Par exemple :
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
- Classement : les résultats de la recherche peuvent être triés à l'aide de la clause
order by
. Un seul champ est autorisé dans la clauseorder by
. Par défaut, les résultats sont triés par ordre décroissant.Voici quelques exemples :
vms order by cpu cores
vms order by cpu cores asc
flows order by bytes
La clause
limit
peut être utilisée pour limiter le nombre de résultats. Cette clause doit être précédée de la clauseorder by
. Par exemple :vms order by memory limit 5
- Regroupement : les entités peuvent être regroupées par une propriété. Lorsque des entités sont regroupées par une propriété, par défaut, le nombre de résultats dans chaque groupe s'affiche. En ajoutant une projection, la somme, la valeur maximale ou la valeur minimale de n'importe quelle propriété peut être calculée. L'ajout de la clause
order by
trie les résultats. Si la clauseorder by
ouprojection
est présente dans une requête, la fonction d'agrégation doit être présente.sum(bytes) of flows group by dest vm
Cette requête est valide, car sa clause de projection comporte une fonction d'agrégation. Une requête telle que
Voici quelques exemples :bytes of flows group by dest vm
n'est pas valide, car il n'y a pas de fonction d'agrégation dans la clause de projection.vms group by host
sum (bytes) of flows group by dest vm order by sum(bytes)
- Type d'entité : un type d'entité représente le type d'objet que nous souhaitons rechercher. Il peut s'agir d'une forme singulière ou d'une forme plurielle. Le type d'entité est obligatoire dans une requête structurée.
- Requêtes d'entité
Exemples :
vms
,hosts
,flows
,nsx managers
- Rechercher par nom d'entité
- Rechercher par nom complet : si le nom complet d'une entité est connu, il est possible d'effectuer une recherche en mettant le nom entre apostrophes.
Exemples :
'prod-68-1'
,'app1-72-1'
- Rechercher par nom partiel : rechercher par un seul mot ou plusieurs mots extrait toutes les entités correspondant aux mots saisis.
Exemples :
prod
,app1
Note : Si l'entrée contient des mots-clés ou des types d'entités, elle peut être traitée comme une requête de recherche. - Rechercher par type et nom d'entité : si le nom et le type d'une entité sont connus, vous pouvez les rechercher en interrogeant le type d'entité et le nom d'entité ensemble.
Exemple : la requête de recherche
'vm app1'
renvoie toutes les machines virtuelles contenantapp1
.
- Rechercher par nom complet : si le nom complet d'une entité est connu, il est possible d'effectuer une recherche en mettant le nom entre apostrophes.
- Rechercher par nom d'entité
- Requêtes de planification
Ces requêtes peuvent être utilisées pour planifier la sécurité du centre de données en analysant des flux.
Exemples :plan securitygroup1
plan host1
plan security
- Requêtes de chemin d'accès
Ces requêtes peuvent être utilisées pour afficher le chemin entre deux machines virtuelles ou le chemin d'accès de la machine virtuelle à Internet.
Exemples :Vm 'vm1' to Vm 'vm2'
VM 'vm1' to Internet
- Les requêtes de recherche ne sont pas sensibles à la casse.
- Les types d'entités ou les propriétés de configuration peuvent avoir des synonymes. Par exemple, le type d'entité
'virtual machine'
a pour synonyme'vm'
.