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.

Les requêtes de recherche peuvent être réparties dans les catégories suivantes :
  1. Requêtes structurées

    Une requête structurée comprend les composants suivants :

    Une requête structurée est constituée de composants tels que la projection, le type d'entité, le filtre, le regroupement et le classement.

    • 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.

      Un type d'entité peut être une machine virtuelle, un hôte, un groupe de sécurité, un VLAN, un VXLAN, un routeur, un flux, un problème, un événement, etc.

      Voici quelques exemples :
      1. Virtual machines
      2. Hosts
      3. Flows
      4. MTU Mismatch Alerts
      5. Problems
    • Filtres : la syntaxe du filtre est la suivante :

      Un filtre doit comporter la clause where suivie de la condition.

      La syntaxe de condition est la suivante :

      La syntaxe d'une condition inclut une propriété, un opérateur tel que égal à, supérieur à, dans, est défini, etc. ainsi qu'une valeur.

      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 :
      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')

      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 :
      1. Propriété
      2. Nombre
      3. Liste
      4. Agrégation
      5. Séries

      "" (texte null)

      1. 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 avec OS 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 comme x-axis.

      2. 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
      3. 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, List(ip address)of vms where cpu cores = 1

        Fonctions d'agrégation : une fonction d'agrégation vous permet de calculer une valeur unique à partir d'une propriété numérique config ou metric. Le langage de requête de recherche prend en charge les fonctions d'agrégation suivantes :
        • max
        • sum
        • min
        • avg
        Voici quelques exemples :
        • sum(memory) of hosts
        • sum(memory), sum(cpu cores) of vms
        • sum(bytes) of flows
      4. 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

        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(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 clause order by. Par défaut, les résultats sont triés par ordre décroissant.

      "" (texte null)

      Voici quelques exemples :

      1. vms order by cpu cores
      2. vms order by cpu cores asc
      3. 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 clause order 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 clause order by ou projection est présente dans une requête, la fonction d'agrégation doit être présente.

      "" (texte null)

      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 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.

      Voici quelques exemples :
      1. vms group by host
      2. sum (bytes) of flows group by dest vm order by sum(bytes)
  2. Requêtes d'entité

    "" (texte null)

    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

    1. 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 contenant app1.

  3. 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.

    "" (texte null)

    Exemples :
    1. plan securitygroup1
    2. plan host1
    3. plan security
  4. 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.

    "" (texte null)

    Exemples :
    1. Vm 'vm1' to Vm 'vm2'
    2. VM 'vm1' to Internet
Note :
  • 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'.