|
當(dāng)我們工作和生活中所有活動(dòng)都和網(wǎng)絡(luò)密切相關(guān)時(shí) 網(wǎng)絡(luò)狀況如果不好,簡(jiǎn)直都不好意思跟人打招呼 在線開(kāi)會(huì),大家都在暢所欲言,你聽(tīng)到的效果猶如磁帶卡帶…… 領(lǐng)導(dǎo)讓你緊急修改 PPT,5 分鐘后就要,可你還沒(méi)下載下來(lái)…… 下班了打游戲殺怪,可因?yàn)榫W(wǎng)絡(luò)慢,沒(méi)一個(gè)隊(duì)友愿意帶你…… 不行就去看看最新的宮斗劇吧,到底立誰(shuí)為太子了?關(guān)鍵時(shí)刻必然會(huì)卡住…… 網(wǎng)絡(luò)帶寬,網(wǎng)絡(luò)延遲……這些指標(biāo)都非常重要 公司用 Azure 虛機(jī)跑了重要業(yè)務(wù)的運(yùn)營(yíng)者都會(huì)考慮下方問(wèn)題: 牽扯到重要業(yè)務(wù)應(yīng)用,不能只憑主觀感受來(lái)判斷,需要有客觀數(shù)據(jù)為基礎(chǔ)!在 Azure 中運(yùn)行的虛擬機(jī),Azure 監(jiān)視程序會(huì)使用代理工具從其中收集啟動(dòng)和性能數(shù)據(jù),并將這些數(shù)據(jù)存儲(chǔ)在 Azure 存儲(chǔ)服務(wù)中,隨后我們就可以通過(guò) Azure 管理門戶、 Azure Power Shell 模塊或者 Azure CLI 查看,進(jìn)而了解虛擬機(jī)的各種運(yùn)行狀態(tài)參數(shù)和指標(biāo)。 更棒的是,Azure 不僅可以讓我們查看虛擬機(jī)的相關(guān)指標(biāo),還可以用來(lái)查看運(yùn)行了這個(gè)虛擬機(jī)的底層物理主機(jī)的相關(guān)指標(biāo)!除了最基本的主機(jī)指標(biāo),我們還可以安裝「Azure診斷擴(kuò)展」,進(jìn)而查看更豐富的監(jiān)視和診斷數(shù)據(jù),并能根據(jù)性能情況創(chuàng)建警報(bào)。 例如,如果要通過(guò) Azure 管理門戶查看 Windows 虛擬機(jī)的指標(biāo),只要在門戶中單擊「資源組」,選擇要查看的資源組以及其中運(yùn)行的虛擬機(jī),然后在虛擬機(jī)的邊欄選項(xiàng)卡中選擇「指標(biāo)」,接著只要點(diǎn)擊要查看的可用指標(biāo),所有信息一目了然: 這里可以顯示的指標(biāo)和數(shù)據(jù)很豐富,那么對(duì)于和網(wǎng)絡(luò)有關(guān)的指標(biāo),我們都需要看些什么,又該怎樣理解不同指標(biāo)的含義? Windows 虛擬機(jī)的網(wǎng)絡(luò)指標(biāo) 上文提到, Azure 虛擬機(jī)具有兩種類型的指標(biāo):主機(jī)級(jí)指標(biāo),及來(lái)賓 OS 級(jí)指標(biāo),與網(wǎng)絡(luò)有關(guān)的指標(biāo)也是如此。 但是有人在使用后發(fā)現(xiàn):針對(duì)同一個(gè)虛擬機(jī),同時(shí)使用主機(jī)級(jí)指標(biāo)和來(lái)賓 OS 級(jí)指標(biāo)看到的網(wǎng)絡(luò)指標(biāo)數(shù)據(jù)竟然是不同的!為什么? 默認(rèn)情況下,基于 Resource Manager 的虛擬機(jī)發(fā)出基本(主機(jī)級(jí))指標(biāo)。此外,為虛擬機(jī)安裝診斷擴(kuò)展并啟用來(lái)賓級(jí)別監(jiān)視時(shí), Azure 診斷擴(kuò)展也會(huì)發(fā)出來(lái)賓 OS 性能計(jì)數(shù)器(通常稱為「來(lái)賓 OS 指標(biāo)」)。 簡(jiǎn)單說(shuō),主機(jī)級(jí)指標(biāo)來(lái)自物理主機(jī),而來(lái)賓 OS 級(jí)指標(biāo)是 VM 中的代理收集的。我們可以在為 Windows 虛擬機(jī)配置的診斷存儲(chǔ)賬戶中找到名為 WAD Performance Counters Table 的表,并在表中查看到代理收集的全部診斷信息。 在主機(jī)級(jí)指標(biāo)中,有 NetworkIn 及 Network Out 兩項(xiàng)網(wǎng)絡(luò)指標(biāo);同時(shí)在來(lái)賓 OS 級(jí)指標(biāo)中,同樣有多個(gè)關(guān)于網(wǎng)絡(luò)的指標(biāo)可用,例如: NetworkInterface(*)Bytes Sent/sec, NetworkInterface(*)Bytes Received/sec, 但未指定網(wǎng)卡名稱,需手動(dòng)添加后才可查看或應(yīng)用。 具體指標(biāo)名稱請(qǐng)以 WAD Performance Counters Table 表中顯示為準(zhǔn)(網(wǎng)卡名稱與虛擬機(jī)內(nèi)查看到的相對(duì)應(yīng))。下文將著重于NetworkInterface(*)Bytes Sent/sec和NetworkInterface(*)Bytes Received/sec。 通過(guò)這些指標(biāo)繪制的圖表可能存在差異,但這不僅僅體現(xiàn)在指標(biāo)所采用的度量單位不同,以及采樣頻率不同也會(huì)導(dǎo)致數(shù)值的差異。 下面兩圖來(lái)自同一臺(tái)虛擬機(jī)在相同時(shí)間段內(nèi)的兩組指標(biāo)。 圖一基于主機(jī)級(jí)指標(biāo)NetworkIn及Network Out繪制,單位為 Bytes ,其值代表在每個(gè)統(tǒng)計(jì)周期(目前為一分鐘)內(nèi)的入向/出向總流量; 而圖二基于來(lái)賓 OS 級(jí)指標(biāo) NetworkInterface(Microsoft Hyper-V Network Adapter _3)Bytes Sent/sec及NetworkInterface(Microsoft Hyper-V Network Adapter _3)Bytes Received/sec繪制, 單位為 Bytes/sec ,代表每個(gè)采樣周期(默認(rèn)為最小值 60 秒)內(nèi)的平均發(fā)送/接收傳輸速率。 圖一:主機(jī)級(jí)指標(biāo) 圖二:來(lái)賓OS級(jí)指標(biāo)
圖二可見(jiàn)在 16:00-17:00 之間有過(guò)三次出向流量高峰,而圖一中卻未發(fā)現(xiàn)這些流量。 事實(shí)上,這些流量是通過(guò)專用 IP 地址向同一個(gè)虛擬網(wǎng)絡(luò)中的 FTP 服務(wù)器上傳了大文件產(chǎn)生的。由于指標(biāo)背后的算法不同,通過(guò)專用 IP 通信產(chǎn)生的流量沒(méi)有被計(jì)入主機(jī)級(jí)指標(biāo)NetworkIn/Out。 但來(lái)賓 OS 級(jí)指標(biāo)的數(shù)據(jù)收集自虛擬機(jī)的網(wǎng)卡。因此,無(wú)論流量來(lái)自或去向哪里,即使是多網(wǎng)卡虛擬機(jī)自身的兩塊網(wǎng)卡之間通過(guò)專用 IP 地址進(jìn)行通信,也會(huì)被計(jì)入這一指標(biāo)。 此處可以參考以下幾種場(chǎng)景:
同時(shí)要注意的是,主機(jī)級(jí)別指標(biāo)會(huì)統(tǒng)計(jì)當(dāng)前虛擬機(jī)所有網(wǎng)卡產(chǎn)生的符合條件的流量總和,不區(qū)分網(wǎng)卡;而來(lái)賓 OS 級(jí)別指標(biāo),會(huì)按照每個(gè)網(wǎng)卡分別進(jìn)行統(tǒng)計(jì)。 所以,這里有些專家建議 考慮到統(tǒng)計(jì)方式及結(jié)果的不同,要了解虛擬機(jī)的實(shí)際運(yùn)行及流量狀況,建議以來(lái)賓 OS 級(jí)指標(biāo)為準(zhǔn);因此也建議為虛擬機(jī)啟用來(lái)賓級(jí)別監(jiān)視。 啟用后,需要為每個(gè)網(wǎng)卡添加需要的網(wǎng)絡(luò)指標(biāo)。且如果之后對(duì)虛擬機(jī)網(wǎng)卡進(jìn)行操作而導(dǎo)致網(wǎng)卡名稱改變的,需要重新添加新的指標(biāo),刪除不再有效的指標(biāo)。 如何基于 Windows 虛機(jī)網(wǎng)絡(luò)指標(biāo)創(chuàng)建警報(bào)規(guī)則 在通過(guò)網(wǎng)絡(luò)指標(biāo)查看虛擬機(jī)網(wǎng)絡(luò)性能后,我們希望可以創(chuàng)建警報(bào)規(guī)則,在虛擬機(jī)網(wǎng)絡(luò)指標(biāo)與預(yù)設(shè)值不符的時(shí)候通知。 那么該如何實(shí)現(xiàn)呢? 1、添加來(lái)賓 OS 級(jí)指標(biāo) 我們已知道,來(lái)賓 OS 級(jí)指標(biāo)最能反應(yīng)虛擬機(jī)的實(shí)際網(wǎng)絡(luò)狀況。因此我們需要首先針對(duì)來(lái)賓 OS 添加需要監(jiān)視的指標(biāo)。 啟用來(lái)賓 OS 級(jí)指標(biāo)后,默認(rèn)已經(jīng)添加多個(gè)指標(biāo),但關(guān)于網(wǎng)絡(luò)的指標(biāo)NetworkInterface(_)Bytes Total/sec、NetworkInterface(_)Bytes Total/sec等均未指明網(wǎng)卡,因此也無(wú)法獲取到流量數(shù)據(jù)。因此還需要確認(rèn)網(wǎng)卡名稱及指標(biāo)名稱。 此時(shí)可以通過(guò) VisualStudio 、 Azure 存儲(chǔ)資源管理器、 Azure Management Studio 等方式來(lái)查看存儲(chǔ)賬戶中的監(jiān)控?cái)?shù)據(jù),并確定需要添加的指標(biāo)名稱。 例如使用 Azure 存儲(chǔ)資源管理器,登錄帳戶后找到 存儲(chǔ)賬戶→Tables→ WADPerformanceCountersTable→ CounterName→ NetworkInterface(Microsoft Hyper-V Network Adapter _5)Bytes Sent/sec: 隨后需要在「診斷設(shè)置」中添加需要的指標(biāo)。請(qǐng)?jiān)?nbsp;Azure 門戶虛擬機(jī)的「診斷設(shè)置」中選擇性能計(jì)數(shù)器—自定義,添加在上一步獲取到的指標(biāo)名稱: 添加后,可以配置「采樣率(秒)」(默認(rèn)為 60 秒),并保存:
2、添加警報(bào)規(guī)則 我們可以通過(guò) Azure 門戶配置經(jīng)典指標(biāo)警報(bào),選擇警報(bào)(經(jīng)典)—添加指標(biāo)警報(bào)(經(jīng)典)。 根據(jù)需求,選擇添加的網(wǎng)絡(luò)指標(biāo)并設(shè)定閾值。配置界面中也會(huì)根據(jù)設(shè)置的閾值,為縮略圖標(biāo)注出該基準(zhǔn)線。閾值單位為指標(biāo)單位,與縮略圖標(biāo)注無(wú)關(guān)。
當(dāng)該警報(bào)規(guī)則被觸發(fā)時(shí),會(huì)根據(jù)規(guī)則配置執(zhí)行預(yù)設(shè)的操作,例如選擇接收郵件通知,將會(huì)在觸發(fā)規(guī)則時(shí)收到Microsoft Azure Alerts alerts-noreply@mail.windowsazure.com 的如下郵件:
借助這些警報(bào)規(guī)則,就能在一定程度上避免因異常流量而導(dǎo)致的經(jīng)濟(jì)及業(yè)務(wù)損失。 本文介紹的 Azure 虛擬機(jī)主機(jī)級(jí)指標(biāo)和來(lái)賓 OS 級(jí)指標(biāo),它們之間的差異你掌握了嗎? |
|
|