vRealize Log Insight 會將預先定義的 vSphere 資料存放區名稱對應至裝置識別碼。基於此對應,您可以在查詢中使用作為裝置識別碼別名的資料存放區名稱。查詢會尋找含有資料存放區名稱或作為其別名之裝置識別碼的訊息。vRealize Log Insight 必須在訊息中同時接收到索引鍵 (資料存放區名稱) 及其值 (資料存放區識別碼),才能夠啟用別名。

別名定義於 VMware-vSphere 內容套件中。別名可以是靜態或動態的。

靜態別名

靜態別名會使用下列欄位進行設定:

欄位 說明
aliasFields 指定 searchField索引鍵之間的靜態對應。
名稱 別名欄位的名稱。
searchField 需要別名之欄位的名稱。
要比對之 searchField 的值。
索引鍵 要為包含 searchField 的事件顯示的別名。
定義 靜態別名定義如下:
"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"
    }]
}],

對於每個現有欄位,此定義會新增值具有易記名稱的另一個欄位:

  • 對於 vmw_esxi_scsi_host_status 欄位,定義會新增值具有易記名稱的 vmw_esxi_scsi_host_status_label 欄位。例如,欄位值為「0x1」的 vmw_esxi_scsi_host_status 會產生 vmw_esxi_scsi_host_status_label 值「NO_CONNECT」。
  • 對於 vmw_esxi_scsi_device_status 欄位,定義會新增值具有易記名稱的 vmw_esxi_scsi_device_status_label 欄位。例如,欄位值為「0x2」的 vmw_esxi_scsi_device_status 會產生 vmw_esxi_scsi_device_status_label 值「CHECK CONDITION」。
  • 對於 vmw_esxi_scsi_sense_code 欄位,定義會新增值具有易記名稱的 vmw_esxi_scsi_device_sense_label 欄位。例如,欄位值為「0x3」的 vmw_esxi_scsi_sense_code 會產生 vmw_esxi_scsi_device_sense_label 值「MEDIUM ERROR」。

動態別名

動態別名會使用下列欄位進行設定:

欄位 說明
aliasRules associatedFieldsvalueFieldkeyField 之間的動態對應。
名稱 用來識別別名的唯一名稱 (僅限內部)。
keyField 應對應其動態別名的欄位。
valueField 與提供別名值的 keyField 相同的事件中的第二個欄位。
aliasFieldName 別名欄位的名稱,其將顯示在包含 keyField 的事件旁。
associatedFields 應顯示 aliasFieldName 的一或多個欄位。
定義 動態別名定義如下:
"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"
    ]
}],

若要讓動態別名欄位能夠運作,vRealize Log Insight 必須記錄特定訊息才建置別名。

  • 若要讓 vmw_esxi_vmfs_name 欄位能夠運作,vRealize Log Insight 必須先收到如下的記錄訊息:

    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

    用來比對此事件的查詢為 hostd VmFileSystem Label headExtent naa*。對於找到的每個唯一 vmw_esxi_device_id 欄位值,vRealize Log Insight 會將 vmw_esxi_vmfs_label 欄位的值對應至 vmw_esxi_vmfs_name 欄位。在此範例中,vmw_esxi_device_id 欄位為「naa.6b083fe0c212bd001f22e05d07099022」,vmw_esxi_vmfs_label 欄位為「datastore001」。在記錄此事件後,若使用 vmw_esxi_vmfs_name 欄位中包含資料存放區名稱的篩選器來執行查詢,將會傳回包含「naa.6b083fe0c212bd001f22e05d07099022」的記錄訊息。

  • 若要讓 vmw_esxi_datastore_name 欄位能夠運作,vRealize Log Insight 必須先收到如下的記錄訊息:

    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.

    用來比對此事件的查詢為 scsiCorrelator storage Datastores naa*。對於在 vmw_esxi_device_id 欄位中找到的每個唯一值,vRealize Log Insight 會將 vmw_esxi_datastore 欄位的值對應至 vmw_esxi_datastore_name 欄位。在此範例中,vmw_esxi_device_id 欄位為「naa.6006016006502a004b1c42e756fbe411」,vmw_esxi_datastore 欄位為「datastore002」。在記錄此事件後,若使用 vmw_esxi_datastore_name 欄位中包含資料存放區名稱的篩選器來執行查詢,將會傳回包含「naa.6006016006502a004b1c42e756fbe411」的記錄訊息。

別名的需求

若要使用別名,請確定:

  • 您使用的是 vRealize Log Insight 4.0 或更新版本。
  • 您使用的是 VMware-vSphere 內容套件 4.0 或更新版本。vRealize Log Insight 包含此內容套件。
  • ESXi 已設定為會將記錄傳送至 vRealize Log Insight
  • 第一個包含索引鍵和值的事件通過擷取管線後,至少要有五分鐘的間隔。

別名的限制

使用別名時有下列限制:

  • 不可使用具有數學函數的別名,例如平均值、最小值、最大值等。
  • 不可使用具有「存在」和「不存在」運算子的別名。
  • 別名不會隨著記錄轉送而轉送。
  • 每個節點最多可學習 100,000 個別名,超過此限額後,將會以 FIFO 方式輪替。