vRealize Log Insight mappe les noms de banques de données vSphere prédéfinis aux ID de périphériques. En raison de ce mappage, vous pouvez utiliser des noms de banques de données qui sont des alias pour les ID de périphériques dans les requêtes. La requête trouve des messages avec le nom de la banque de données ou l'ID de périphérique pour lequel elle dispose d'un alias. vRealize Log Insight doit recevoir la clé (nom de la banque de données) et sa valeur (ID de banque de données) dans les messages avant l'activation de l'alias.

Les alias sont définis dans le pack de contenu VMware vSphere. Les alias peuvent être statiques ou dynamiques.

Alias statiques

Les alias statiques sont configurés à l'aide des champs suivants :

Champ Description
aliasFields Le mappage statique de value à key pour un élément searchField donné.
name Nom du champ d'alias.
searchField Nom du champ pour lequel un alias est souhaité.
value Valeur de searchField à faire correspondre.
key Alias à afficher avec des événements qui contiennent searchField.
definition Un alias statique est défini comme suit :
"aliasFields":[{
    "name":"vmw_esxi_scsi_host_status",
    "searchField":"vmw_esxi_scsi_host_status_label",
    "aliases":[{
        "key":"OK",          "value":"0x0"},{
        "key":"NO_CONNECT",  "value":"0x1"},{
        "key":"BUS_BUSY",    "value":"0x2"},{
        "key":"TIME_OUT",    "value":"0x3"},{
        "key":"BAD_TARGET",  "value":"0x4"},{
        "key":"ABORT",       "value":"0x5"},{
        "key":"PARITY",      "value":"0x6"},{
        "key":"ERROR",       "value":"0x7"},{
        "key":"RESET",       "value":"0x8"},{
        "key":"BAD_INTR",    "value":"0x9"},{
        "key":"PASSTHROUGH", "value":"0xa"},{
        "key":"SOFT_ERROR",  "value":"0xb"
    }]
},{
    "name":"vmw_esxi_scsi_device_status",
    "searchField":"vmw_esxi_scsi_device_status_label",
    "aliases":[{
        "key":"GOOD",                 "value":"0x0"},{
        "key":"CHECK CONDITION",      "value":"0x2"},{
        "key":"CONDITION MET",        "value":"0x4"},{
        "key":"BUSY",                 "value":"0x8"},{
        "key":"RESERVATION CONFLICT", "value":"0x18"},{
        "key":"TASK SET FULL",        "value":"0x28"},{
        "key":"ACA ACTIVE",           "value":"0x30"},{
        "key":"TASK ABORTED",         "value":"0x40"
    }]
},{
    "name":"vmw_esxi_scsi_sense_code",
    "searchField":"vmw_esxi_scsi_sense_label",
    "aliases":[{
        "key":"NO SENSE",        "value":"0x0"},{
        "key":"RECOVERED ERROR", "value":"0x1"},{
        "key":"NOT READY",       "value":"0x2"},{
        "key":"MEDIUM ERROR",    "value":"0x3"},{
        "key":"HARDWARE ERROR",  "value":"0x4"},{
        "key":"ILLEGAL REQUEST", "value":"0x5"},{
        "key":"UNIT ATTENTION",  "value":"0x6"},{
        "key":"DATA PROTECT",    "value":"0x7"},{
        "key":"BLANK CHECK",     "value":"0x8"},{
        "key":"VENDOR SPECIFIC", "value":"0x9"},{
        "key":"COPY ABORTED",    "value":"0xA"},{
        "key":"ABORTED COMMAND", "value":"0xB"},{
        "key":"VOLUME OVERFLOW", "value":"0xD"},{
        "key":"MISCOMPARE",      "value":"0xE"
    }]
}],

Pour chaque champ existant, cette définition ajoute un autre champ contenant des valeurs ayant des noms conviviaux :

  • Pour le champ vmw_esxi_scsi_host_status, la définition ajoute un champ vmw_esxi_scsi_host_status_label contenant une valeur qui est un nom convivial. Par exemple, une valeur de champ « 0x1 » pour vmw_esxi_scsi_host_status génère une valeur vmw_esxi_scsi_host_status_label de « NO_CONNECT ».
  • Pour le champ vmw_esxi_scsi_device_status, la définition ajoute un champ vmw_esxi_scsi_device_status_label contenant une valeur qui est un nom convivial. Par exemple, une valeur de champ « 0x2 » pour vmw_esxi_scsi_device_status génère une valeur vmw_esxi_scsi_device_status_label de « CHECK CONDITION ».
  • Pour le champ vmw_esxi_scsi_sense_code, la définition ajoute un champ vmw_esxi_scsi_device_sense_label contenant une valeur qui est un nom convivial. Par exemple, une valeur de champ « 0x3 » pour vmw_esxi_scsi_sense_code génère une valeur vmw_esxi_scsi_device_sense_label de « MEDIUM ERROR ».

Alias dynamiques

Les alias dynamiques sont configurés à l'aide des champs suivants :

