計(jì)算資源利用率在虛擬化的環(huán)境下如何獲取信息?

責(zé)任編輯:editor003

2012-12-12 10:13:39

摘自:IT專家網(wǎng)

服務(wù)器的虛擬化已經(jīng)越來越多的為企業(yè)所采納,同時(shí)對(duì)虛擬化環(huán)境中服務(wù)器的集中監(jiān)控,也成為企業(yè)IT管理標(biāo)準(zhǔn)配置。

服務(wù)器的虛擬化已經(jīng)越來越多的為企業(yè)所采納,同時(shí)對(duì)虛擬化環(huán)境中服務(wù)器的集中監(jiān)控,也成為企業(yè)IT管理標(biāo)準(zhǔn)配置。這種情況下,如何從已經(jīng)監(jiān)控得到的海量數(shù)據(jù)中分析虛擬化環(huán)境計(jì)算資源的使用情況,成為IT管理者最關(guān)心的問題,同時(shí)也是企業(yè)IT投資的重要參考依據(jù)。本文以ITM(IBM Tivoli Monitoring)對(duì)VMware 虛擬化環(huán)境的監(jiān)控?cái)?shù)據(jù)為基礎(chǔ),從以下幾個(gè)方面,介紹如何獲取和分析計(jì)算資源的利用率:

闡述如何配置VMware VI Agent屬性組收集虛擬化環(huán)境監(jiān)控?cái)?shù)據(jù)到數(shù)據(jù)倉(cāng)庫(kù)。

介紹ITM數(shù)據(jù)倉(cāng)庫(kù)中VMware VI監(jiān)視代理相關(guān)數(shù)據(jù)表格。

虛擬機(jī)和虛擬化服務(wù)器計(jì)算資源利用率相關(guān)數(shù)據(jù)分析。

1. 配置VMware VI Agent屬性組收集虛擬化環(huán)境監(jiān)控?cái)?shù)據(jù)到數(shù)據(jù)倉(cāng)庫(kù)

本節(jié)以一個(gè)典型ITM監(jiān)控VMware虛擬化環(huán)境下的方案為例,介紹如何配置監(jiān)控?cái)?shù)據(jù)的收集。圖1是一個(gè)典型的ITM監(jiān)控環(huán)境部署方案(關(guān)于如何部署ITM監(jiān)控VMware虛擬化環(huán)境,請(qǐng)參考IT168上的文章: 應(yīng)用IBM Tivoli實(shí)現(xiàn)虛擬化環(huán)境的監(jiān)控)。在這里主要關(guān)注TEPS(Tivoli Enterprise Portal Server) 和數(shù)據(jù)倉(cāng)庫(kù)TDW(Tivoli Data Warehouse)。Tivoli Enterprise Portal 提供了歷史數(shù)據(jù)收集和報(bào)告功能,配置并啟動(dòng)了歷史數(shù)據(jù)收集后,可將數(shù)據(jù)復(fù)制到Tivoli 數(shù)據(jù)倉(cāng)庫(kù)長(zhǎng)期存儲(chǔ)。通過“歷史收集配置”窗口,可以為各個(gè)屬性組配置歷史數(shù)據(jù)收集,并指定要從哪些受管系統(tǒng)收集數(shù)據(jù)、收集數(shù)據(jù)的頻率、短期內(nèi)數(shù)據(jù)的存儲(chǔ)位置以及是否將數(shù)據(jù)長(zhǎng)期保存到數(shù)據(jù)倉(cāng)庫(kù)。

虛擬化環(huán)境計(jì)算資源利用率信息獲取分析

▲圖1 ITM監(jiān)控部署典型架構(gòu)

首先以管理員sysadmin的身份登錄到門戶服務(wù)器TEPS,在工具欄內(nèi)選擇“History Configuration … (Ctrl + H)”,出現(xiàn)如圖2所示的歷史數(shù)據(jù)配置界面。

虛擬化環(huán)境計(jì)算資源利用率信息獲取分析

▲圖2 監(jiān)控歷史記錄配置界面

歷史數(shù)據(jù)配置頁(yè)面的左側(cè)列表,顯示了所有已安裝的監(jiān)視代理程序。選擇“VMware VI agent”應(yīng)用,右側(cè)會(huì)顯示此應(yīng)用所包含的所有屬性組的信息。如圖3所示:

虛擬化環(huán)境計(jì)算資源利用率信息獲取分析

▲圖3 配置VMware VI Agent歷史數(shù)據(jù)界面

