本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種生成WEB網(wǎng)關(guān)的運(yùn)行日志的方法及裝置。
背景技術(shù):
日志保存是一種用于記錄用戶在網(wǎng)絡(luò)中的行為的技術(shù),采用日志保存技術(shù)后可以方便的對(duì)用戶在網(wǎng)絡(luò)中的行為進(jìn)行查詢、跟蹤和分析。日志保存技術(shù)在即時(shí)通信系統(tǒng)、銀行系統(tǒng)、電話系統(tǒng)以及網(wǎng)站系統(tǒng)等網(wǎng)絡(luò)系統(tǒng)中都得到了廣泛的應(yīng)用。而由于網(wǎng)關(guān)類設(shè)備如路由器、防火墻等設(shè)備承載著高負(fù)荷的出網(wǎng)流量和入網(wǎng)流量,因此其主程序運(yùn)行時(shí)會(huì)設(shè)定固定的運(yùn)行級(jí)別。
當(dāng)網(wǎng)管類設(shè)備發(fā)生軟件故障時(shí),后臺(tái)記錄的運(yùn)行日志只提供ERROR(報(bào)錯(cuò)消息)或WARNING(警示消息),然而用于分析軟件故障的具體的錯(cuò)誤信息,只能重啟網(wǎng)管類設(shè)備的主程序,開啟調(diào)試模式,才能追蹤到用于確定軟件故障的運(yùn)行日志。
綜上所述,調(diào)用打印記錄的所有的運(yùn)行日志,將導(dǎo)致磁盤空間的需求量瞬間增大,內(nèi)存空間嚴(yán)重不足,影響性能;從大量的運(yùn)行日志中尋找軟件故障的日志的效率極低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種生成WEB網(wǎng)關(guān)的運(yùn)行日志的方法及裝置,通過給符合預(yù)設(shè)的追蹤對(duì)象特征的請(qǐng)求消息分配追蹤索引,并根據(jù)攜帶有該追蹤索引的請(qǐng)求消息的處理過程,生成運(yùn)行日志,從而實(shí)現(xiàn)了當(dāng)發(fā)生軟件故障時(shí),維護(hù)人員只需調(diào)取分析標(biāo)記有該追蹤索引的運(yùn)行日志即可快速的診斷故障。
本發(fā)明實(shí)施例提供的一種生成WEB網(wǎng)關(guān)的運(yùn)行日志的方法,包括:
根據(jù)接收到發(fā)送端發(fā)送的請(qǐng)求消息中的用戶標(biāo)識(shí),確定預(yù)設(shè)的追蹤對(duì)象集合中是否包括有所述用戶標(biāo)識(shí);
若是,則生成運(yùn)行日志,其中,所述運(yùn)行日志包括用于標(biāo)識(shí)本次請(qǐng)求消息的追蹤索引。
本發(fā)明實(shí)施例中,用以通過給符合預(yù)設(shè)的追蹤對(duì)象特征的請(qǐng)求消息分配追蹤索引,并根據(jù)攜帶有該追蹤索引的請(qǐng)求消息的處理過程,生成運(yùn)行日志,從而實(shí)現(xiàn)了當(dāng)發(fā)生軟件故障時(shí),維護(hù)人員只需調(diào)取分析標(biāo)記有該追蹤索引的運(yùn)行日志即可快速的診斷故障,避免了調(diào)用所有運(yùn)行日志導(dǎo)致的磁盤空間的需求量瞬間增大,內(nèi)存空間嚴(yán)重不足的問題,在不影響運(yùn)行日志性能的前提下,提高了分析故障的效率。
較佳地,在根據(jù)用于標(biāo)識(shí)本次請(qǐng)求消息的追蹤索引,以及所述請(qǐng)求消息的處理過程,生成運(yùn)行日志之前,該方法還包括:
根據(jù)所述請(qǐng)求消息的進(jìn)程標(biāo)識(shí)與接收到請(qǐng)求消息的累積次數(shù),生成用于標(biāo)識(shí)本次請(qǐng)求消息的追蹤索引。
較佳地,根據(jù)接收到發(fā)送端發(fā)送的請(qǐng)求消息中的用戶標(biāo)識(shí),確定預(yù)設(shè)的追蹤對(duì)象集合中是否包括有所述用戶標(biāo)識(shí),包括:
從接收到發(fā)送端發(fā)送的HTTP/HTTPS請(qǐng)求中獲取源IP地址;
確定預(yù)設(shè)的追蹤對(duì)象集合中是否包括有所述源IP地址。
較佳地,根據(jù)接收到發(fā)送端發(fā)送的請(qǐng)求消息中的用戶標(biāo)識(shí),確定預(yù)設(shè)的追蹤對(duì)象集合中是否包括有所述用戶標(biāo)識(shí),包括:
從接收到發(fā)送端發(fā)送的HTTP/HTTPS請(qǐng)求中獲取請(qǐng)求URL;
確定預(yù)設(shè)的追蹤對(duì)象集合中是否包括有所述URL。
較佳地,該方法還包括:
根據(jù)接收到的修改指令,增加或刪除所述追蹤對(duì)象集合中的用戶標(biāo)識(shí);或者,若滿足預(yù)設(shè)的追蹤時(shí)間或預(yù)設(shè)的追蹤次數(shù),則刪除所述追蹤對(duì)象集合中的用戶標(biāo)識(shí)。
本發(fā)明實(shí)施例提供的一種生成WEB網(wǎng)關(guān)的運(yùn)行日志的裝置,包括:
查詢模塊,用于根據(jù)接收到發(fā)送端發(fā)送的請(qǐng)求消息中的用戶標(biāo)識(shí),確定預(yù)設(shè)的追蹤對(duì)象集合中是否包括有所述用戶標(biāo)識(shí);
生成模塊,用于若是,則生成運(yùn)行日志,其中,所述運(yùn)行日志包括用于標(biāo)識(shí)本次請(qǐng)求消息的追蹤索引。
本發(fā)明實(shí)施例中,用以通過給符合預(yù)設(shè)的追蹤對(duì)象特征的請(qǐng)求消息分配追蹤索引,并根據(jù)攜帶有該追蹤索引的請(qǐng)求消息的處理過程,生成運(yùn)行日志,從而實(shí)現(xiàn)了當(dāng)發(fā)生軟件故障時(shí),維護(hù)人員只需調(diào)取分析標(biāo)記有該追蹤索引的運(yùn)行日志即可快速的診斷故障,避免了調(diào)用所有運(yùn)行日志導(dǎo)致的磁盤空間的需求量瞬間增大,內(nèi)存空間嚴(yán)重不足的問題,在不影響運(yùn)行日志性能的前提下,提高了分析故障的效率。
較佳地,在根據(jù)用于標(biāo)識(shí)本次請(qǐng)求消息的追蹤索引,以及所述請(qǐng)求消息的處理過程,生成運(yùn)行日志之前,所述生成模塊還用于:
根據(jù)所述請(qǐng)求消息的進(jìn)程標(biāo)識(shí)與接收到請(qǐng)求消息的累積次數(shù),生成用于標(biāo)識(shí)本次請(qǐng)求消息的追蹤索引。
較佳地,所述查詢模塊具體用于:
從接收到發(fā)送端發(fā)送的HTTP/HTTPS請(qǐng)求中獲取源IP地址;
確定預(yù)設(shè)的追蹤對(duì)象集合中是否包括有所述源IP地址。
較佳地,所述查詢模塊具體用于:
從接收到發(fā)送端發(fā)送的HTTP/HTTPS請(qǐng)求中獲取請(qǐng)求URL;
確定預(yù)設(shè)的追蹤對(duì)象集合中是否包括有所述URL。
較佳地,所述查詢模塊還用于:
根據(jù)接收到的修改指令,增加或刪除所述追蹤對(duì)象集合中的用戶標(biāo)識(shí);或者,若滿足預(yù)設(shè)的追蹤時(shí)間或預(yù)設(shè)的追蹤次數(shù),則刪除所述追蹤對(duì)象集合中的用戶標(biāo)識(shí)。
附圖說明
圖1為本發(fā)明實(shí)施例提供的一種生成WEB網(wǎng)關(guān)的運(yùn)行日志的方法的流程示意圖;
圖2為本發(fā)明實(shí)施例提供的生成WEB網(wǎng)關(guān)的運(yùn)行日志的方法的流程示意圖;
圖3為本發(fā)明實(shí)施例提供的一種生成WEB網(wǎng)關(guān)的運(yùn)行日志的裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
本發(fā)明實(shí)施例提供了一種生成WEB網(wǎng)關(guān)的運(yùn)行日志的方法及裝置,用以通過給符合預(yù)設(shè)的追蹤對(duì)象特征的請(qǐng)求消息分配追蹤索引,并根據(jù)攜帶有該追蹤索引的請(qǐng)求消息的處理過程,生成運(yùn)行日志,從而實(shí)現(xiàn)了當(dāng)發(fā)生軟件故障時(shí),維護(hù)人員只需調(diào)取分析標(biāo)記有該追蹤索引的運(yùn)行日志即可快速的診斷故障,避免了調(diào)用所有運(yùn)行日志導(dǎo)致的磁盤空間的需求量瞬間增大,內(nèi)存空間嚴(yán)重不足的問題,在不影響運(yùn)行日志性能的前提下,提高了分析故障的效率。
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
參見圖1,本發(fā)明實(shí)施例提供了一種生成WEB網(wǎng)關(guān)的運(yùn)行日志的方法,該方法包括:
S101、根據(jù)接收到發(fā)送端發(fā)送的請(qǐng)求消息中的用戶標(biāo)識(shí),確定預(yù)設(shè)的追蹤對(duì)象集合中是否包括有所述用戶標(biāo)識(shí);
S102、若是,則生成運(yùn)行日志,其中,所述運(yùn)行日志包括用于標(biāo)識(shí)本次請(qǐng)求消息的追蹤索引。
通過本發(fā)明實(shí)施例提供的生成WEB網(wǎng)關(guān)的運(yùn)行日志的方法,實(shí)現(xiàn)了當(dāng)發(fā)生軟件故障時(shí),維護(hù)人員只需調(diào)取分析標(biāo)記有該追蹤索引的運(yùn)行日志即可快速的診斷故障,避免了調(diào)用所有運(yùn)行日志導(dǎo)致的磁盤空間的需求量瞬間增大,內(nèi)存空間嚴(yán)重不足的問題。
本發(fā)明實(shí)施例中的發(fā)送端可以為客戶端,接收端可以為WEB服務(wù)器,或WEB網(wǎng)關(guān)。
其中,在步驟S102中生成運(yùn)行日志之前,該方法還包括:
根據(jù)所述請(qǐng)求消息的進(jìn)程標(biāo)識(shí),生成用于標(biāo)識(shí)本次請(qǐng)求消息的追蹤索引。
當(dāng)一進(jìn)程中存在多線程時(shí),只根據(jù)所述請(qǐng)求消息的進(jìn)程標(biāo)識(shí)確定的追蹤索引就無法準(zhǔn)確的標(biāo)識(shí)本次請(qǐng)求消息。因此,優(yōu)選地,根據(jù)所述請(qǐng)求消息的進(jìn)程標(biāo)識(shí)與接收到請(qǐng)求消息的累積次數(shù),生成用于標(biāo)識(shí)本次請(qǐng)求消息的追蹤索引。其中,所述追蹤索引為非零值。進(jìn)程標(biāo)識(shí)可以為PID(Process Identity),累積次數(shù)可以為該進(jìn)程內(nèi)私有的全局計(jì)數(shù)器,用于累積接收到的HTTP/HTTPS請(qǐng)求的個(gè)數(shù)。追蹤索引為用于確定HTTP/HTTPS請(qǐng)求的唯一標(biāo)識(shí)。即所述追蹤索引與所述HTTP/HTTPS請(qǐng)求為一一對(duì)應(yīng)的關(guān)系。
具體地,根據(jù)所述請(qǐng)求消息的進(jìn)程標(biāo)識(shí)與接收到請(qǐng)求消息的累積次數(shù),生成用于標(biāo)識(shí)本次請(qǐng)求消息的追蹤索引,具體包括:
將接收到HTTP/HTTPS請(qǐng)求的累積次數(shù)低16位,再與所述請(qǐng)求消息的進(jìn)程標(biāo)識(shí)進(jìn)行或運(yùn)算,生成32位的追蹤索引。
其中,步驟S101中根據(jù)接收到發(fā)送端發(fā)送的請(qǐng)求消息中的用戶標(biāo)識(shí),確定預(yù)設(shè)的追蹤對(duì)象集合中是否包括有所述用戶標(biāo)識(shí),包括:
從接收到發(fā)送端發(fā)送的HTTP/HTTPS請(qǐng)求中獲取源IP地址;
確定預(yù)設(shè)的追蹤對(duì)象集合中是否包括有所述源IP地址。
從接收到發(fā)送端發(fā)送的HTTP/HTTPS請(qǐng)求中獲取源IP(Source Internet Protocol)地址,確定預(yù)設(shè)的追蹤對(duì)象集合中是否包括有所述源IP地址。或者,
從接收到發(fā)送端發(fā)送的HTTP/HTTPS請(qǐng)求中獲取請(qǐng)求URL(Uniform Resoure Locator,統(tǒng)一資源定位器),確定預(yù)設(shè)的追蹤對(duì)象集合中是否包括有所述URL。
其中,該方法還包括:
根據(jù)接收到的修改指令,增加或刪除所述追蹤對(duì)象集合中的用戶標(biāo)識(shí);或者,若滿足預(yù)設(shè)的追蹤時(shí)間或預(yù)設(shè)的追蹤次數(shù),則刪除所述追蹤對(duì)象集合中的用戶標(biāo)識(shí)。也就是說,既可以根據(jù)接收到的用戶需求的修改指令,對(duì)追蹤對(duì)象集合中的用戶標(biāo)識(shí)進(jìn)行增加或刪除,或者當(dāng)追蹤發(fā)送HTTP/HTTPS請(qǐng)求的客戶端的時(shí)間滿足預(yù)設(shè)的追蹤時(shí)間門限值時(shí),刪除該客戶端的用戶標(biāo)識(shí)(IP地址或請(qǐng)求URL);或者當(dāng)發(fā)送HTTP/HTTPS請(qǐng)求的客戶端的追蹤次數(shù)滿足預(yù)設(shè)的追蹤次數(shù)時(shí),刪除該客戶端的用戶標(biāo)識(shí)(IP地址或請(qǐng)求URL)。
當(dāng)WEB網(wǎng)關(guān)設(shè)備在同一時(shí)間接收到大量HTTP/HTTPS請(qǐng)求時(shí),將對(duì)每一HTTP/HTTPS請(qǐng)求進(jìn)行分析,確定預(yù)設(shè)的追蹤對(duì)象集合中是否包括有所述用戶標(biāo)識(shí);若是,則該WEB網(wǎng)關(guān)針對(duì)該HTTP/HTTPS請(qǐng)求生成一個(gè)用于標(biāo)識(shí)該HTTP/HTTPS會(huì)話請(qǐng)求的追蹤索引,并記錄攜帶該追蹤索引的HTTP/HTTPS請(qǐng)求在該WEB網(wǎng)關(guān)內(nèi)的詳細(xì)處理過程,并生成運(yùn)行日志。
下面將結(jié)合圖2,介紹本發(fā)明實(shí)施例提供的一種生成WEB的運(yùn)行日志的整體流程:
S201、構(gòu)建預(yù)設(shè)的追蹤對(duì)象集合,即讀取包括追蹤對(duì)象相關(guān)信息的配置文件進(jìn)行初始化,并將追蹤對(duì)象的用戶標(biāo)識(shí)存儲(chǔ)在追蹤對(duì)象集合中;
S202、當(dāng)WEB網(wǎng)關(guān)接收到客戶端發(fā)送的HTTP/HTTPS請(qǐng)求時(shí),查詢預(yù)設(shè)的追蹤對(duì)象集合中是否包括該客戶端的IP地址或者該HTTP/HTTPS的URL;即確定該IP地址或該HTTP/HTTPS的URL是否需要被追蹤;
S203、若是,則將該WEB網(wǎng)關(guān)內(nèi)部遞增的全局計(jì)數(shù)器放置到一個(gè)索引值的高16位,再與該WEB網(wǎng)關(guān)自身的進(jìn)程標(biāo)識(shí)進(jìn)行或運(yùn)算,生成一個(gè)32位的非零追蹤索引;
S204、記錄攜帶該追蹤索引的HTTP/HTTPS請(qǐng)求在該WEB網(wǎng)關(guān)內(nèi)的詳細(xì)處理過程,并將生成的運(yùn)行日志存儲(chǔ)到該WEB服務(wù)器的存儲(chǔ)模塊中。當(dāng)發(fā)生軟件故障時(shí),只需調(diào)取分析標(biāo)記有該追蹤索引的運(yùn)行日志即可,避免了調(diào)用所有運(yùn)行日志導(dǎo)致的磁盤空間的需求量瞬間增大,內(nèi)存空間嚴(yán)重不足的問題,在不影響運(yùn)行日志性能的前提下,提高了分析故障的效率。
由于根據(jù)該索引生成算法生成的追蹤索引與每次會(huì)話均一一對(duì)應(yīng),因此調(diào)試粒度可以細(xì)化到單次業(yè)務(wù)即每次HTTP會(huì)話,從而發(fā)生故障調(diào)取運(yùn)行日志時(shí),就可以精準(zhǔn)的調(diào)取到每次HTTP會(huì)話的具體內(nèi)容,避免調(diào)用所有運(yùn)行日志時(shí)出現(xiàn)的存活空間不足的問題,也避免了對(duì)網(wǎng)關(guān)自身處理性能的影響。
參見圖3,本發(fā)明實(shí)施例提供了一種生成WEB網(wǎng)關(guān)的運(yùn)行日志的裝置,該裝置包括:
查詢模塊301,用于根據(jù)接收到發(fā)送端發(fā)送的請(qǐng)求消息中的用戶標(biāo)識(shí),確定預(yù)設(shè)的追蹤對(duì)象集合中是否包括有所述用戶標(biāo)識(shí);
生成模塊302,用于若是,則生成運(yùn)行日志,其中,所述運(yùn)行日志包括用于標(biāo)識(shí)本次請(qǐng)求消息的追蹤索引。
具體地,在根據(jù)用于標(biāo)識(shí)本次請(qǐng)求消息的追蹤索引,以及所述請(qǐng)求消息的處理過程,生成運(yùn)行日志之前,所述生成模塊302還用于:
根據(jù)所述請(qǐng)求消息的進(jìn)程標(biāo)識(shí)與接收到請(qǐng)求消息的累積次數(shù),生成用于標(biāo)識(shí)本次請(qǐng)求消息的追蹤索引。
具體地,所述查詢模塊301具體用于:
從接收到發(fā)送端發(fā)送的HTTP/HTTPS請(qǐng)求中獲取源IP地址;
確定預(yù)設(shè)的追蹤對(duì)象集合中是否包括有所述源IP地址。
具體地,所述查詢模塊301具體用于:
從接收到發(fā)送端發(fā)送的HTTP/HTTPS請(qǐng)求中獲取請(qǐng)求URL;
確定預(yù)設(shè)的追蹤對(duì)象集合中是否包括有所述URL。
具體地,所述查詢模塊301還用于:
根據(jù)接收到的修改指令,增加或刪除所述追蹤對(duì)象集合中的用戶標(biāo)識(shí);或者,若滿足預(yù)設(shè)的追蹤時(shí)間或預(yù)設(shè)的追蹤次數(shù),則刪除所述追蹤對(duì)象集合中的用戶標(biāo)識(shí)。
所述生成運(yùn)行日志的裝置可以為WEB服務(wù)器或WEB網(wǎng)關(guān)或WAF設(shè)備(Web Application Firewall,網(wǎng)站應(yīng)用級(jí)入侵防御系統(tǒng))。
綜上所述,本發(fā)明實(shí)施例提供了一種生成WEB網(wǎng)關(guān)的運(yùn)行日志的方法及裝置,根據(jù)運(yùn)行日志中的追蹤索引,可查詢到具體追蹤對(duì)象的HTTP會(huì)話的交互消息以及具體的執(zhí)行步驟。在報(bào)錯(cuò)消息或警示消息時(shí),可追蹤到發(fā)生出錯(cuò)或警示的消息的具體HTTP會(huì)話,因此,在不影響運(yùn)行日志性能的前提下,提供了從大量HTTP/HTTPS請(qǐng)求中追蹤特定HTTP/HTTPS請(qǐng)求的方法,提高了分析故障的效率。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器和光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。