Champ Description
aliasRules Le mappage dynamique de valueField à keyField pour associatedFields.
name Nom unique permettant d'identifier l'alias (interne uniquement).
keyField Champ pour lequel un alias dynamique doit être mappé.
valueField Un deuxième champ dans le même événement que keyField qui fournit la valeur d'alias.
aliasFieldName Nom du champ d'alias à afficher en regard des événements qui contiennent keyField.
associatedFields Le ou les champs pour lesquels aliasFieldName doit s'afficher.
definition Un alias dynamique est défini comme suit :
"aliasRules":[{
    "name":"DatastoreFromVmFileSystem",
    "filter":"hostd VmFileSystem Label headExtent naa*",
    "keyField":"vmw_esxi_device_id",
    "valueField":"vmw_esxi_vmfs_label",
    "aliasFieldName":"vmw_esxi_vmfs_name",
    "associatedFields":[
        "vmw_esxi_device_id"
    ]
},{
    "name":"DatastoreFromScsiCorrelator",
    "filter":"scsiCorrelator storage Datastores naa*",
    "keyField":"vmw_esxi_device_id",
    "valueField":"vmw_esxi_datastore",
    "aliasFieldName":"vmw_esxi_datastore_name",
    "associatedFields":[
        "vmw_esxi_device_id"
    ]
}],

Pour que les champs d'alias dynamique fonctionnent, vRealize Log Insight nécessite la journalisation de messages spécifiques pour la création d'alias.

  • Pour que le champ vmw_esxi_vmfs_name fonctionne correctement, vRealize Log Insight doit d'abord recevoir un message de journal semblable au suivant :

    016-10-22T00:50:00.042Z host001.corp.local Hostd: info hostd[5179FB70] [Originator@6876 sub=Libs]
    VmFileSystem: uuid:57925c06-0a8a627e-9f0b-b82a72d50b06, Label:datastore001,logicalDevice:57925c05-63b188db-37da-b82a72d50b06, headExtent:naa.6b083fe0c212bd001f22e05d07099022:1

    La requête utilisée pour faire correspondre cet événement est hostd VmFileSystem Label headExtent naa*. Pour chaque valeur de champ vmw_esxi_device_id unique trouvée, vRealize Log Insight mappe la valeur de champ vmw_esxi_vmfs_label au champ vmw_esxi_vmfs_name. Dans cet exemple, le champ vmw_esxi_device_id est « naa.6b083fe0c212bd001f22e05d07099022 » et le champ vmw_esxi_vmfs_label est « datastore001 ». Une fois que cet événement est consigné, l'exécution d'une requête avec un filtre dans lequel le champ vmw_esxi_vmfs_name contient un nom de banque de données renvoie des messages de journal qui contiennent « naa.6b083fe0c212bd001f22e05d07099022 ».

  • Pour que le champ vmw_esxi_datastore_name fonctionne correctement, vRealize Log Insight doit d'abord recevoir un message de journal semblable au suivant :

    2016-11-24T03:56:47.738Z host002.corp.local vobd:  [scsiCorrelator] 4851129307827us: [esx.clear.storage.redundancy.restored]
    Path redundancy to storage device naa.6006016006502a004b1c42e756fbe411 (Datastores: "datastore002") restored. Path vmhba39:C0:T1:L2 is active again.

    La requête utilisée pour faire correspondre cet événement est scsiCorrelator storage Datastores naa*. Pour chaque valeur unique trouvée dans le champ vmw_esxi_device_id, vRealize Log Insight mappe la valeur du champ vmw_esxi_datastore au champ vmw_esxi_datastore_name. Dans cet exemple, le champ vmw_esxi_device_id est « naa.6006016006502a004b1c42e756fbe411 » et le champ vmw_esxi_datastore est « datastore002 ». Une fois que cet événement est consigné, l'exécution d'une requête avec un filtre dans lequel le champ vmw_esxi_datastore_name contient un nom de banque de données renvoie des messages de journal qui contiennent « naa.6006016006502a004b1c42e756fbe411 ».

Conditions requises pour les alias

Pour utiliser des alias, assurez-vous des points suivants :

  • Vous utilisez vRealize Log Insight 4.0 ou version ultérieure.
  • Vous utilisez le pack de contenu VMware - vSphere 4.0 ou version ultérieure. vRealize Log Insight comprend ce pack de contenu.
  • ESXi est configuré pour envoyer des journaux à vRealize Log Insight.
  • Il existe un intervalle minimal de cinq minutes après que le premier événement qui contient la clé et la valeur passent par le pipeline d'ingestion.

Restrictions pour les alias

Les restrictions suivantes s'appliquent à l'utilisation des alias :

  • Vous ne pouvez pas utiliser d'alias avec des fonctions mathématiques, par exemple, moy, min, max, etc.
  • Vous ne pouvez pas utiliser d'alias avec les opérateurs « existe » et « n'existe pas ».
  • Les alias ne sont pas transmis dans le cadre du transfert d'événements.
  • Jusqu'à 100 000 alias peuvent être appris par nœud, après quoi ils sont supprimés selon le modèle FIFO (Premier entré, premier sorti).