本發(fā)明涉及系統(tǒng)日志監(jiān)控領(lǐng)域,特別是涉及一種面向xen虛擬化環(huán)境的系統(tǒng)日志監(jiān)控方法及裝置。
背景技術(shù):
在虛擬化系統(tǒng)中,時(shí)有發(fā)生一些虛擬機(jī)被入侵者侵入,一旦侵入系統(tǒng)后,便會(huì)在系統(tǒng)竊取關(guān)鍵數(shù)據(jù)、安裝木馬等危險(xiǎn)行為,同時(shí)為了掩蓋其蹤跡,入侵者會(huì)在離開(kāi)系統(tǒng)前對(duì)系統(tǒng)日志進(jìn)行修改或者損壞,因此對(duì)于系統(tǒng)日志的實(shí)時(shí)備份存儲(chǔ)并監(jiān)控是至關(guān)重要的。
為了實(shí)現(xiàn)以上目的,現(xiàn)有技術(shù)中,通常的做法是通過(guò)數(shù)據(jù)網(wǎng)絡(luò)將系統(tǒng)日志備份,并將備份存儲(chǔ)到遠(yuǎn)程服務(wù)器上,然后在遠(yuǎn)程服務(wù)器上進(jìn)行監(jiān)控。由于上述過(guò)程是通過(guò)數(shù)據(jù)網(wǎng)絡(luò)實(shí)現(xiàn)的,而數(shù)據(jù)網(wǎng)絡(luò)對(duì)于網(wǎng)絡(luò)帶寬的要求較高,如果系統(tǒng)日志過(guò)多時(shí),則無(wú)疑占用大量的網(wǎng)絡(luò)帶寬,導(dǎo)致數(shù)據(jù)網(wǎng)絡(luò)的傳輸速度下降且存在延遲,同時(shí),數(shù)據(jù)網(wǎng)絡(luò)的安全性不夠高,容易被入侵者侵入。
由此可見(jiàn),在實(shí)現(xiàn)對(duì)系統(tǒng)日志的監(jiān)控過(guò)程中,如何降低對(duì)數(shù)據(jù)網(wǎng)絡(luò)的占用率,并提高系統(tǒng)日志的安全性是本領(lǐng)域技術(shù)人員亟待解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種面向xen虛擬化環(huán)境的系統(tǒng)日志監(jiān)控方法及裝置,用于在實(shí)現(xiàn)對(duì)系統(tǒng)日志的監(jiān)控過(guò)程中,降低對(duì)數(shù)據(jù)網(wǎng)絡(luò)的占用率,并提高系統(tǒng)日志的安全性。
為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種面向xen虛擬化環(huán)境的系統(tǒng)日志監(jiān)控方法,包括:
用戶(hù)端虛擬機(jī)和控制端虛擬機(jī)建立信息傳輸通道,以及所述控制端虛擬機(jī)和監(jiān)控端虛擬機(jī)建立信息傳輸通道;
所述用戶(hù)端虛擬機(jī)讀取應(yīng)用程序產(chǎn)生的系統(tǒng)日志,并將所述系統(tǒng)日志寫(xiě)入共享內(nèi)存中;
所述控制端虛擬機(jī)從所述共享內(nèi)存中讀取所述系統(tǒng)日志,并將所述系統(tǒng)日志保存在與所述用戶(hù)端虛擬機(jī)相對(duì)應(yīng)的控制端日志文件中;
所述監(jiān)控端虛擬機(jī)從所述控制端虛擬機(jī)上獲取所述系統(tǒng)日志,并依據(jù)預(yù)先設(shè)置的告警規(guī)則判斷所述系統(tǒng)日志是否出現(xiàn)異常,如果是,則輸出告警提示信息;
其中,所述用戶(hù)端虛擬機(jī)為多個(gè),分別面向當(dāng)前系統(tǒng)中各用戶(hù)端,所述控制端虛擬機(jī)面向各所述用戶(hù)端虛擬機(jī)。
優(yōu)選地,所述用戶(hù)端虛擬機(jī)和控制端虛擬機(jī)建立信息傳輸通道具體包括:
所述用戶(hù)端虛擬機(jī)將所述共享內(nèi)存的地址、用戶(hù)端端口id、虛擬機(jī)id發(fā)送到所述控制端虛擬機(jī);
所述控制端虛擬機(jī)根據(jù)所述共享內(nèi)存的地址映射至對(duì)應(yīng)的空間,將空閑的控制端端口與所述用戶(hù)端端口id對(duì)應(yīng)的用戶(hù)端端口綁定,并根據(jù)所述虛擬機(jī)id在相應(yīng)目錄下為所述用戶(hù)端虛擬機(jī)創(chuàng)建所述控制端日志文件,向所述用戶(hù)端虛擬機(jī)發(fā)送初始化就緒通知。
優(yōu)選地,所述控制端虛擬機(jī)和監(jiān)控端虛擬機(jī)建立信息傳輸通道具體包括:
所述監(jiān)控端虛擬機(jī)在初始化時(shí)配置與所述監(jiān)控端虛擬機(jī)的連接信息,并預(yù)先設(shè)置所述告警規(guī)則。
優(yōu)選地,所述讀取應(yīng)用程序產(chǎn)生的系統(tǒng)日志具體包括:
在接收到所述初始化就緒通知后,實(shí)時(shí)監(jiān)控syslog文件,并從所述syslog文件中讀取所述系統(tǒng)日志。
優(yōu)選地,所述從所述共享內(nèi)存中讀取所述系統(tǒng)日志具體包括:
實(shí)時(shí)接收所述用戶(hù)端虛擬機(jī)發(fā)送的同步消息,當(dāng)接收到所述同步消息時(shí),從所述共享內(nèi)存中讀取所述系統(tǒng)日志。
優(yōu)選地,還包括:
所述控制端虛擬機(jī)在讀取完所述系統(tǒng)日志后,向所述用戶(hù)端虛擬機(jī)發(fā)送讀取完畢信息;
所述用戶(hù)端虛擬機(jī)在接收到所述讀取完畢信息后,繼續(xù)監(jiān)控新的系統(tǒng)日志。
優(yōu)選地,所述用戶(hù)端虛擬機(jī)具體通過(guò)xenbus將所述共享內(nèi)存的地址、所述用戶(hù)端端口id、所述虛擬機(jī)id發(fā)送到所述控制端虛擬機(jī)的xenstore。
優(yōu)選地,從所述控制端虛擬機(jī)上獲取所述系統(tǒng)日志具體包括:
實(shí)時(shí)監(jiān)控所述控制端虛擬機(jī)的vmu文件;
當(dāng)若所述vmu文件有新的日志寫(xiě)入,則從所述控制端虛擬機(jī)上獲取所述系統(tǒng)日志。
為解決上述技術(shù)問(wèn)題,本發(fā)明還提供一種面向xen虛擬化環(huán)境的系統(tǒng)日志監(jiān)控裝置,包括:用戶(hù)端虛擬機(jī)、控制端虛擬機(jī)和監(jiān)控端虛擬機(jī);
所述用戶(hù)端虛擬機(jī),用于讀取應(yīng)用程序產(chǎn)生的系統(tǒng)日志,并將所述系統(tǒng)日志寫(xiě)入共享內(nèi)存中;
所述控制端虛擬機(jī),用于從所述共享內(nèi)存中讀取所述系統(tǒng)日志,并將所述系統(tǒng)日志保存在與所述用戶(hù)端虛擬機(jī)相對(duì)應(yīng)的控制端日志文件中;
所述監(jiān)控端虛擬機(jī),用于從所述控制端虛擬機(jī)上獲取所述系統(tǒng)日志,并依據(jù)預(yù)先設(shè)置的告警規(guī)則判斷所述系統(tǒng)日志是否出現(xiàn)異常,如果是,則輸出告警提示信息;
其中,所述用戶(hù)端虛擬機(jī)為多個(gè),分別面向當(dāng)前系統(tǒng)中各用戶(hù)端,所述控制端虛擬機(jī)面向各所述用戶(hù)端虛擬機(jī),所述用戶(hù)端虛擬機(jī)和控制端虛擬機(jī)建立信息傳輸通道,所述控制端虛擬機(jī)和監(jiān)控端虛擬機(jī)建立信息傳輸通道。
本發(fā)明所提供的面向xen虛擬化環(huán)境的系統(tǒng)日志監(jiān)控方法,在應(yīng)用程序產(chǎn)生系統(tǒng)日志后,用戶(hù)端虛擬機(jī)就將該系統(tǒng)日志寫(xiě)入共享內(nèi)存,從而使得系統(tǒng)日志在管理網(wǎng)絡(luò)上傳輸,并且控制端虛擬機(jī)也是從共享內(nèi)存中讀取該系統(tǒng)日志,因此提高了系統(tǒng)日志的安全性。最后通過(guò)監(jiān)控端虛擬機(jī)結(jié)合預(yù)先設(shè)置的告警規(guī)則將得到的系統(tǒng)日志進(jìn)行分析從而判斷出系統(tǒng)日志是否出現(xiàn)異常,并將結(jié)果呈現(xiàn)給監(jiān)控人員,實(shí)現(xiàn)對(duì)系統(tǒng)日志的全程監(jiān)控。綜上所述,本方法中,系統(tǒng)日志傳輸在管理網(wǎng)絡(luò),因此不需要占用數(shù)據(jù)網(wǎng)絡(luò),節(jié)約了數(shù)據(jù)網(wǎng)絡(luò)的網(wǎng)絡(luò)帶寬,且管理網(wǎng)絡(luò)的安全性更高,因此能夠更有效的防止惡意侵入,提高了系統(tǒng)的安全性和可靠性。此外,本發(fā)明還提供一種面向xen虛擬化環(huán)境的系統(tǒng)日志監(jiān)控裝置,效果如上所述。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例,下面將對(duì)實(shí)施例中所需要使用的附圖做簡(jiǎn)單的介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種面向xen虛擬化環(huán)境的系統(tǒng)日志監(jiān)控方法的流程圖;
圖2為本發(fā)明實(shí)施例提供的一種用戶(hù)端虛擬機(jī)和控制端虛擬機(jī)建立信息傳輸通道的流程圖;
圖3為本發(fā)明實(shí)施例提供的一種用戶(hù)端虛擬機(jī)、控制端虛擬機(jī)和監(jiān)控端虛擬機(jī)的工作原理圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下,所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)范圍。
本發(fā)明的核心是提供一種面向xen虛擬化環(huán)境的系統(tǒng)日志監(jiān)控方法及裝置,用于在實(shí)現(xiàn)對(duì)系統(tǒng)日志的監(jiān)控過(guò)程中,降低對(duì)數(shù)據(jù)網(wǎng)絡(luò)的占用率,并提高系統(tǒng)日志的安全性。
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。
圖1為本發(fā)明實(shí)施例提供的一種面向xen虛擬化環(huán)境的系統(tǒng)日志監(jiān)控方法的流程圖。如圖1所示,該方法包括:
s10:用戶(hù)端虛擬機(jī)和控制端虛擬機(jī)建立信息傳輸通道,以及控制端虛擬機(jī)和監(jiān)控端虛擬機(jī)建立信息傳輸通道。
s11:用戶(hù)端虛擬機(jī)讀取應(yīng)用程序產(chǎn)生的系統(tǒng)日志,并將系統(tǒng)日志寫(xiě)入共享內(nèi)存中。
s12:控制端虛擬機(jī)從共享內(nèi)存中讀取系統(tǒng)日志,并將系統(tǒng)日志保存在與用戶(hù)端虛擬機(jī)相對(duì)應(yīng)的控制端日志文件中。
s13:監(jiān)控端虛擬機(jī)從控制端虛擬機(jī)上獲取系統(tǒng)日志,并依據(jù)預(yù)先設(shè)置的告警規(guī)則判斷系統(tǒng)日志是否出現(xiàn)異常,如果是,則進(jìn)入s14。
s14:輸出告警提示信息。
其中,用戶(hù)端虛擬機(jī)為多個(gè),分別面向當(dāng)前系統(tǒng)中各用戶(hù)端,控制端虛擬機(jī)面向各用戶(hù)端虛擬機(jī)。
在具體實(shí)施中,集群系統(tǒng)中的網(wǎng)絡(luò)按照功能分為數(shù)據(jù)網(wǎng)絡(luò)和管理網(wǎng)絡(luò)兩個(gè)大部分,數(shù)據(jù)網(wǎng)絡(luò)對(duì)于網(wǎng)絡(luò)帶寬要求較高,并且安全性相對(duì)于管理網(wǎng)絡(luò)較低,而管理網(wǎng)絡(luò)具有防火墻,安全性會(huì)更高。因此,本發(fā)明中將系統(tǒng)日志通過(guò)管理網(wǎng)絡(luò)進(jìn)行傳輸,這樣既能夠避免占用數(shù)據(jù)網(wǎng)絡(luò)的網(wǎng)絡(luò)帶寬,又可以提高安全性。
需要說(shuō)明的是,上述方法均是在虛擬機(jī)上實(shí)現(xiàn)的,用戶(hù)端虛擬機(jī)通常有多個(gè),與用戶(hù)一一對(duì)應(yīng),通常情況下,也可以用domu來(lái)表示,u為大于或等于1的正整數(shù)??刂贫颂摂M機(jī)為一個(gè),可以用dom0來(lái)表示,與各用戶(hù)端虛擬機(jī)通信,分別獲取各用戶(hù)端虛擬機(jī)得到的系統(tǒng)日志。監(jiān)控端虛擬機(jī)與控制端虛擬機(jī)直接通信,通過(guò)監(jiān)控端虛擬機(jī)獲取各用戶(hù)端對(duì)應(yīng)的系統(tǒng)日志,從而實(shí)現(xiàn)對(duì)每個(gè)用戶(hù)端的監(jiān)控。另外,用戶(hù)端虛擬機(jī)和控制端虛擬機(jī)的工作過(guò)程是不可見(jiàn)的,因此監(jiān)控人員是無(wú)法實(shí)現(xiàn)監(jiān)控的,而監(jiān)控端虛擬機(jī)是直接呈現(xiàn)給監(jiān)控人員的。
步驟s10是建立各虛擬機(jī)之間的信息傳輸通道,在建立好信息傳輸通道之后,各虛擬機(jī)之間就可以實(shí)現(xiàn)信息的傳輸。首先,用戶(hù)端虛擬機(jī)讀取自身系統(tǒng)中的應(yīng)用程序產(chǎn)生的系統(tǒng)日志,然后將系統(tǒng)日志寫(xiě)入共享內(nèi)存??梢岳斫獾氖?,由于將系統(tǒng)日志寫(xiě)入共享內(nèi)存,也就實(shí)現(xiàn)了系統(tǒng)日志在管理網(wǎng)路的傳輸??刂贫颂摂M機(jī)再?gòu)墓蚕韮?nèi)存中讀取上述系統(tǒng)日志,然后保存在對(duì)應(yīng)的控制端日志文件中??梢岳斫獾氖?,由于用戶(hù)端虛擬機(jī)是多個(gè),控制端虛擬機(jī)為1個(gè),因此,為了便于區(qū)分,控制端虛擬機(jī)會(huì)為每個(gè)用戶(hù)端虛擬機(jī)建立一個(gè)控制端日志文件,根據(jù)當(dāng)前共享內(nèi)存的地址判斷出對(duì)應(yīng)哪個(gè)控制端日志文件。
例如當(dāng)前集群中有10個(gè)用戶(hù)端虛擬機(jī),分別是dom1-dom10,當(dāng)dom1獲取到系統(tǒng)日志時(shí),將系統(tǒng)日志保存在共享內(nèi)存中(由于共享內(nèi)存是公共的,因此,需要事先將共享內(nèi)存的地址進(jìn)行劃分,這樣能夠保證每個(gè)用戶(hù)端虛擬機(jī)對(duì)應(yīng)一段地址)。dom0從共享內(nèi)存中讀取該系統(tǒng)日志,根據(jù)在共享內(nèi)存中的地址判斷出是dom1對(duì)應(yīng)的系統(tǒng)日志,則將該系統(tǒng)日志存儲(chǔ)至dom1對(duì)應(yīng)的控制端日志文件。同理,如果從共享內(nèi)存中讀取的是dom2的系統(tǒng)日志文件,則將該系統(tǒng)日志文件保存在dom2對(duì)應(yīng)的控制端日志文件中。由上可知,dom0中的控制端日志文件的個(gè)數(shù)與domu的個(gè)數(shù)是相同的。
當(dāng)控制端虛擬機(jī)上獲取到系統(tǒng)日志后,監(jiān)控端虛擬機(jī)再?gòu)目刂贫颂摂M機(jī)上獲取,然后依據(jù)預(yù)先設(shè)置的告警規(guī)則判斷當(dāng)前獲取到的系統(tǒng)日志是否出現(xiàn)異常,如果是,則輸出告警提示信息。
作為優(yōu)選地實(shí)施方式,監(jiān)控端虛擬機(jī)從控制端虛擬機(jī)上獲取系統(tǒng)日志具體包括:實(shí)時(shí)監(jiān)控控制端虛擬機(jī)的vmu文件;
當(dāng)若vmu文件有新的日志寫(xiě)入,則從控制端虛擬機(jī)上獲取系統(tǒng)日志。
本實(shí)施例提供的面向xen虛擬化環(huán)境的系統(tǒng)日志監(jiān)控方法,在應(yīng)用程序產(chǎn)生系統(tǒng)日志后,用戶(hù)端虛擬機(jī)就將該系統(tǒng)日志寫(xiě)入共享內(nèi)存,從而使得系統(tǒng)日志在管理網(wǎng)絡(luò)上傳輸,并且控制端虛擬機(jī)也是從共享內(nèi)存中讀取該系統(tǒng)日志,因此提高了系統(tǒng)日志的安全性。最后通過(guò)監(jiān)控端虛擬機(jī)結(jié)合預(yù)先設(shè)置的告警規(guī)則將得到的系統(tǒng)日志進(jìn)行分析從而判斷出系統(tǒng)日志是否出現(xiàn)異常,并將結(jié)果呈現(xiàn)給監(jiān)控人員,實(shí)現(xiàn)對(duì)系統(tǒng)日志的全程監(jiān)控。綜上所述,本方法中,系統(tǒng)日志傳輸在管理網(wǎng)絡(luò),因此不需要占用數(shù)據(jù)網(wǎng)絡(luò),節(jié)約了數(shù)據(jù)網(wǎng)絡(luò)的網(wǎng)絡(luò)帶寬,且管理網(wǎng)絡(luò)的安全性更高,因此能夠更有效的防止惡意侵入,提高了系統(tǒng)的安全性和可靠性。
圖2為本發(fā)明實(shí)施例提供的一種用戶(hù)端虛擬機(jī)和控制端虛擬機(jī)建立信息傳輸通道的流程圖。如圖2所示,作為優(yōu)選地實(shí)施方式,用戶(hù)端虛擬機(jī)和控制端虛擬機(jī)建立信息傳輸通道具體包括:
s20:用戶(hù)端虛擬機(jī)將共享內(nèi)存的地址、用戶(hù)端端口id、虛擬機(jī)id發(fā)送到控制端虛擬機(jī);
s21:控制端虛擬機(jī)根據(jù)共享內(nèi)存的地址映射至對(duì)應(yīng)的空間,將空閑的控制端端口與用戶(hù)端端口id對(duì)應(yīng)的用戶(hù)端端口綁定,并根據(jù)虛擬機(jī)id在相應(yīng)目錄下為用戶(hù)端虛擬機(jī)創(chuàng)建控制端日志文件,向用戶(hù)端虛擬機(jī)發(fā)送初始化就緒通知。
需要說(shuō)明的是,步驟s21中的控制端端口必須是空閑的,且不同的控制端端口對(duì)應(yīng)不同的用戶(hù)端端口,必須是一一對(duì)應(yīng),否則容易出現(xiàn)同一個(gè)端口的數(shù)據(jù)傳輸量過(guò)大造成擁堵,并且容易將同一個(gè)用戶(hù)端的系統(tǒng)日志存儲(chǔ)在不同的控制端日志文件,也有可能將不同的用戶(hù)端的日志存儲(chǔ)在同一個(gè)控制端日志文件,從而發(fā)生混亂。
作為優(yōu)選地實(shí)施方式,用戶(hù)端虛擬機(jī)具體通過(guò)xenbus將共享內(nèi)存的地址、用戶(hù)端端口id、虛擬機(jī)id發(fā)送到控制端虛擬機(jī)的xenstore。
本實(shí)施例中,控制端虛擬機(jī)可以通過(guò)端口來(lái)判斷當(dāng)前系統(tǒng)日志對(duì)應(yīng)哪個(gè)用戶(hù)端,應(yīng)該存儲(chǔ)在哪個(gè)控制端日志文件。
在上述實(shí)施例的基礎(chǔ)上,控制端虛擬機(jī)和監(jiān)控端虛擬機(jī)建立信息傳輸通道具體包括:
監(jiān)控端虛擬機(jī)在初始化時(shí)配置與監(jiān)控端虛擬機(jī)的連接信息,并預(yù)先設(shè)置告警規(guī)則。
可以理解的是,告警規(guī)則如何設(shè)置,可以根據(jù)集群的實(shí)際參數(shù)確定,另外,可以為全部系統(tǒng)日志設(shè)定同樣的告警規(guī)則,也可以根據(jù)不同類(lèi)型的用戶(hù)端虛擬機(jī)設(shè)定不同的告警規(guī)則,本發(fā)明不再贅述。
在上述實(shí)施例的基礎(chǔ)上,讀取應(yīng)用程序產(chǎn)生的系統(tǒng)日志具體包括:
在接收到初始化就緒通知后,實(shí)時(shí)監(jiān)控syslog文件,并從syslog文件中讀取系統(tǒng)日志。
當(dāng)用戶(hù)端虛擬機(jī)接收到初始化就緒通知后,就表明與控制端虛擬機(jī)建立好了信息傳輸通道,可以進(jìn)行信息的傳輸。那么用戶(hù)端虛擬機(jī)調(diào)用syslogd進(jìn)程,從而監(jiān)控syslog文件,并從syslog文件中讀取系統(tǒng)日志。
在上述實(shí)施例的基礎(chǔ)上,從共享內(nèi)存中讀取系統(tǒng)日志具體包括:
實(shí)時(shí)接收用戶(hù)端虛擬機(jī)發(fā)送的同步消息,當(dāng)接收到同步消息時(shí),從共享內(nèi)存中讀取系統(tǒng)日志。
由于用戶(hù)端虛擬機(jī)為多個(gè),控制端虛擬機(jī)只有一個(gè),因此控制端虛擬機(jī)的工作量較大,為了減小控制端虛擬機(jī)的工作量,本實(shí)施例中,控制端虛擬機(jī)從共享內(nèi)存讀取系統(tǒng)日志是由用戶(hù)端虛擬機(jī)發(fā)送同步信息而觸發(fā),如果控制端虛擬機(jī)沒(méi)有接收到同步信息,則也不需檢測(cè)共享內(nèi)存中是否有新的系統(tǒng)日志。
作為優(yōu)選的實(shí)施方式,還包括:
控制端虛擬機(jī)在讀取完系統(tǒng)日志后,向用戶(hù)端虛擬機(jī)發(fā)送讀取完畢信息。
用戶(hù)端虛擬機(jī)在接收到讀取完畢信息后,繼續(xù)監(jiān)控新的系統(tǒng)日志。
在上一實(shí)施例中,控制端虛擬機(jī)在接收到同步信息從共享內(nèi)存中讀取系統(tǒng)日志,不同系統(tǒng)日志讀取的時(shí)間是不同的,為了確認(rèn)控制端虛擬機(jī)是否成功讀取到系統(tǒng)日志,本實(shí)施例中,當(dāng)控制端虛擬機(jī)讀取完系統(tǒng)日志后,會(huì)向用戶(hù)端虛擬機(jī)發(fā)送讀取完畢信息,之后,用戶(hù)端虛擬機(jī)再繼續(xù)監(jiān)控新的系統(tǒng)日志。
可以理解的是,如果控制端虛擬機(jī)出現(xiàn)故障,無(wú)法讀取系統(tǒng)日志,或者無(wú)法發(fā)送讀取完畢信息,則用戶(hù)端虛擬機(jī)就會(huì)一直處于等待狀態(tài),即使有新的系統(tǒng)日志,也無(wú)法及時(shí)讀取。為了避免這個(gè)情況,在其他實(shí)施例中,也可以為用戶(hù)端虛擬機(jī)設(shè)置一個(gè)預(yù)設(shè)值,如果等待時(shí)間超過(guò)預(yù)設(shè)值,則用戶(hù)端虛擬機(jī)直接讀取新的系統(tǒng)日志。
上文中對(duì)面向xen虛擬化環(huán)境的系統(tǒng)日志監(jiān)控方法對(duì)應(yīng)的實(shí)施例進(jìn)行了詳細(xì)的描述,本發(fā)明還提供一種與該方法對(duì)應(yīng)的面向xen虛擬化環(huán)境的系統(tǒng)日志監(jiān)控裝置。由于裝置部分的實(shí)施例與方法部分的實(shí)施例相互對(duì)應(yīng),因此裝置部分的實(shí)施例請(qǐng)參見(jiàn)方法部分的實(shí)施例的描述,這里暫不贅述。
面向xen虛擬化環(huán)境的系統(tǒng)日志監(jiān)控裝置,包括:用戶(hù)端虛擬機(jī)、控制端虛擬機(jī)和監(jiān)控端虛擬機(jī)。
用戶(hù)端虛擬機(jī),用于讀取應(yīng)用程序產(chǎn)生的系統(tǒng)日志,并將系統(tǒng)日志寫(xiě)入共享內(nèi)存中;
控制端虛擬機(jī),用于從共享內(nèi)存中讀取系統(tǒng)日志,并將系統(tǒng)日志保存在與用戶(hù)端虛擬機(jī)相對(duì)應(yīng)的控制端日志文件中;
監(jiān)控端虛擬機(jī),用于從控制端虛擬機(jī)上獲取系統(tǒng)日志,并依據(jù)預(yù)先設(shè)置的告警規(guī)則判斷系統(tǒng)日志是否出現(xiàn)異常,如果是,則輸出告警提示信息;
其中,用戶(hù)端虛擬機(jī)為多個(gè),分別面向當(dāng)前系統(tǒng)中各用戶(hù)端,控制端虛擬機(jī)面向各用戶(hù)端虛擬機(jī),用戶(hù)端虛擬機(jī)和控制端虛擬機(jī)建立信息傳輸通道,控制端虛擬機(jī)和監(jiān)控端虛擬機(jī)建立信息傳輸通道。
本實(shí)施例提供的面向xen虛擬化環(huán)境的系統(tǒng)日志監(jiān)控裝置,在應(yīng)用程序產(chǎn)生系統(tǒng)日志后,用戶(hù)端虛擬機(jī)就將該系統(tǒng)日志寫(xiě)入共享內(nèi)存,從而使得系統(tǒng)日志在管理網(wǎng)絡(luò)上傳輸,并且控制端虛擬機(jī)也是從共享內(nèi)存中讀取該系統(tǒng)日志,因此提高了系統(tǒng)日志的安全性。最后通過(guò)監(jiān)控端虛擬機(jī)結(jié)合預(yù)先設(shè)置的告警規(guī)則將得到的系統(tǒng)日志進(jìn)行分析從而判斷出系統(tǒng)日志是否出現(xiàn)異常,并將結(jié)果呈現(xiàn)給監(jiān)控人員,實(shí)現(xiàn)對(duì)系統(tǒng)日志的全程監(jiān)控。綜上所述,本裝置中,系統(tǒng)日志傳輸在管理網(wǎng)絡(luò),因此不需要占用數(shù)據(jù)網(wǎng)絡(luò),節(jié)約了數(shù)據(jù)網(wǎng)絡(luò)的網(wǎng)絡(luò)帶寬,且管理網(wǎng)絡(luò)的安全性更高,因此能夠更有效的防止惡意侵入,提高了系統(tǒng)的安全性和可靠性。
圖3為本發(fā)明實(shí)施例提供的一種用戶(hù)端虛擬機(jī)、控制端虛擬機(jī)和監(jiān)控端虛擬機(jī)的工作原理圖。如圖3所示,domu包含有l(wèi)ogmoniter和syslogd進(jìn)程,syslogd進(jìn)程將應(yīng)用程序產(chǎn)生的系統(tǒng)日志存儲(chǔ)在syslog文件中,logmoniter用來(lái)監(jiān)控是否有系統(tǒng)日志產(chǎn)生,并負(fù)責(zé)將系統(tǒng)日志保存在共享內(nèi)存和發(fā)送同步消息。dom0中包含有l(wèi)ogmoniter和vmu文件,logmoniter用來(lái)接收同步消息以及從共享內(nèi)存中讀取系統(tǒng)日志,然后將系統(tǒng)日志存儲(chǔ)在控制端日志文件中。此時(shí),vmu文件就會(huì)產(chǎn)生日志,監(jiān)控端虛擬機(jī)檢測(cè)到vmu文件產(chǎn)生新的日志,則從控制端日志文件讀取系統(tǒng)日志,進(jìn)行解析和判斷。監(jiān)控端虛擬機(jī)具體包括監(jiān)控模塊、分析告警模塊以及個(gè)性化策略設(shè)置模塊。
以上對(duì)本發(fā)明所提供的面向xen虛擬化環(huán)境的系統(tǒng)日志監(jiān)控方法及裝置進(jìn)行了詳細(xì)介紹。說(shuō)明書(shū)中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見(jiàn)即可。對(duì)于實(shí)施例公開(kāi)的裝置而言,由于其與實(shí)施例公開(kāi)的方法相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法部分說(shuō)明即可。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。
還需要說(shuō)明的是,在本說(shuō)明書(shū)中,諸如第一和第二等之類(lèi)的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。