網(wǎng)絡指標說明
Azure虛擬機具有兩種類型的指標,主機級指標,及來賓OS級指標。
默認情況下,基于Resource Manager的虛擬機發(fā)出基本(主機級)指標。此外,為虛擬機安裝診斷擴展并啟用來賓級別監(jiān)視時,Azure診斷擴展也會發(fā)出來賓OS性能計數(shù)器(通常稱為“來賓OS指標”)。
通俗說來,主機級指標來自物理主機,而來賓OS級指標是VM中的代理收集的??梢栽跒閃indows虛擬機配置的診斷存儲賬戶中找到名為WADPerformanceCountersTable的表,并在表中查看到代理收集的全部診斷信息。
在主機級指標中,有Network In及Network Out兩項網(wǎng)絡指標;同時,在來賓OS級指標中,同樣有多個關于網(wǎng)絡的指標可用,例如:Network Interface(*)Bytes Sent/sec,Network Interface(*)Bytes Received/sec,但未指定網(wǎng)卡名稱,需手動添加后才可查看或應用。具體的指標名稱,請以WADPerformanceCountersTable表中顯示為準(網(wǎng)卡名稱與虛擬機內(nèi)查看到的相對應)。本文將著重于Network Interface(*)Bytes Sent/sec和Network Interface(*)Bytes Received/sec。
通過這些指標所繪制的圖表,可能會存在很大差異。這不僅僅體現(xiàn)在指標所采用的度量單位不同以及采樣頻率不同而導致的數(shù)值差異。
以下兩圖來自同一臺虛擬機在相同時間段內(nèi)的兩組指標。圖一基于主機級指標Network In及Network Out繪制,單位為Bytes,其值代表在每個統(tǒng)計周期(目前為一分鐘)內(nèi)的入向/出向總流量;而圖二基于來賓OS級指標Network Interface(Microsoft Hyper-V Network Adapter _3)Bytes Sent/sec及Network Interface(Microsoft Hyper-V Network Adapter _3)Bytes Received/sec繪制,單位為Bytes/sec,代表每個采樣周期(默認為最小值60秒)內(nèi)的平均發(fā)送/接收傳輸速率。
備注
理論上,如果網(wǎng)絡速率(Byte/s)為x,那么一分鐘(60s)的總流量y(Bytes)=60x紅框標出的部分,主要來自同一次下載任務,由于其度量方式的不同,Network In(Bytes)可見峰值為300多MB,而Network Interface(Microsoft Hyper-V Network Adapter _3)Bytes Received/sec峰值在5MB/s左右。大致符合上述關系(但由于統(tǒng)計方式及具體取樣時間等差異,并不能精確滿足上述公式)。
圖一主機級指標
圖二來賓OS級指標
(上圖示意查看指標的完整名稱)
圖二可見在16:00-17:00之間有過三次的出向流量高峰,而圖一中卻沒發(fā)現(xiàn)這些流量。
事實上,這些流量是通過專用IP地址,向同一個虛擬網(wǎng)絡中的FTP服務器上傳了大文件產(chǎn)生的。由于指標背后的算法不同,通過專用IP通信產(chǎn)生的流量,沒有被計入主機級Network In/Out。
但來賓OS級指標的數(shù)據(jù)收集自虛擬機的網(wǎng)卡。因此,無論流量來自或去向哪里,即使是多網(wǎng)卡虛擬機自身的兩塊網(wǎng)卡之間通過專用IP地址進行通信,也會被計入這一指標。
參考以下幾種場景:
表1
同時值得注意的是,主機級別指標,會統(tǒng)計當前虛擬機所有網(wǎng)卡產(chǎn)生的符合條件的流量總和,不區(qū)分網(wǎng)卡;而來賓OS級別指標,會按照每個網(wǎng)卡分別進行統(tǒng)計。
考慮到統(tǒng)計方式及結(jié)果的不同,要了解虛擬機的實際運行及流量狀況,建議以來賓OS級指標為準;因此,也建議為虛擬機啟用來賓級別監(jiān)視。啟用后,需要為每個網(wǎng)卡添加需要的網(wǎng)絡指標。且如果之后對虛擬機網(wǎng)卡進行操作而導致網(wǎng)卡名稱改變的,需要重新添加新的指標,刪除不再有效的指標。
后續(xù)步驟
為Windows虛擬機添加網(wǎng)絡指標并創(chuàng)建警報規(guī)則
為了更好的監(jiān)控Windows虛擬機流量情況,建議手動添加網(wǎng)絡指標并配置警報規(guī)則:(目前此功能只在中國東部和中國北部有效)
1.添加來賓OS級指標
啟用來賓OS級指標后,默認已經(jīng)添加多個指標,但關于網(wǎng)絡的指標Network Interface(_)Bytes Total/sec,Network Interface(_)Bytes Total/sec等,均未指明網(wǎng)卡,因此也無法獲取到流量數(shù)據(jù)。
a.確認網(wǎng)卡名稱及指標名稱。
可以通過Visual Studio、Azure存儲資源管理器、Azure Management Studio等方式來查看存儲賬戶中的監(jiān)控數(shù)據(jù),并確定需要添加的指標名稱。
例如,使用Azure存儲資源管理器,登錄賬戶后,找到存儲賬戶—Tables—WADPerformanceCountersTable—CounterName—Network Interface(Microsoft Hyper-V Network Adapter_5)Bytes Sent/sec:
b.在“診斷設置”中添加需要的指標。
在Azure門戶虛擬機的“診斷設置”中,選擇“性能計數(shù)器”—“自定義”,添加在上一步獲取到的指標名稱:
添加后,可以配置“采樣率(秒)”(默認為60秒),并保存:
c.在“指標中”,查看新添加的指標。
保存并更新完成后,新添加的指標將會在“Guest”下的可用指標中列出:
2.添加警報規(guī)則
可以通過Azure門戶配置經(jīng)典指標警報,選擇“警報(經(jīng)典)”—“添加指標警報(經(jīng)典)”
根據(jù)實際需求,選擇添加的網(wǎng)絡指標并設定閾值,配置界面中也會根據(jù)設置的閾值,為縮略圖標注出該基準線。閾值單位為指標單位,與縮略圖標注無關。
當該警報規(guī)則被觸發(fā)時,會根據(jù)規(guī)則配置執(zhí)行預設的操作,例如選擇接收郵件通知,將會在觸發(fā)規(guī)則時收到Microsoft Azure Alerts alerts-noreply mail.windowsazure.com的如下郵件:
這些警報規(guī)則,能在一定程度上輔助避免因異常流量而導致的經(jīng)濟及業(yè)務上的損失。