張衛(wèi)華
[摘 要] 傳統(tǒng)圖書館電子資源訪問日志工具采集周期長、處理效率低下,無法支持高校圖書館大規(guī)模電子資源的日志采集和分析需求。大數(shù)據(jù)技術(shù)為圖書電子資源的訪問日志分析提供了值得借鑒的方法和手段。本文研究了一種采用Web日志工具LogStash和Elasticsearch設(shè)計實現(xiàn)的高校圖書電子資源訪問日志的實時采集和快速查詢分析方法;給出了日志采集的大數(shù)據(jù)工具的選擇、索引的建立方法,以及日志分析的處理流程,文中采用Kibana工具實現(xiàn)日志可視化分析。
[關(guān)鍵詞] 大數(shù)據(jù);ElasticSearch;文獻分析
[中圖分類號] TP311 [文獻標識碼] A [文章編號] 1671-0037(2017)3-82-3
Analysis of Electronic Resource Access Logs in University Libraries Based on Big Data Technology
Zhang Weihua
(School of Electrical Engineering, Zhengzhou University, Zhengzhou Henan 450001)
Abstract: Traditional library electronic resource access log tools have long acquisition cycle, low handling efficiency, can not support the needs of university library's large-scale electronic resources log acquisition and analysis. The big data technology provides a valuable method and means for the access log analysis of library electronic resources. This paper studied a real-time acquisition and quick query analysis method for the access log of electronic resource in university library using Web access log tools of LogStash and ElasticSearch design. The selection of big data tools for log acquisition, the establishment method of index, and the prodedure of log analysis were given. Kibana tool was used in the paper to achieve the log visualization analysis.
Key words: big data; ElasticSearch; document analysis
1 引言
隨著互聯(lián)網(wǎng)技術(shù)的普及,電子資源成為高校圖書館提供的情報服務(wù)的重要部分,高校購買了更多的電子資源,同時高校圖書館自身也儲備了日益增多的電子文獻,電子資源的應(yīng)用評估逐漸成為圖書情報領(lǐng)域的重要研究課題。如何對高校圖書館電子資源的應(yīng)用狀況進行統(tǒng)計、分析和評價,對于所購買的資源是否符合本單位的用戶需求成為調(diào)整電子資源建設(shè)政策、開展資源推廣等工作的重要依據(jù)[1]。同時,包括自身館藏電子文獻在內(nèi)的高校圖書館電子資源的增多,教師和學(xué)生對電子資源的使用量也日益增加,而圖書館迫切地需要掌握電子資源的具體使用狀況及需求的變化趨勢,能夠智能地根據(jù)電子資源的訪問日志從不同角度分析出高校圖書館資源的應(yīng)用狀況成為亟須解決的問題之一[2]。
大數(shù)據(jù)技術(shù)為我們提供了包括分布式文件系統(tǒng)HDFS、分布式計算集群HADOOP和分布式全文檢索ElasticSearch等多種解決大數(shù)據(jù)量的高效處理手段[3]。運用大數(shù)據(jù)技術(shù)可以有效地解決電子資源的訪問日志的存儲、檢索分析。從不同維度展現(xiàn)資源利用狀況,發(fā)現(xiàn)資源瓶頸,提高服務(wù)質(zhì)量。
2 傳統(tǒng)電子資源訪問日志分析
電子資源日志的分析在高校圖書館的資源利用狀況分析中占非常重要的地位,高校圖書館電子資源來源越來越復(fù)雜,日志的分析和監(jiān)控就顯得尤為重要,常見的需求有:
·根據(jù)關(guān)鍵字查詢?nèi)罩驹斍?/p>
·監(jiān)控電子資源的運行狀況
·統(tǒng)計分析,比如資源的訪問次數(shù)、執(zhí)行時間、成功率等
·異常數(shù)據(jù)自動觸發(fā)消息通知
·基于日志的數(shù)據(jù)挖掘
EZproxy 是一個目前被國外圖書館廣泛使用的實現(xiàn)訪問代理的軟件。與普通代理服務(wù)器軟件的主要區(qū)別在于它是采用基于“URL 重寫”技術(shù),用戶無須修改瀏覽器的設(shè)置就能實現(xiàn)代理訪問資源的功能[4]。EZproxy為圖書館對數(shù)據(jù)資源的使用進行監(jiān)控和分析帶來了極大的便利。但是對于更大規(guī)模的電子資源的訪問,EZproxy暴露出一些問題,主要有:
·日志數(shù)據(jù)分散在多個系統(tǒng),難以查找
·日志數(shù)據(jù)量大,查詢速度慢
·一個調(diào)用會涉及多個系統(tǒng),難以在這些系統(tǒng)的日志中快速定位數(shù)據(jù)
·數(shù)據(jù)不夠?qū)崟r
3 基于大數(shù)據(jù)技術(shù)的日志分析
大數(shù)據(jù)應(yīng)用技術(shù)中,基于LogStash+ElasticSearch的日志分析被廣泛應(yīng)用于Web瀏覽的日志分析[7]。它從Web訪問端抓取訪問日志,應(yīng)用Web大數(shù)據(jù)技術(shù)進行存儲和索引,利用全文搜索工具ElasticSearch進行日志的分析和處理,能夠提供遠超于傳統(tǒng)日志分析所具有的分析和檢索功能。這種方法更適合于未來日益增長的圖書電子資源的日志分析,可以提供關(guān)于電子資源利用率、資源使用行為分析、資源利用發(fā)展趨勢分析等新的應(yīng)用場景需求。圖1是LogStash+ElasticSearch構(gòu)造的日志分析和監(jiān)測系統(tǒng)的典型架構(gòu)。
LogStash是一個開放源碼的日志收集工具,屬于Elastic家族的一員,它負責將收集的日志信息輸送到ElasticSearch,為ElasticSearch提供數(shù)據(jù)源[4]。
ElasticSearch是一個高擴展的、開源的、全文檢索的搜索引擎,它提供了近實時的索引、搜索、分析功能[4]。在設(shè)計和實現(xiàn)上它吸收了包括HADOOP在內(nèi)的主流的分布式系統(tǒng)的很多特性[5,7]。
ElasticSearch基于開源的搜索引擎Lucene構(gòu)建,它把復(fù)雜的Lucene通過RESTful API隱藏起來,提供了簡單易用的應(yīng)用接口。這種基于RESTful的搜索引擎用于云計算中,能夠達到近乎實時的搜索功能,并且提供了很好的穩(wěn)定性和可靠性。ElasticSearch支持通過HTTP使用JSON進行數(shù)據(jù)索引[4],提供 Kibana 可視化監(jiān)控和分析界面。
4 電子資源日志分析流程
4.1 日志的獲取和匯聚
首先在讀者訪問電子資源的Web服務(wù)器上啟動日志功能,讀者的各種操作都會被作為日志記錄下來。
通過在日志所在的主機上安裝部署LogStash Shipper,用于獲取日志并且轉(zhuǎn)換成JSON格式的數(shù)據(jù),日志數(shù)據(jù)被發(fā)送到Redis存儲服務(wù)和后續(xù)的LogStash Indexer進行處理,為ElasticSearch的檢索和分析做數(shù)據(jù)準備。
獲取的日志格式定義:
log_format logstash ‘$http_host
‘$remote_addr [$time_local]
‘“$request” $status $body_bytes_sent
‘“$http_referer” “$http_user_agent”
'$request_time '$upstream_response_time';
4.2 日志存儲和索引
經(jīng)Shipper采集的日志數(shù)據(jù)匯聚到大數(shù)據(jù)存儲集群中,而后根據(jù)分析和統(tǒng)計的需要建立多種維度的索引。ElasticSearch索引的建立是日志分析的重要基礎(chǔ),我們借鑒了普通Web應(yīng)用的日志分析方式,多樣化的電子資源建立了日志信息存儲的索引,索引建立的依據(jù)是:
4.2.1 各種電子資源站點的概要統(tǒng)計。包括分析覆蓋的時間、訪問的頁面數(shù)、訪問數(shù)、會話數(shù)、訪問者信息以及平均訪問、最高訪問等。
4.2.2 內(nèi)容分析。讀者訪問的最多及最少被訪問的數(shù)據(jù)庫資源、檢索路徑、最高訪問的時間。4.2.3 讀者信息分析。包括訪問者的來源、訪問者使用的瀏覽器及操作系統(tǒng)分析、訪問來自的頁面、IP地址以及訪問者使用的檢索方式。
4.2.4 讀者活動周期行為分析。一周7天的訪問行為、24小時的訪問行為、每周的最多的訪問日、訪問時段等。
4.2.5 資源數(shù)據(jù)庫訪問分析。針對各個資源數(shù)據(jù)庫訪問分析資源利用情況,分學(xué)科統(tǒng)計出各個數(shù)據(jù)庫的訪問情況,并進行分析。
4.2.6 全文數(shù)據(jù)庫擴展分析。針對聯(lián)機或光盤數(shù)據(jù)庫的下載等內(nèi)容的訪問分析。
4.2.7 發(fā)現(xiàn)用戶訪問模式。通過分析和探究資源數(shù)據(jù)庫日志記錄中的規(guī)律,可以識別讀者的需求趨勢,提高對讀者的服務(wù)質(zhì)量,并改進圖書館服務(wù)器系統(tǒng)的性能。
4.2.8 主要訪問錯誤分析。主要訪問錯誤分析包括服務(wù)端錯誤、聯(lián)機資源錯誤等。
4.3 檢索和分析引擎
ElasticSearch具有強大的搜索和分析功能,它提供了強大的搜索功能,可以實現(xiàn)類似百度、谷歌等搜索??梢运阉魅罩净蛘呓灰讛?shù)據(jù),用來分析商業(yè)趨勢、搜集日志、分析系統(tǒng)瓶頸或者發(fā)展趨勢。在百萬級的大數(shù)據(jù)中輕松地定位關(guān)鍵信息。
本文采用了三臺計算機作為日志分析群集建立了一個實驗環(huán)境。在每臺機器上安裝ElasticSearch服務(wù)和LogStash。通過設(shè)置三臺機器的集群節(jié)點參數(shù),實現(xiàn)性能和可靠性的保障。
由于ElasticSearch自帶的中文分詞功能并不理想,當需要進行文獻全文檢索的條件分析時,不準確的分詞和詞庫會導(dǎo)致對日志中用戶對文獻數(shù)據(jù)庫檢索的條件和內(nèi)容分析不夠準確。我們采用了IK分詞插件用于中文檢索的分詞器,改善了索引的性能。
對于不同的資源數(shù)據(jù)庫,通過日志記錄的訪問URL的解析可以分析出訪問者使用的檢索方式、檢索條件;通過對檢索條件的內(nèi)容分析,可以解析出讀者的檢索意圖和對應(yīng)的學(xué)科專業(yè)領(lǐng)域。通過$request的請求內(nèi)容的解析還可以解析出讀者對文獻的編目和全文的使用情況。
我們?yōu)镋lasticSearch配置為15個片2個副本,由于日志分析屬于內(nèi)部使用功能,訪問量并不大,所以沒太大必要使用過多的副本存儲,設(shè)置LogStash索引名為系統(tǒng)自動生成的,每天一個日志類別,可使按時間的檢索更加簡單。
4.4 日志分析的人機交互
Kibana是一個功能強大的ElasticSearch數(shù)據(jù)顯示客戶端,Kibana可以對日志進行高效的搜索、可視化、分析等各種操作。Kibana提供了多種圖表的展現(xiàn)方式,使得日志的分析結(jié)果更加形象地展現(xiàn)給分析者。
5 總結(jié)
利用開源工具 LogStash和 Elasticsearch 設(shè)計實現(xiàn)了分布式集群日志采集和分析平臺,應(yīng)用Kibana可以方便地進行日志不同角度的分析和展現(xiàn);滿足了多種電子資源海量日志的實時采集和快速分析需求,可以為日常服務(wù)檢測、快速排查故障維持系統(tǒng)正常運行,提供了可行性工具。同時具備實施部署方便的特點。
本文只使用了LogStash和 Elasticsearch對高校圖書電子資源的日志分析方法做了初步的探討,建立的搜索模型和索引選取比較簡單。后續(xù)還有許多實際的需求無法滿足。在本文所選擇的平臺上還可以做很多有針對性的專題分析。另外,隨著大數(shù)據(jù)和人工智能技術(shù)的成熟,ElasticSearch的機器學(xué)習(xí)功能的利用還可以建立智能化的訪問日志分析系統(tǒng)。
參考文獻:
[1] 羅文森.常用中文電子資源訪問日志功能分析及研究[J].情報理論與實踐,2011(2).
[2] 嚴潮斌.加州大學(xué)圖書館多平臺云遷移策略研究[J]. 圖書情報工作,2013(11).
[3] 陳祖琴.圖書館視角下的大數(shù)據(jù)資源共建共享[J].情報雜志,2015(4).
[4] 周映.ELK日志分析平臺在電子商務(wù)系統(tǒng)監(jiān)控服務(wù)中的應(yīng)用[J].信息技術(shù)與標準化,2016(7).
[5] 饒琛琳.ELKstack權(quán)威指南[M].北京:機械工業(yè)出版社,2015.
[6] 陳俊杰.應(yīng)用Elasticsearch重構(gòu)圖書館站內(nèi)搜索引擎 情報探索[J].2014(11).
[7] Elasticsearch聯(lián)機文檔[EB/OL].https://www.elastic.co/guide/index.html.2017-2-5.