日志結(jié)構(gòu)化,SQL來查詢-創(chuàng)新互聯(lián)

通常,日志文件都是文本格式,其中的內(nèi)容是非結(jié)構(gòu)化的文本串。這就使得我們查詢?nèi)罩拘畔r,一般只能使用文本編輯軟件的搜索功能,輸入關(guān)鍵字后,靠眼力去偵查每處匹配結(jié)果。在日志量不大,或者只是偶爾查一下時,這么操作倒也無妨。不過,再簡單的事情也怕多次重復(fù)。如果需要頻繁查詢,量變就可能引起質(zhì)變。如果每次還都要靠人工搜索,那么就算有再好的視力,也會有頭暈?zāi)垦5臅r候。因此,想要輕松查詢?nèi)罩?,就必須找到一款合適的工具,有了合適的工具,就可以一邊喝著咖啡,一邊輕彈條件回車就行了。

發(fā)展壯大離不開廣大客戶長期以來的信賴與支持,我們將始終秉承“誠信為本、服務(wù)至上”的服務(wù)理念,堅持“二合一”的優(yōu)良服務(wù)模式,真誠服務(wù)每家企業(yè),認(rèn)真做好每個細(xì)節(jié),不斷完善自我,成就企業(yè),實現(xiàn)共贏。行業(yè)涉及地磅秤等,在重慶網(wǎng)站建設(shè)公司、營銷型網(wǎng)站、WAP手機(jī)網(wǎng)站、VI設(shè)計、軟件開發(fā)等項目上具有豐富的設(shè)計經(jīng)驗。

工具里面,首先想到的,就是利用各種計算機(jī)開發(fā)語言,外加關(guān)系數(shù)據(jù)庫。但這類工具開發(fā)過程繁瑣,還需要準(zhǔn)備好多工作環(huán)境,包括配置語言開發(fā)環(huán)境,安裝數(shù)據(jù)庫服務(wù),安裝數(shù)據(jù)庫查詢應(yīng)用等。

對于這么“重”的方案,我們果斷撇開。因為今天就要介紹一個輕巧方便的工具——集算器,利用集算器,可以將文本日志變成結(jié)構(gòu)化數(shù)據(jù),然后就可以使用我們熟悉的 SQL 式查詢了。

這里,我們利用到了集算語言 (Structured Process Language,簡稱 SPL) 的兩大優(yōu)點:

  • 將日志內(nèi)容結(jié)構(gòu)化為數(shù)據(jù)表結(jié)構(gòu),SPL 遠(yuǎn)比常用開發(fā)語言簡單、易用、直觀。

  • SPL 支持直接對結(jié)構(gòu)化的文件進(jìn)行 SQL 查詢,不再需要安裝配置第三方數(shù)據(jù)庫軟件。

下面就是具體的實施過程。

1、日志結(jié)構(gòu)分析

不同的日志文件,其內(nèi)容格式五花八門,每一個看上去都雜亂無章。但對于某個特定的具體的日志來說,它一定會有它自己的結(jié)構(gòu)。拿到日志文件后,首先要做的就是分析日志內(nèi)容,提煉數(shù)據(jù)結(jié)構(gòu),總結(jié)出可以結(jié)構(gòu)化的字段。

作為示例,我們用騰訊視頻軟件下的一個啟動日志來做案例。如果你也用過騰訊視頻,就可以利用下面的代碼來體驗和學(xué)習(xí),分析一下自己的使用行為了。這個日志文件,位于當(dāng)前用戶的 AppData 路徑下,并且以 QQLive.exe[Main] 開頭。在我的機(jī)器上,這個文件就是:

C:\Users\[Joancy]\AppData\Roaming\Tencent\QQLive\Log\QQLive.exe[Main][2018-8-3 21-5-35-557][12164].log

上述路徑中 [Joancy] 是我的 Windows 登錄用戶名,在你的機(jī)器中,將會是你的用戶名。QQLive.exe[Main]開頭的日志文件有很多,隨便取一個就可以。

下面就是這個日志文件中的兩行:

[18-07-19 14:35:06][9416]-[31ms][QQLiveMainModule.dll][CQQLiveModule::ParsCommandLine] cmd=”C:\Program Files (x86)\Tencent\QQLive\QQLive.exe” -system_startup
[18-07-19 14:35:08][9416]-[2266ms][HttpModule.dll][CDownloadMgr::AddTask]keyid = 1,url = http://182.254.116.117/d?dn=vv.video.qq.com.&ttl=1

可以看到,這個日志的內(nèi)容比較規(guī)整,一行一條記錄。每行中一對中括號中的內(nèi)容為一節(jié),對應(yīng)一個字段。只是最后的兩節(jié)有點特殊,其中倒數(shù)第二節(jié)可以省略,而最后一節(jié)沒用中括號括起來。這樣,我們就可以整理出日志表的數(shù)據(jù)結(jié)構(gòu)如下,并且把第一行內(nèi)容作為對應(yīng)的示例:


字段名類型分節(jié)內(nèi)容
1記錄時間DateTime[18-07-19 14:35:06]
2線程編號Integer[9416]
3加載時刻Integer[31ms]
4加載模塊String[QQLiveMainModule.dll]
5加載函數(shù)String[CQQLiveModule::ParsCommandLine]
6日志內(nèi)容Stringcmd=”C:\Program Files (x86)\Tencent\QQLive\QQLive.exe” -system_startup

表(1)
解析各個字段時,需要注意:

1) 記錄時間: 由于年份只有兩位,所以在轉(zhuǎn)成日期時間類型時,需要指定相匹配的日期格式,否則 18 就會被當(dāng)成公元 18 年,而不是 2018 年了。具體的操作方法是打開集算器菜單中的選項,在彈出的窗口中點擊環(huán)境頁面,設(shè)置屬性‘日期時間格式’為‘yy-MM-dd HH

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

本文名稱:日志結(jié)構(gòu)化,SQL來查詢-創(chuàng)新互聯(lián)
鏈接URL:http://muchs.cn/article10/ejddo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、品牌網(wǎng)站設(shè)計商城網(wǎng)站、網(wǎng)站內(nèi)鏈網(wǎng)站建設(shè)、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)