對(duì)于VMware虛擬化環(huán)境收集利用率數(shù)據(jù),主要配置有關(guān)CPU和內(nèi)存的屬性組如下:

KVM_SERVER à“服務(wù)器”屬性組:ESX 服務(wù)器的基本信息

KVM_SERVER_CPU à“服務(wù)器CPU”屬性組:服務(wù)器的CPU利用率信息

KVM_SERVER_MEMORY à“服務(wù)器內(nèi)存”屬性組:服務(wù)器的內(nèi)存利用率信息

KVM_VIRTUAL_MACHINES à“虛擬機(jī)”屬性組:服務(wù)器上運(yùn)行的虛擬機(jī)的基本信息

KVM_VM_CPU à“VM CPU”屬性組:虛擬機(jī)的CPU利用率信息

KVM_VM_MEMORY à“VM 內(nèi)存”屬性組:虛擬機(jī)的內(nèi)存利用率信息

在摘要區(qū)域,選擇要收集的所有時(shí)間段的復(fù)選框:每年、每季度、每月、每周、每日和每小時(shí)。在修剪區(qū)域,選擇要修剪的所有時(shí)間段的復(fù)選框:每年、每季度、每月、每周、每日和每小時(shí)。在相應(yīng)的字段中,指定要保留數(shù)據(jù)的天數(shù)、月數(shù)或年數(shù)。單擊應(yīng)用以保存選中的屬性組的配置。這樣就可以將歷史數(shù)據(jù)保存到ITM數(shù)據(jù)倉(cāng)庫(kù)。

2. ITM數(shù)據(jù)倉(cāng)庫(kù)中VMware VI監(jiān)視代理相關(guān)數(shù)據(jù)表格介紹

ITM監(jiān)控?cái)?shù)據(jù)收集到數(shù)據(jù)倉(cāng)庫(kù)后,針對(duì)不同的收集頻率,會(huì)存儲(chǔ)到不同的數(shù)據(jù)庫(kù)表中。不同頻率的監(jiān)控?cái)?shù)據(jù),可以根據(jù)不同的需求進(jìn)行分析。下面以虛擬機(jī)CPU數(shù)據(jù)信息為例,列出了對(duì)應(yīng)數(shù)據(jù)表和存儲(chǔ)內(nèi)容。數(shù)據(jù)庫(kù)中表的顯示如圖4中所示。

KVM_VM_CPU_H:每小時(shí)

KVM_VM_CPU_D:每日

KVM_VM_CPU_W:每周

KVM_VM_CPU_M:每月 

KVM_VM_CPU_Q:每季度

KVM_VM_CPU_Y:每年

ITM數(shù)據(jù)倉(cāng)庫(kù)中VMware VI監(jiān)視代理數(shù)據(jù)

▲圖4 ITM數(shù)據(jù)倉(cāng)庫(kù)中虛擬機(jī)CPU相關(guān)數(shù)據(jù)表

下面詳細(xì)介紹虛擬機(jī)和主機(jī)利用率分析中所需要考慮的屬性,同時(shí)對(duì)于每個(gè)屬性,都從不同的角度進(jìn)行記錄(如最小CPU利用率:MIN_CPU_Utilization和平均CPU利用率:AVG_CPU_Utilizaiton),在這里從某一天天的平均利用率的角度進(jìn)行分析。

虛擬機(jī)CPU “利用率”屬性是指CPU利用率的百分比,計(jì)算方法是用戶時(shí)間除以已用時(shí)間、就緒時(shí)間和等待時(shí)間之和,一般取每天的平均利用率數(shù)據(jù),在數(shù)據(jù)庫(kù)表KVM_VM_CPU_D中字段名稱為“AVG_Utilization”。

虛擬機(jī)內(nèi)存“主機(jī)利用率”屬性是指在上一個(gè)數(shù)據(jù)采樣時(shí)間間隔內(nèi),虛擬機(jī)所用內(nèi)存的百分比(平均值),是MemoryHostUsage除以MemoryTotalSize的百分比,在數(shù)據(jù)庫(kù)表KVM_VM_MEMORY_D中字段名稱是“AVG_Host_Util”。

服務(wù)器CPU“利用率”屬性記錄虛擬化主機(jī)的CPU利用率,數(shù)據(jù)庫(kù)表KVM_SERVER_CPU_D中字段名稱是“AVG_CPU_Utilization”。

