利用 OMS Log Analytics 監視 VMware

這篇部落格會告訴您如何建立 OMS 來收集 VMware 的記錄。此外,還會介紹一些 OMS 搜尋指令的範例讓您能夠快速開始部署並為您的 VMware 環境提供深度的洞察。

建立 OMS 從 VMware 收集資料

1. 首先建立您的 VMware 環境讓記錄能夠合併到 syslog 中並被傳送到 vCenter Server。您可以有多個 ESXi 主機傳送 syslog 到單一的 vCenter Server 中。此範例使用最新的 vCenter 伺服器和版本6.0 的 ESXi 主機。

接著將 OMS Windows agent 安裝到 vCenter 上。詳細安裝步驟請參閱:將 Windows 電腦連接到 Azure 中的 Log Analytics 服務

2. 安裝完 agent 後,設定 OMS 自訂記錄檔讓 syslog 能被收集。如何設定自訂記錄檔的詳細資料請參閱:Log Analytics 中的自訂記錄檔

在 vCenter Server 建立 syslog 資料夾作為您的自訂記錄檔。

"C:\ProgramData\VMware\vCenterServer\data\vmsyslogcollector\ yourESXihostname \syslog.txt"

3. 接著設定就完成了。前往 OMS 設定頁面查看您的 vCenter server 是否上線了。

4. 設定 OMS 中的自訂欄位。詳細資訊請參閱:Log Analytics 中的自訂欄位

VMwareHost_CF  ESXi Hostname 
VMwarePN_CF VMware Application Name ( vmkernel, vmkwarning, vobd, hostd, etc.)

完成以上設定後,您便可以針對 syslog 執行一個簡單的搜尋指令。

搜尋指令範例

在每天的運作中,您會想瞭解在您環境中所發生的事件。以下的幾個指令會提供您前十名的 VMware 事件和趨勢、磁盤警告趨勢、VM 建立/刪除的數量、儲存延遲等等。您也可以將這些搜尋指令用於其他案例中。

這些搜尋指令都能夠被繪製並顯示在 OMS 儀表板中。想深入瞭解"我的儀表板",請參閱:建立用於 Log Analytics 中的自訂儀表板

VMware 事件前十名

Top 10 Event charting  Type=VMware_CL  | measure count() by VMwarePN_CF | top 10

事件的趨勢

Event Trend Hourly Interval Type=VMware_CL |  measure countdistinct(TimeGenerated) by VMwareHost_CF Interval 1HOUR

一段時間內在特定 ESXi 主機上看到的磁盤警示

Hourly Interval Charting Type=VMware_CL VMwareHost_CF=”yourESXihostname ” VMwarePN_CF=smartd “warn”  | measure count() interval 1HOUR
Daily Interval Charting  Type=VMware_CL VMwareHost_CF=”yourESXihostname ” VMwarePN_CF=smartd “warn”  | measure count() interval 1DAY

磁盤溫度警示圖

Hourly Interval disk temperature on ESXi above threshold Type=VMware_CL VMwareHost_CF=”yourESXihostname” VMwarePN_CF=smartd (“warn” and “above temperature”) | measure count() interval 1HOUR

過去24小時每個 ESXi 主機中 VM 關閉的數量

Daily Interval Chart Type=VMware_CL  (“is powered off”) VMwarePN_CF=Hostd   TimeGenerated:[NOW-1DAY..NOW] | measure count () by VMwareHost_CF


過去24小時建立的 VM 數量

Daily Interval Chart  Type=VMware_CL (“Created virtual machine”) TimeGenerated:[NOW-1DAY..NOW] | measure countdistinct(TimeGenerated) by VMwareHost_CF

過去24小時刪除的 VM 數量

Daily Interval Chart Type=VMware_CL VMwarePN_CF=Hostd (“removed”) TimeGenerated:[NOW-1DAY..NOW] | measure countdistinct(TimeGenerated) by VMwareHost_CF

過去24小時每個 ESXi 主機中的儲存延遲

Daily Interval Chart  Type=VMware_CL  (“latency”)   TimeGenerated:[NOW-1DAY..NOW] | measure count() by VMwareHost_CF

警示範例

OMS 具有一個利用搜尋指令結果的警示功能。在 OMS 警示規則的介面中,您可以設定一個時間軸來決定何時要執行搜尋指令,並加入一個閾值來產生警示。想瞭解更多警示的詳細資料請參閱:回應在 Log Analytics 中使用警示的問題

如預設的,建議將閾值調成3。完成 OMS 警示設定後,您將會收到 email 認證。

以下是一些您可以為問題設定警示的範例搜尋指令:

一段時間內多個 VM 關閉時警示

Alerting Multiple VM powered off

Type=VMware_CL (“is powered off”) VMwareHost_CF=”yourESXihostname“

儲存體溫度過高警示

Alert on the high temperature query

Type=VMware_CL VMwarePN_CF=smartd (“warn” and “above temperature”)

磁碟警告警示

Disk Warning Alerting

Type=VMware_CL VMwarePN_CF=smartd “warn”

儲存體容量接近 ESXi 主機的消耗警示

Disk Space Alerting

Type=VMware_CL (“space left on device”)

vCenter Server 關閉警示

vCenter Shutting down

EventLog=Application Source=”VMware VirtualCenter Server” “shutdown”