本技術(shù)涉及計(jì)算機(jī),具體而言,涉及一種虛擬機(jī)性能監(jiān)控方法、系統(tǒng)、設(shè)備、介質(zhì)及程序產(chǎn)品。
背景技術(shù):
1、虛擬化技術(shù)是一種通過(guò)組合或分區(qū)現(xiàn)有的計(jì)算機(jī)資源,比如cpu(centralprocessing?unit,中央處理器)、內(nèi)存和磁盤空間等,使得這些資源表現(xiàn)為一個(gè)或多個(gè)操作環(huán)境,從而提供優(yōu)于原有資源配置的訪問(wèn)方式的技術(shù)。虛擬化就是把物理資源轉(zhuǎn)變?yōu)檫壿嬌峡梢怨芾淼馁Y源,以打破物理結(jié)構(gòu)之間的壁壘。借助虛擬化技術(shù),可以將一臺(tái)物理服務(wù)器劃分為一個(gè)或多個(gè)虛擬機(jī),虛擬機(jī)所在的物理服務(wù)器稱為宿主機(jī)。
2、為了保證宿主機(jī)中虛擬機(jī)的正常運(yùn)行,通常要求監(jiān)控虛擬機(jī)的性能數(shù)據(jù),以根據(jù)虛擬機(jī)的性能數(shù)據(jù)及時(shí)調(diào)整宿主機(jī)的運(yùn)行環(huán)境。但現(xiàn)有的虛擬機(jī)性能監(jiān)控方法主要是采用虛擬化管理軟件libvirt采集虛擬機(jī)的運(yùn)行信息,根據(jù)虛擬機(jī)的運(yùn)行信息來(lái)間接確定虛擬機(jī)的性能數(shù)據(jù),難以保證虛擬機(jī)的性能數(shù)據(jù)全面且真實(shí)。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)實(shí)施例的目的在于提供一種虛擬機(jī)性能監(jiān)控方法、系統(tǒng)、設(shè)備、介質(zhì)及程序產(chǎn)品,用以實(shí)現(xiàn)監(jiān)控虛擬機(jī)內(nèi)部全面且真實(shí)的性能數(shù)據(jù)的技術(shù)效果。
2、第一方面,本技術(shù)實(shí)施例提供一種虛擬機(jī)性能監(jiān)控方法,應(yīng)用于宿主機(jī),所述宿主機(jī)中有至少一個(gè)虛擬機(jī),所述宿主機(jī)配置有共享目錄,所述共享目錄用于所述宿主機(jī)與所述至少一個(gè)虛擬機(jī)共享數(shù)據(jù);
3、所述方法包括:
4、通過(guò)在所述共享目錄下創(chuàng)建的套接字,監(jiān)聽(tīng)所述至少一個(gè)虛擬機(jī)中的虛擬機(jī)是否與所述宿主機(jī)建立通信連接;
5、在確定有與所述宿主機(jī)建立通信連接的待監(jiān)控虛擬機(jī)的情況下,獲取所述待監(jiān)控虛擬機(jī)采集的所述待監(jiān)控虛擬機(jī)自身的性能數(shù)據(jù)。
6、在上述實(shí)現(xiàn)過(guò)程中,通過(guò)由宿主機(jī)通過(guò)在共享目錄下創(chuàng)建的套接字,監(jiān)聽(tīng)至少一個(gè)虛擬機(jī)中的虛擬機(jī)是否與宿主機(jī)建立通信連接,并在確定有與宿主機(jī)建立通信連接的待監(jiān)控虛擬機(jī)的情況下,獲取待監(jiān)控虛擬機(jī)采集的待監(jiān)控虛擬機(jī)自身的性能數(shù)據(jù),能夠監(jiān)控虛擬機(jī)內(nèi)部全面且真實(shí)的性能數(shù)據(jù)。
7、進(jìn)一步地,所述共享目錄包括公共共享目錄,所述公共共享目錄用于所述宿主機(jī)與目標(biāo)虛擬機(jī)集群共享數(shù)據(jù),所述目標(biāo)虛擬機(jī)集群為所述至少一個(gè)虛擬機(jī)中的任意多個(gè)虛擬機(jī);
8、所述通過(guò)在所述共享目錄下創(chuàng)建的套接字,監(jiān)聽(tīng)所述至少一個(gè)虛擬機(jī)中的虛擬機(jī)是否與所述宿主機(jī)建立通信連接,包括:
9、通過(guò)在所述公共共享目錄下創(chuàng)建的套接字,監(jiān)聽(tīng)所述目標(biāo)虛擬機(jī)集群中的虛擬機(jī)是否與所述宿主機(jī)建立通信連接。
10、在上述實(shí)現(xiàn)過(guò)程中,通過(guò)預(yù)先對(duì)宿主機(jī)配置用于與目標(biāo)虛擬機(jī)集群共享數(shù)據(jù)的公共共享目錄,由宿主機(jī)通過(guò)在公共共享目錄下創(chuàng)建的套接字,監(jiān)聽(tīng)目標(biāo)虛擬機(jī)集群中的虛擬機(jī)是否與宿主機(jī)建立通信連接,能夠滿足宿主機(jī)統(tǒng)一與宿主機(jī)中的任意多個(gè)虛擬機(jī)共享數(shù)據(jù)的應(yīng)用需求。
11、進(jìn)一步地,所述方法還包括:
12、在確定有所述待監(jiān)控虛擬機(jī)的情況下,獲取所述待監(jiān)控虛擬機(jī)的標(biāo)識(shí)信息。
13、在上述實(shí)現(xiàn)過(guò)程中,通過(guò)預(yù)先對(duì)宿主機(jī)配置用于與目標(biāo)虛擬機(jī)集群共享數(shù)據(jù)的公共共享目錄,由宿主機(jī)通過(guò)在公共共享目錄下創(chuàng)建的套接字,監(jiān)聽(tīng)目標(biāo)虛擬機(jī)集群中的虛擬機(jī)是否與宿主機(jī)建立通信連接,并在確定有與宿主機(jī)建立通信連接的待監(jiān)控虛擬機(jī)的情況下,獲取待監(jiān)控虛擬機(jī)采集的待監(jiān)控虛擬機(jī)自身的性能數(shù)據(jù),以及待監(jiān)控虛擬機(jī)的標(biāo)識(shí)信息,能夠保證準(zhǔn)確區(qū)分不同待監(jiān)控虛擬機(jī)的性能數(shù)據(jù)。
14、進(jìn)一步地,所述共享目錄包括單獨(dú)共享目錄,所述單獨(dú)共享目錄用于所述宿主機(jī)與目標(biāo)虛擬機(jī)共享數(shù)據(jù),所述目標(biāo)虛擬機(jī)為所述至少一個(gè)虛擬機(jī)中的任意一個(gè)虛擬機(jī);
15、所述通過(guò)在所述共享目錄下創(chuàng)建的套接字,監(jiān)聽(tīng)所述至少一個(gè)虛擬機(jī)中的虛擬機(jī)是否與所述宿主機(jī)建立通信連接,包括:
16、通過(guò)在所述單獨(dú)共享目錄下創(chuàng)建的套接字,監(jiān)聽(tīng)所述目標(biāo)虛擬機(jī)是否與所述宿主機(jī)建立通信連接。
17、在上述實(shí)現(xiàn)過(guò)程中,通過(guò)預(yù)先對(duì)宿主機(jī)配置用于與目標(biāo)虛擬機(jī)共享數(shù)據(jù)的單獨(dú)共享目錄,由宿主機(jī)通過(guò)在單獨(dú)共享目錄下創(chuàng)建的套接字,監(jiān)聽(tīng)目標(biāo)虛擬機(jī)是否與宿主機(jī)建立通信連接,能夠滿足宿主機(jī)與宿主機(jī)中的任意一個(gè)虛擬機(jī)共享數(shù)據(jù)的應(yīng)用需求。
18、進(jìn)一步地,所述獲取所述待監(jiān)控虛擬機(jī)采集的所述待監(jiān)控虛擬機(jī)自身的性能數(shù)據(jù),包括:
19、在所述待監(jiān)控虛擬機(jī)向所述宿主機(jī)上部署的性能監(jiān)控程序發(fā)送所述性能數(shù)據(jù)的情況下,通過(guò)所述性能監(jiān)控程序接收所述性能數(shù)據(jù);或者,
20、在所述待監(jiān)控虛擬機(jī)在所述共享目錄下寫(xiě)入所述性能數(shù)據(jù)的情況下,從所述共享目錄下讀取所述性能數(shù)據(jù)。
21、在上述實(shí)現(xiàn)過(guò)程中,通過(guò)由宿主機(jī)在待監(jiān)控虛擬機(jī)向宿主機(jī)上部署的性能監(jiān)控程序發(fā)送性能數(shù)據(jù)的情況下,通過(guò)性能監(jiān)控程序接收性能數(shù)據(jù),或者在待監(jiān)控虛擬機(jī)在共享目錄下寫(xiě)入性能數(shù)據(jù)的情況下,從共享目錄下讀取性能數(shù)據(jù),能夠適應(yīng)待監(jiān)控虛擬機(jī)不同的數(shù)據(jù)傳輸方式,有效獲取待監(jiān)控虛擬機(jī)的性能數(shù)據(jù)。
22、進(jìn)一步地,在所述獲取所述待監(jiān)控虛擬機(jī)采集的所述待監(jiān)控虛擬機(jī)自身的性能數(shù)據(jù)之后,還包括:
23、向云平臺(tái)轉(zhuǎn)發(fā)所述性能數(shù)據(jù),以使所述云平臺(tái)對(duì)所述性能數(shù)據(jù)進(jìn)行可視化顯示。
24、在上述實(shí)現(xiàn)過(guò)程中,通過(guò)由宿主機(jī)在獲取到待監(jiān)控虛擬機(jī)的性能數(shù)據(jù)后,向云平臺(tái)轉(zhuǎn)發(fā)待監(jiān)控虛擬機(jī)的性能數(shù)據(jù),以使云平臺(tái)對(duì)待監(jiān)控虛擬機(jī)的性能數(shù)據(jù)進(jìn)行可視化顯示,能夠方便用戶查看待監(jiān)控虛擬機(jī)的性能數(shù)據(jù)。
25、進(jìn)一步地,所述方法還包括:
26、在確定有所述待監(jiān)控虛擬機(jī)的情況下,向所述待監(jiān)控虛擬機(jī)發(fā)送目標(biāo)性能數(shù)據(jù)采集命令,獲取所述待監(jiān)控虛擬機(jī)采集的所述待監(jiān)控虛擬機(jī)自身的目標(biāo)性能數(shù)據(jù);其中,所述目標(biāo)性能數(shù)據(jù)由用戶指定。
27、在上述實(shí)現(xiàn)過(guò)程中,通過(guò)由宿主機(jī)在確定有待監(jiān)控虛擬機(jī)的情況下,向待監(jiān)控虛擬機(jī)發(fā)送目標(biāo)性能數(shù)據(jù)采集命令,獲取待監(jiān)控虛擬機(jī)采集的待監(jiān)控虛擬機(jī)自身的目標(biāo)性能數(shù)據(jù),能夠針對(duì)性地獲取用戶指定的目標(biāo)性能數(shù)據(jù),有利于提高監(jiān)控效率。
28、進(jìn)一步地,所述性能數(shù)據(jù)包括用于表征中央處理器使用情況的數(shù)據(jù)、用于表征內(nèi)存使用情況的數(shù)據(jù)、用于表征網(wǎng)絡(luò)使用情況的數(shù)據(jù)和用于表征磁盤使用情況的數(shù)據(jù)中的至少一種。
29、在上述實(shí)現(xiàn)過(guò)程中,通過(guò)由宿主機(jī)獲取待監(jiān)控虛擬機(jī)的用于表征中央處理器使用情況的數(shù)據(jù)、用于表征內(nèi)存使用情況的數(shù)據(jù)、用于表征網(wǎng)絡(luò)使用情況的數(shù)據(jù)和用于表征磁盤使用情況的數(shù)據(jù)等性能數(shù)據(jù),能夠保證監(jiān)控虛擬機(jī)內(nèi)部全面的性能數(shù)據(jù)。
30、第二方面,本技術(shù)實(shí)施例提供一種虛擬機(jī)性能監(jiān)控方法,應(yīng)用于宿主機(jī)中的任一虛擬機(jī),所述虛擬機(jī)掛載有所述宿主機(jī)配置的共享目錄,所述共享目錄用于所述宿主機(jī)與所述虛擬機(jī)共享數(shù)據(jù);
31、所述方法包括:
32、通過(guò)所述共享目錄下的套接字,與所述宿主機(jī)建立通信連接;
33、采集所述虛擬機(jī)自身的性能數(shù)據(jù),并向所述宿主機(jī)發(fā)送所述性能數(shù)據(jù)。
34、在上述實(shí)現(xiàn)過(guò)程中,通過(guò)由虛擬機(jī)通過(guò)共享目錄下的套接字,與宿主機(jī)建立通信連接,并在與宿主機(jī)建立通信連接后,采集虛擬機(jī)自身的性能數(shù)據(jù),向宿主機(jī)發(fā)送性能數(shù)據(jù),能夠使宿主機(jī)監(jiān)控虛擬機(jī)內(nèi)部全面且真實(shí)的性能數(shù)據(jù)。
35、第三方面,本技術(shù)實(shí)施例提供一種虛擬機(jī)性能監(jiān)控裝置,應(yīng)用于宿主機(jī),所述宿主機(jī)中有至少一個(gè)虛擬機(jī),所述宿主機(jī)配置有共享目錄,所述共享目錄用于所述宿主機(jī)與所述至少一個(gè)虛擬機(jī)共享數(shù)據(jù);
36、所述裝置包括:
37、通信連接監(jiān)聽(tīng)模塊,用于通過(guò)在所述共享目錄下創(chuàng)建的套接字,監(jiān)聽(tīng)所述至少一個(gè)虛擬機(jī)中的虛擬機(jī)是否與所述宿主機(jī)建立通信連接;
38、性能數(shù)據(jù)獲取模塊,用于在確定有與所述宿主機(jī)建立通信連接的待監(jiān)控虛擬機(jī)的情況下,獲取所述待監(jiān)控虛擬機(jī)采集的所述待監(jiān)控虛擬機(jī)自身的性能數(shù)據(jù)。
39、第四方面,本技術(shù)實(shí)施例提供一種虛擬機(jī)性能監(jiān)控裝置,應(yīng)用于宿主機(jī)中的任一虛擬機(jī),所述虛擬機(jī)掛載有所述宿主機(jī)配置的共享目錄,所述共享目錄用于所述宿主機(jī)與所述虛擬機(jī)共享數(shù)據(jù);
40、所述裝置包括:
41、通信連接建立模塊,用于通過(guò)所述共享目錄下的套接字,與所述宿主機(jī)建立通信連接;
42、性能數(shù)據(jù)采集模塊,用于采集所述虛擬機(jī)自身的性能數(shù)據(jù),并向所述宿主機(jī)發(fā)送所述性能數(shù)據(jù)。
43、第五方面,本技術(shù)實(shí)施例提供一種虛擬機(jī)性能監(jiān)控系統(tǒng),包括宿主機(jī)和所述宿主機(jī)中的至少一個(gè)虛擬機(jī);
44、所述宿主機(jī),用于執(zhí)行如上所述的方法;
45、所述至少一個(gè)虛擬機(jī)中的任一虛擬機(jī),用于執(zhí)行如上所述的方法。
46、進(jìn)一步地,所述系統(tǒng)還包括云平臺(tái);所述云平臺(tái)與至少一個(gè)所述宿主機(jī)通信連接;
47、任一所述宿主機(jī),用于向所述云平臺(tái)發(fā)送所述性能數(shù)據(jù);
48、所述云平臺(tái),用于對(duì)所述性能數(shù)據(jù)進(jìn)行可視化顯示。
49、第六方面,本技術(shù)實(shí)施例提供一種電子設(shè)備,包括處理器、存儲(chǔ)器以及存儲(chǔ)在所述存儲(chǔ)器中且被配置為由所述處理器執(zhí)行的計(jì)算機(jī)程序;所述存儲(chǔ)器與所述處理器耦接,且所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如上所述的方法。
50、第七方面,本技術(shù)實(shí)施例提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)包括存儲(chǔ)的計(jì)算機(jī)程序;其中,在所述計(jì)算機(jī)程序運(yùn)行時(shí)控制所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)所在設(shè)備執(zhí)行如上所述的方法。
51、第八方面,本技術(shù)實(shí)施例提供了一種計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括指令,所述指令在由計(jì)算機(jī)執(zhí)行時(shí),使得所述計(jì)算機(jī)實(shí)施如上所述的方法。