服務(wù)器內(nèi)存“利用率”屬性記錄虛擬化主機(jī)物理內(nèi)存的利用率,即所有物理內(nèi)存除以已安裝的物理內(nèi)存所得的百分比,數(shù)據(jù)庫(kù)表KVM_SERVER_MEMORY_D中字段名稱是“AVG_Memory_Utilization”。

除了上面的利用率數(shù)據(jù)字段外,還有兩個(gè)重要的字段需要注意。

“SHIFTPERIOD”是 “輪班和休假周期”的標(biāo)志位。如果啟用輪班,根據(jù)數(shù)據(jù)倉(cāng)庫(kù)中配置的高峰期和非高峰期,小時(shí)輪班表中為1或2,日輪班表中相對(duì)應(yīng)的值是1和2,與日摘要值相對(duì)應(yīng)的是-1。如果不啟用輪班,缺省是-1。如果未啟用休假周期,缺省為-1。在按照天的數(shù)據(jù)中,這個(gè)字段的值為“-1”。

“WRITETIME”記錄的是數(shù)據(jù)寫入時(shí)間,格式為“1120907000000000”。字段中第二,三位為年份的最后兩位,接下來是兩位月和兩位的日。上面的例子代表的是2012年9月7日的數(shù)據(jù)。

3. 計(jì)算資源的利用率分析

根據(jù)以上ITM數(shù)據(jù)倉(cāng)庫(kù)中數(shù)據(jù)表的分析,就可以通過SQL語句取得所需要的利用率數(shù)據(jù),下面分別對(duì)虛擬機(jī)和虛擬化主機(jī)利用率進(jìn)行分析。

3.1 虛擬機(jī)利用率

首先從數(shù)據(jù)庫(kù)中查詢出某一天所有虛擬機(jī)的CPU和內(nèi)存的利用率信息。下面的示例SQL語句可以查詢出ITM監(jiān)控環(huán)境中所有的VMware VI agent監(jiān)視代理所監(jiān)控到的虛擬機(jī)在2012年9月23日的CPU和內(nèi)存利用率數(shù)據(jù)信息。查詢所得到的結(jié)果如圖5所示。

WITH temp1

AS (SELECT concat('20',(substr(a.WRITETIME,2,6))) as Date, a."VM_Name" AS VM_NAME, a."AVG_Host_Util" AS AVG_Host_Util

FROM ITMUSER.KVM_VM_MEMORY_D AS a

WHERE a.SHIFTPERIOD = -1

AND a.WRITETIME = '1120923000000000'

ORDER BY a."VM_Name"),

temp2

AS (SELECT concat('20',(substr(b.WRITETIME,2,6))) as Date, b."VM_Name" AS VM_NAME, AVG(b."AVG_Utilization") AS AVG_CPU_Util

FROM ITMUSER.KVM_VM_CPU_D AS b

WHERE b.SHIFTPERIOD = -1

AND b.WRITETIME = '1120923000000000'

GROUP BY b.WRITETIME, b."VM_Name", b."AVG_Utilization")

SELECT temp1.Date,

temp1.VM_NAME,

temp1.AVG_Host_Util,

temp2.AVG_CPU_Util

FROM temp1

LEFT OUTER JOIN temp2

ON ( temp1.VM_NAME = temp2.VM_NAME )

 計(jì)算資源的利用率分析

▲圖5 虛擬機(jī)CPU/內(nèi)存利用率查詢結(jié)果

虛擬機(jī)CPU和內(nèi)存的利用率數(shù)據(jù)已經(jīng)取得,那么如何對(duì)這些數(shù)據(jù)進(jìn)行分析呢?這里可以定義不同的利用率狀態(tài)如下:

低:小于20%

較低:20%到40%之間

正常:40%到60%之間

高:60%到80%之間

過高:大于80%

根據(jù)以上的定義,可以得到如圖6所示的利用率情況報(bào)表。我們可以從圖上清楚的了解到在虛擬化環(huán)境中,有多少虛擬機(jī)的CPU和內(nèi)存利用率低,有多少已經(jīng)達(dá)到了很高的值。根據(jù)這些基本數(shù)據(jù),管理員可以對(duì)虛擬機(jī)的配置進(jìn)行重新分配,以提高主機(jī)利用率,同時(shí)提高虛擬機(jī)運(yùn)行性能。

虛擬化服務(wù)器利用率

▲圖6 虛擬機(jī)CPU/內(nèi)存利用率分析

