一種日志的采集方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息技術(shù)領(lǐng)域,尤其涉及一種日志的采集方法及裝置。
【背景技術(shù)】
[0002]服務(wù)器上的操作系統(tǒng)(如,Windows, Linux等)和運(yùn)行的應(yīng)用程序都有相應(yīng)的日志文件,操作系統(tǒng)有系統(tǒng)日志文件,應(yīng)用系統(tǒng)有應(yīng)用日志文件。日志文件中記錄了該服務(wù)器啟動(dòng)、關(guān)閉、用戶登錄、應(yīng)用程序運(yùn)行等信息。采集系統(tǒng)日志文件和應(yīng)用日志文件中的信息,對(duì)于分析服務(wù)器的系統(tǒng)性能、應(yīng)用性能或者診斷服務(wù)器的系統(tǒng)故障、應(yīng)用故障等有著重要作用。
[0003]現(xiàn)有技術(shù)中,采集日志文件的方式主要有:基于簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(SimpleNetwork Management Protocol, SNMP)陷講(Trap)的采集方式、基于系統(tǒng)日志(SystemLog, Sys log)協(xié)議的采集方式、基于遠(yuǎn)程登錄協(xié)議(Telnet)的采集方式。然而,由于基于SNMP Trap的采集方式是基于事件驅(qū)動(dòng)的,代理只有在監(jiān)聽到故障時(shí)才通知管理系統(tǒng),非故障信息不會(huì)通知給管理系統(tǒng),由此,造成管理系統(tǒng)獲取的信息不全面,此外,該方式只能基于SNMP協(xié)議進(jìn)行,且采集的消息的格式需單獨(dú)定義,具有一定的局限性;基于Sys log協(xié)議的方式使用用戶數(shù)據(jù)報(bào)文協(xié)議(User Datagram Protocol,UDP)作為傳輸協(xié)議,能夠接收遠(yuǎn)程系統(tǒng)的日志文件,然而該種方式中,大部分的應(yīng)用程序按照自定義的方式寫日志,不支持Sys log協(xié)議,所以通常該方式不能獲取各種類型操作系統(tǒng)或者應(yīng)用系統(tǒng)的日志文件的信息;基于Telnet的方式,需要先遠(yuǎn)程登錄到被管理端,通過命令方式獲取日志文件的信息,再通過郵件或者文件傳輸協(xié)議(Fi Ie Transfer Protocol,F(xiàn)TP)的方式將日志文件的信息發(fā)送給接收者,然而該方式需要管理遠(yuǎn)程登錄信息,且需要使用郵件服務(wù)器或者FTP服務(wù)器,存在安全性差以及發(fā)送方式復(fù)雜的問題。
[0004]綜上,現(xiàn)有技術(shù)中的日志的采集方法存在采集的信息不全面、適用性差以及采集方式復(fù)雜的問題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供了一種日志的采集方法,可以提高采集的信息的全面性和適用性,且采集方法簡(jiǎn)單,能夠極大地提高采集的效率。
[0006]第一方面,提供了一種日志的采集方法,該方法包括:
[0007]日志客戶端從日志知識(shí)模塊列表中讀取至少一個(gè)日志知識(shí)模塊;
[0008]執(zhí)行所述日志知識(shí)模塊,對(duì)相應(yīng)的操作系統(tǒng)或者應(yīng)用系統(tǒng)的日志文件進(jìn)行解析,并采集所述日志文件的目標(biāo)內(nèi)容信息;
[0009]向日志服務(wù)端發(fā)送采集的所述目標(biāo)內(nèi)容信息。
[0010]結(jié)合第一方面,在第一方面的第一種實(shí)現(xiàn)方式中,所述日志知識(shí)模塊包括一個(gè)或者多個(gè)目標(biāo)參數(shù);
[0011 ] 所述執(zhí)行所述日志知識(shí)模塊,對(duì)相應(yīng)的操作系統(tǒng)或者應(yīng)用系統(tǒng)的日志文件進(jìn)行解析,并采集所述日志文件的目標(biāo)內(nèi)容信息包括:
[0012]執(zhí)行所述日志知識(shí)模塊,對(duì)相應(yīng)的操作系統(tǒng)或者應(yīng)用系統(tǒng)的日志文件進(jìn)行解析,得到解析結(jié)果;
[0013]根據(jù)所述目標(biāo)參數(shù),從所述解析結(jié)果中采集與所述目標(biāo)參數(shù)相一致的參數(shù)的參數(shù)值,將所述參數(shù)的參數(shù)值作為所述日志文件的目標(biāo)內(nèi)容信息。
[0014]結(jié)合第一方面或第一方面的第一種實(shí)現(xiàn)方式,在第一方面的第二種實(shí)現(xiàn)方式中,所述執(zhí)行所述日志知識(shí)模塊包括:
[0015]周期性執(zhí)行所述日志知識(shí)模塊;和/或,
[0016]當(dāng)所述日志文件的大小大于閾值時(shí),執(zhí)行所述日志知識(shí)模塊。
[0017]結(jié)合第一方面或第一方面的第一種實(shí)現(xiàn)方式或第一方面的第二種實(shí)現(xiàn)方式,在第一方面的第三種實(shí)現(xiàn)方式中,所述方法還包括:
[0018]向所述日志服務(wù)端發(fā)送詢問指令,所述詢問指令用于指示所述日志服務(wù)端在判斷有更新的日志知識(shí)模塊時(shí),向所述日志客戶端返回所述更新的日志知識(shí)模塊的編號(hào);
[0019]根據(jù)所述更新的日志知識(shí)模塊的編號(hào),從所述日志服務(wù)端獲取所述更新的日志知識(shí)模塊。
[0020]結(jié)合第一方面的第三種實(shí)現(xiàn)方式,在第一方面的第四種實(shí)現(xiàn)方式中,所述日志服務(wù)端的更新的日志知識(shí)模塊是由所述日志服務(wù)端通過調(diào)用日志知識(shí)模塊發(fā)布站點(diǎn)的應(yīng)用程序編程接口 API函數(shù),從所述日志知識(shí)模塊發(fā)布站點(diǎn)獲取的;或者,
[0021]所述日志服務(wù)端的更新的日志知識(shí)模塊是由所述日志服務(wù)端從存儲(chǔ)介質(zhì)中獲取的。
[0022]結(jié)合第一方面或第一方面的上述四種實(shí)現(xiàn)方式中任一種實(shí)現(xiàn)方式,在第一方面的第五種實(shí)現(xiàn)方式中,在所述日志客戶端從日志知識(shí)模塊列表中讀取至少一個(gè)日志知識(shí)模塊之前,所述方法還包括:
[0023]根據(jù)所述日志服務(wù)端的IP地址和監(jiān)聽端口,向已打開所述監(jiān)聽端口并開啟監(jiān)聽模式的所述日志服務(wù)端發(fā)送測(cè)試消息;
[0024]接收所述日志服務(wù)端根據(jù)接收到的所述測(cè)試消息發(fā)送的確認(rèn)消息。
[0025]第二方面,提供了一種日志的采集方法,該方法包括:
[0026]日志服務(wù)端獲取至少一個(gè)日志知識(shí)模塊;
[0027]當(dāng)接收到日志客戶端發(fā)送的詢問指令時(shí),向所述日志客戶端返回所述日志知識(shí)模塊的編號(hào);
[0028]接收所述日志客戶端根據(jù)所述日志知識(shí)模塊的編號(hào)發(fā)送的獲取指令;
[0029]根據(jù)所述獲取指令,向所述日志客戶端返回所述日志知識(shí)模塊,以使所述日志客戶端執(zhí)行所述日志知識(shí)模塊,對(duì)相應(yīng)的操作系統(tǒng)或者應(yīng)用系統(tǒng)的日志文件進(jìn)行解析,并采集所述日志文件的目標(biāo)內(nèi)容信息;
[0030]接收所述日志客戶端采集的所述目標(biāo)內(nèi)容信息。
[0031 ] 結(jié)合第二方面,第二方面的第一種實(shí)現(xiàn)方式中,所述日志服務(wù)端獲取至少一個(gè)日志知識(shí)模塊包括:
[0032]通過調(diào)用日志知識(shí)模塊發(fā)布站點(diǎn)的應(yīng)用程序編程接口 API函數(shù),從所述日志知識(shí)模塊發(fā)布站點(diǎn)獲取至少一個(gè)日志知識(shí)模塊;或者,
[0033]從存儲(chǔ)介質(zhì)中獲取至少一個(gè)日志知識(shí)模塊。
[0034]結(jié)合第二方面或第二方面的第一種實(shí)現(xiàn)方式,在第二方面的第二種實(shí)現(xiàn)方式中,在所述日志服務(wù)端獲取至少一個(gè)日志知識(shí)模塊之前,所述方法還包括:
[0035]所述日志服務(wù)端接收配置指令,根據(jù)接收到的配置指令,打開監(jiān)聽端口,并開啟監(jiān)聽模式;
[0036]接收所述日志客戶端發(fā)送的測(cè)試消息;
[0037]根據(jù)所述測(cè)試消息向所述日志客戶端返回確認(rèn)消息。
[0038]第三方面,提供了一種日志的采集裝置,該裝置包括:讀取單元、采集單元和發(fā)送單元;
[0039]所述讀取單元,用于從日志知識(shí)模塊列表中讀取至少一個(gè)日志知識(shí)模塊;
[0040]所述采集單元,用于執(zhí)行所述讀取單元讀取的所述日志知識(shí)模塊,對(duì)相應(yīng)的操作系統(tǒng)或者應(yīng)用系統(tǒng)的日志文件進(jìn)行解析,并采集所述日志文件的目標(biāo)內(nèi)容信息;
[0041 ] 所述發(fā)送單元,用于向日志服務(wù)端發(fā)送所述采集單元采集的所述目標(biāo)內(nèi)容信息。
[0042]結(jié)合第三方面,在第三方面的第一種實(shí)現(xiàn)方式中,所述日志知識(shí)模塊包括一個(gè)或者多個(gè)目標(biāo)參數(shù);
[0043]所述采集單元具體用于:
[0044]執(zhí)行所述日志知識(shí)模塊,對(duì)相應(yīng)的操作系統(tǒng)或者應(yīng)用系統(tǒng)的日志文件進(jìn)行解析,得到解析結(jié)果;
[0045]根據(jù)所述目標(biāo)參數(shù),從所述解析結(jié)果中采集與所述目標(biāo)參數(shù)相一致的參數(shù)的參數(shù)值,將所述參數(shù)的參數(shù)值作為所述日志文件的目標(biāo)內(nèi)容信息。
[0046]結(jié)合第三方面或第三方面的第一種實(shí)現(xiàn)方式,在第三方面的第二種實(shí)現(xiàn)方式中,所述采集單元具體用于:
[0047]周期性執(zhí)行所述日志知識(shí)模塊;和/或,
[0048]當(dāng)所述日志文件的大小大于閾值時(shí),執(zhí)行所述日志知識(shí)模塊。
[0049]結(jié)合第三方面或第三方面的第一種實(shí)現(xiàn)方式或第三方面的第二種實(shí)現(xiàn)方式,在第三方面的第三種實(shí)現(xiàn)方式中,所述裝置還包括:獲取單元;
[0050]所述發(fā)送單元,還用于向所述日志服務(wù)端發(fā)送詢問指令,所述詢問指令用于指示所述日志服務(wù)端在判斷有更新的日志知識(shí)模塊時(shí),返回所述更新的日志知識(shí)模塊的編號(hào);
[0051]所述獲取單元,用于根據(jù)所述更新的日志知識(shí)模塊的編號(hào),從所述日志服務(wù)端獲取所述更新的日志知識(shí)模塊。
[0052]結(jié)合第三方面的第三種實(shí)現(xiàn)方式,在第三方面的第四種實(shí)現(xiàn)方式中,所述日志服務(wù)端的更新的日志知識(shí)模塊是由所述日志服務(wù)端通過調(diào)用日志知識(shí)模塊發(fā)布站點(diǎn)的應(yīng)用程序編程接口 API函數(shù),從所述日志知識(shí)模塊發(fā)布站點(diǎn)獲取的;或者,
[0053]所述日志服務(wù)端的更新的日志知識(shí)模塊是由所述日志服務(wù)端從存儲(chǔ)介質(zhì)中獲取的。
[0054]結(jié)合第三方面或第三方面的上述四種實(shí)現(xiàn)方式中任一種實(shí)現(xiàn)方式,在第三方面的第五種實(shí)現(xiàn)方式中,所述裝置還包括:接收單元;
[0055]所述發(fā)送單元,還用于根據(jù)所述日志服務(wù)端的IP地址和監(jiān)聽端口,向已打開所述監(jiān)聽端口并開啟監(jiān)聽模式的所述日志服務(wù)端發(fā)送測(cè)試消息;
[0056]所述接收單元,用于接收所述日志服務(wù)端根據(jù)接收到的所述測(cè)試消息發(fā)送的確認(rèn)消息。
[0057]第四方面,提供了一種日志的采集裝置,該裝置包括:獲取單元、發(fā)送單元和接收單元;
[0058]所述獲取單元,用于獲取至少一個(gè)日志知識(shí)模塊;
[0059]所述發(fā)送單元,用于當(dāng)接收到日志客戶端發(fā)送的詢問指令時(shí),向所述日志客戶端返回所述日志知識(shí)模塊的編號(hào);
[0060]所述接收單元,用于接收所述日志客戶端根據(jù)所述發(fā)送單元發(fā)送的所述日志知識(shí)模塊的編號(hào)發(fā)送的獲取指令;
[0061]所述發(fā)送單元,還用于根據(jù)所述接收單元接收的所述獲取指令,向所述日志客戶端返回所述日志知識(shí)模塊,以使所述日志客戶端執(zhí)行所述日志知識(shí)模塊,對(duì)相應(yīng)的操作系統(tǒng)或者應(yīng)用系統(tǒng)的日志文件進(jìn)行解析,并采集所述日志文件的目標(biāo)內(nèi)容信息;
[0062]所述接收單元,還用于接收所述日志客戶端采集的所述目標(biāo)內(nèi)容信息。
[0063]結(jié)合第四方面,第四方面的第一種實(shí)現(xiàn)方式中,所述獲取單元具體用于:
[0064]通過調(diào)用日志知識(shí)模塊發(fā)布站點(diǎn)的應(yīng)用程序編程接口 API函數(shù),從所述日志知識(shí)模塊發(fā)布站點(diǎn)獲取至少一個(gè)日志知識(shí)模塊;或者,
[0065]從存儲(chǔ)介質(zhì)中獲取至少一個(gè)日志知識(shí)模塊。
[0066]結(jié)合第四方面或第四方面的第一種實(shí)現(xiàn)方式,在第四方面的第二種實(shí)現(xiàn)方式中,所述裝置還包括:啟動(dòng)單元;
[0067]所述接收單元,還用于接收配置指令;
[0068]所述啟動(dòng)單元,用于根據(jù)所述接收單元接收的所述配置指令,打開監(jiān)聽端口,并開啟監(jiān)聽模式;
[0069]所述接收單元,還用于接收所述日志客戶端發(fā)送的測(cè)試消息;
[0070]所述發(fā)送單元,還用于根據(jù)所述測(cè)試消息向所述日志客戶端返回確認(rèn)消息。
[0071]本發(fā)明實(shí)施例提供的日志的采集方法及裝置,日志客戶端從日志知識(shí)模塊列表中讀取至少一個(gè)日志知識(shí)模塊;執(zhí)行所述日志知識(shí)模塊,對(duì)