基于大数据技术的高校图书馆电子资源访问日志分析
2017-05-31张卫华
张卫华
[摘 要] 传统图书馆电子资源访问日志工具采集周期长、处理效率低下,无法支持高校图书馆大规模电子资源的日志采集和分析需求。大数据技术为图书电子资源的访问日志分析提供了值得借鉴的方法和手段。本文研究了一种采用Web日志工具LogStash和Elasticsearch设计实现的高校图书电子资源访问日志的实时采集和快速查询分析方法;给出了日志采集的大数据工具的选择、索引的建立方法,以及日志分析的处理流程,文中采用Kibana工具实现日志可视化分析。
[关键词] 大数据;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 引言
随着互联网技术的普及,电子资源成为高校图书馆提供的情报服务的重要部分,高校购买了更多的电子资源,同时高校图书馆自身也储备了日益增多的电子文献,电子资源的应用评估逐渐成为图书情报领域的重要研究课题。如何对高校图书馆电子资源的应用状况进行统计、分析和评价,对于所购买的资源是否符合本单位的用户需求成为调整电子资源建设政策、开展资源推广等工作的重要依据[1]。同时,包括自身馆藏电子文献在内的高校图书馆电子资源的增多,教师和学生对电子资源的使用量也日益增加,而图书馆迫切地需要掌握电子资源的具体使用状况及需求的变化趋势,能够智能地根据电子资源的访问日志从不同角度分析出高校图书馆资源的应用状况成为亟须解决的问题之一[2]。
大数据技术为我们提供了包括分布式文件系统HDFS、分布式计算集群HADOOP和分布式全文检索ElasticSearch等多种解决大数据量的高效处理手段[3]。运用大数据技术可以有效地解决电子资源的访问日志的存储、检索分析。从不同维度展现资源利用状况,发现资源瓶颈,提高服务质量。
2 传统电子资源访问日志分析
电子资源日志的分析在高校图书馆的资源利用状况分析中占非常重要的地位,高校图书馆电子资源来源越来越复杂,日志的分析和监控就显得尤为重要,常见的需求有:
·根据关键字查询日志详情
·监控电子资源的运行状况
·统计分析,比如资源的访问次数、执行时间、成功率等
·異常数据自动触发消息通知
·基于日志的数据挖掘
EZproxy 是一个目前被国外图书馆广泛使用的实现访问代理的软件。与普通代理服务器软件的主要区别在于它是采用基于“URL 重写”技术,用户无须修改浏览器的设置就能实现代理访问资源的功能[4]。EZproxy为图书馆对数据资源的使用进行监控和分析带来了极大的便利。但是对于更大规模的电子资源的访问,EZproxy暴露出一些问题,主要有:
·日志数据分散在多个系统,难以查找
·日志数据量大,查询速度慢
·一个调用会涉及多个系统,难以在这些系统的日志中快速定位数据
·数据不够实时
3 基于大数据技术的日志分析
大数据应用技术中,基于LogStash+ElasticSearch的日志分析被广泛应用于Web浏览的日志分析[7]。它从Web访问端抓取访问日志,应用Web大数据技术进行存储和索引,利用全文搜索工具ElasticSearch进行日志的分析和处理,能够提供远超于传统日志分析所具有的分析和检索功能。这种方法更适合于未来日益增长的图书电子资源的日志分析,可以提供关于电子资源利用率、资源使用行为分析、资源利用发展趋势分析等新的应用场景需求。图1是LogStash+ElasticSearch构造的日志分析和监测系统的典型架构。
LogStash是一个开放源码的日志收集工具,属于Elastic家族的一员,它负责将收集的日志信息输送到ElasticSearch,为ElasticSearch提供数据源[4]。
ElasticSearch是一个高扩展的、开源的、全文检索的搜索引擎,它提供了近实时的索引、搜索、分析功能[4]。在设计和实现上它吸收了包括HADOOP在内的主流的分布式系统的很多特性[5,7]。
ElasticSearch基于开源的搜索引擎Lucene构建,它把复杂的Lucene通过RESTful API隐藏起来,提供了简单易用的应用接口。这种基于RESTful的搜索引擎用于云计算中,能够达到近乎实时的搜索功能,并且提供了很好的稳定性和可靠性。ElasticSearch支持通过HTTP使用JSON进行数据索引[4],提供 Kibana 可视化监控和分析界面。
4 电子资源日志分析流程
4.1 日志的获取和汇聚
首先在读者访问电子资源的Web服务器上启动日志功能,读者的各种操作都会被作为日志记录下来。
通过在日志所在的主机上安装部署LogStash Shipper,用于获取日志并且转换成JSON格式的数据,日志数据被发送到Redis存储服务和后续的LogStash Indexer进行处理,为ElasticSearch的检索和分析做数据准备。
获取的日志格式定义:
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 日志存储和索引
经Shipper采集的日志数据汇聚到大数据存储集群中,而后根据分析和统计的需要建立多种维度的索引。ElasticSearch索引的建立是日志分析的重要基础,我们借鉴了普通Web应用的日志分析方式,多样化的电子资源建立了日志信息存储的索引,索引建立的依据是:
4.2.1 各种电子资源站点的概要统计。包括分析覆盖的时间、访问的页面数、访问数、会话数、访问者信息以及平均访问、最高访问等。
4.2.2 内容分析。读者访问的最多及最少被访问的数据库资源、检索路径、最高访问的时间。4.2.3 读者信息分析。包括访问者的来源、访问者使用的浏览器及操作系统分析、访问来自的页面、IP地址以及访问者使用的检索方式。
4.2.4 读者活动周期行为分析。一周7天的访问行为、24小时的访问行为、每周的最多的访问日、访问时段等。
4.2.5 资源数据库访问分析。针对各个资源数据库访问分析资源利用情况,分学科统计出各个数据库的访问情况,并进行分析。
4.2.6 全文数据库扩展分析。针对联机或光盘数据库的下载等内容的访问分析。
4.2.7 发现用户访问模式。通过分析和探究资源数据库日志记录中的规律,可以识别读者的需求趋势,提高对读者的服务质量,并改进图书馆服务器系统的性能。
4.2.8 主要访问错误分析。主要访问错误分析包括服务端错误、联机资源错误等。
4.3 检索和分析引擎
ElasticSearch具有强大的搜索和分析功能,它提供了强大的搜索功能,可以实现类似百度、谷歌等搜索。可以搜索日志或者交易数据,用来分析商业趋势、搜集日志、分析系统瓶颈或者发展趋势。在百万级的大数据中轻松地定位关键信息。
本文采用了三台计算机作为日志分析群集建立了一个实验环境。在每台机器上安装ElasticSearch服务和LogStash。通过设置三台机器的集群节点参数,实现性能和可靠性的保障。
由于ElasticSearch自帶的中文分词功能并不理想,当需要进行文献全文检索的条件分析时,不准确的分词和词库会导致对日志中用户对文献数据库检索的条件和内容分析不够准确。我们采用了IK分词插件用于中文检索的分词器,改善了索引的性能。
对于不同的资源数据库,通过日志记录的访问URL的解析可以分析出访问者使用的检索方式、检索条件;通过对检索条件的内容分析,可以解析出读者的检索意图和对应的学科专业领域。通过$request的请求内容的解析还可以解析出读者对文献的编目和全文的使用情况。
我们为ElasticSearch配置为15个片2个副本,由于日志分析属于内部使用功能,访问量并不大,所以没太大必要使用过多的副本存储,设置LogStash索引名为系统自动生成的,每天一个日志类别,可使按时间的检索更加简单。
4.4 日志分析的人机交互
Kibana是一个功能强大的ElasticSearch数据显示客户端,Kibana可以对日志进行高效的搜索、可视化、分析等各种操作。Kibana提供了多种图表的展现方式,使得日志的分析结果更加形象地展现给分析者。
5 总结
利用开源工具 LogStash和 Elasticsearch 设计实现了分布式集群日志采集和分析平台,应用Kibana可以方便地进行日志不同角度的分析和展现;满足了多种电子资源海量日志的实时采集和快速分析需求,可以为日常服务检测、快速排查故障维持系统正常运行,提供了可行性工具。同时具备实施部署方便的特点。
本文只使用了LogStash和 Elasticsearch对高校图书电子资源的日志分析方法做了初步的探讨,建立的搜索模型和索引选取比较简单。后续还有许多实际的需求无法满足。在本文所选择的平台上还可以做很多有针对性的专题分析。另外,随着大数据和人工智能技术的成熟,ElasticSearch的机器学习功能的利用还可以建立智能化的访问日志分析系统。
参考文献:
[1] 罗文森.常用中文电子资源访问日志功能分析及研究[J].情报理论与实践,2011(2).
[2] 严潮斌.加州大学图书馆多平台云迁移策略研究[J]. 图书情报工作,2013(11).
[3] 陈祖琴.图书馆视角下的大数据资源共建共享[J].情报杂志,2015(4).
[4] 周映.ELK日志分析平台在电子商务系统监控服务中的应用[J].信息技术与标准化,2016(7).
[5] 饶琛琳.ELKstack权威指南[M].北京:机械工业出版社,2015.
[6] 陈俊杰.应用Elasticsearch重构图书馆站内搜索引擎 情报探索[J].2014(11).
[7] Elasticsearch联机文档[EB/OL].https://www.elastic.co/guide/index.html.2017-2-5.