從上圖中可以看到,大部分的虛擬機(jī)的CPU利用率都比較低,同時(shí)有些特殊的情況,比如內(nèi)存利用率過高但是CPU利用率很低。對(duì)于這些虛擬機(jī),可以進(jìn)行進(jìn)一步的分析如何對(duì)他們合理分配資源,以提高利用率。

3.2 虛擬化服務(wù)器利用率

對(duì)于虛擬化服務(wù)器的利用率情況,我們采用類似虛擬機(jī)的方法來分析。下面的查詢語句所得到的查詢結(jié)果如圖7中所示。

WITH temp1

AS(SELECT concat('20',(substr(b.WRITETIME,2,6))) as Date, b."Server_Hostname" AS Server_Name, AVG(b."AVG_CPU_Utilization") as CPU_Utilization

FROM itmuser.kvm_server_cpu_d b

WHERE b.shiftperiod = -1

AND b.writetime = '1120923000000000'

GROUP BY b.writetime, b."Server_Hostname"),

temp2 AS(SELECT concat('20',(substr(a.WRITETIME,2,4))) as Date, a."Server_Hostname" AS Server_Name, a."AVG_Memory_Utilization" as Memory_Utilization

FROM itmuser.kvm_server_memory_d a

WHERE a.shiftperiod = -1

AND a.writetime = '1120923000000000' )

SELECT temp1.Date,

temp1.Server_NAME,

temp1.CPU_Utilization,

temp2.Memory_Utilization

FROM temp1

LEFT OUTER JOIN temp2

ON ( temp1.Server_NAME = temp2.Server_NAME )

總結(jié)與參考資料

▲圖7 虛擬服務(wù)器CPU/內(nèi)存利用率查詢結(jié)果

總結(jié)與參考資料

▲圖8 虛擬服務(wù)器CPU/內(nèi)存利用率分析

從圖8中可以看到,大部分的虛擬服務(wù)器的CPU利用率都很低,也就是說整個(gè)虛擬化環(huán)境中CPU并不是計(jì)算資源的瓶頸,但是也有幾臺(tái)是CPU利用率很高同時(shí)內(nèi)存利用率很低,這些機(jī)器是需要進(jìn)一步的分析如何對(duì)他們合理分配資源。

4. 總結(jié)

本文主要以VMware虛擬化環(huán)境為例,討論了ITM監(jiān)控解決方案中虛擬機(jī)和虛擬化主機(jī)的CPU,內(nèi)存利用率數(shù)據(jù)的獲得和分析。這里的利用率數(shù)據(jù)是基于歷史記錄中某一天的數(shù)據(jù),如果綜合考慮某一段時(shí)間的利用率情況,就可以生成虛擬機(jī)和服務(wù)器主機(jī)的利用率的發(fā)展趨勢(shì),從而可以用來衡量IT部門在計(jì)算資源利用率的提高方面所取得的成效。

基于ITM監(jiān)控?cái)?shù)據(jù)的VMware虛擬化環(huán)境資源利用率的分析,不僅可以考慮CPU,內(nèi)存的數(shù)據(jù),還可以包含硬盤,網(wǎng)絡(luò)等方面,在ITM數(shù)據(jù)倉(cāng)庫(kù)中對(duì)應(yīng)的屬性組分別是“VM磁盤”屬性組(KVM_VM_DISK_D),“VM 網(wǎng)絡(luò)”屬性組(KVM_VM_NETWORK_D),“服務(wù)器磁盤”屬性組(KVM_SERVER_DISK_D)和“服務(wù)器網(wǎng)絡(luò)”屬性組(KVM_SERVER_NETWORK_D)。更多的VMware虛擬化環(huán)境中屬性相關(guān)信息,可以參考VMware VI Agent 監(jiān)視代理用戶手冊(cè)的 “屬性參考”部分。

ITM同時(shí)還可以支持其他虛擬化環(huán)境的數(shù)據(jù)收集,下面簡(jiǎn)單列出了部分有關(guān)屬性組的信息供參考:

KVM虛擬化環(huán)境:KV1_HOST_CPU,KV1_HOST_MEMORY,KV1_VIRTUAL_MACHINES

Citrix Xen虛擬化環(huán)境:KXI_HOST_CPU,KXI_HOST_VMS,KXI_HOST_DETAILS

 Hyper-v虛擬化環(huán)境:KHV_HYPER_V_VIRTUAL_MACHINE_SUMMARY,KHV_PROCESSOR, KHV_MEMORY,KHV_DISK,KHV_HYPER_V_VIRTUAL_SWITCH

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)