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.
Voici quelques exemples :
Virtual machinesHostsFlowsMTU Mismatch AlertsProblems
- Filtres : la syntaxe du filtre est la suivante :
La syntaxe de condition est la suivante :
Une clause de filtre peut être utilisée pour filtrer les résultats de la recherche. La condition dans une clause de filtre se compose d'une propriété, d'un opérateur de comparaison et d'une valeur. Les conditions peuvent être combinées à des opérateurs logiques pour former des conditions complexes. Voici une liste des opérateurs que vous pouvez utiliser :
Projections : une clause de projection dans une requête détermine les champs qui doivent être affichés à partir des entités filtrées. Cette clause est facultative. Si la clause de projection n'est pas spécifiée, l'ensemble de champs par défaut s'affiche dans les résultats de la recherche. Une clause de projection peut contenir l'un des éléments suivants :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 setis 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 vmsrépertorie toutes les machines virtuelles avecOS propertydans les résultats de la recherche.Voici quelques exemples :cpu cores of vmssource 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-axiset 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 vmscount of hostscount 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 <= 2gbCette 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 = 1configoumetric. Le langage de requête de recherche prend en charge les fonctions d'agrégation suivantes :maxsumminavg
-
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 :
Cette requête affiche le graphique contenant l'utilisation de CPU moyenne de toutes les machines virtuelles disposant de 4 cœurs de CPU. Voici quelques exemples :series(avg(cpu usage)) of vms where cpu cores = 4series(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 coresvms order by cpu cores ascflows order by bytes
La clause
limitpeut ê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 bytrie les résultats. Si la clauseorder byouprojectionest présente dans une requête, la fonction d'agrégation doit être présente.
sum(bytes) of flows group by dest vmCette 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 vmn'est pas valide, car il n'y a pas de fonction d'agrégation dans la clause de projection.vms group by hostsum (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é
Rechercher par type d'entité : toutes les entités d'un type d'entité peuvent être répertoriées en recherchant le type 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,app1Note : 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 securitygroup1plan host1plan 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'.