1、基于Splunk 的图书馆资源网站服务效 率研究以北京工业大学图书馆为例 雷东升 北京工业大学图书馆 摘 要: 图书馆用户访问数据库资源时经常出现请求响应慢、无响应、响应中断等网站服 务效率低的问题, 影响了用户的使用效果。 访问日志信息为提升资源网站服务效 率问题提供了有效依据。使用大数据分析软件 Splunk研究了北京工业大学图书 馆用户访问数据库资源网站的日志信息, 找出了有效性低的数据库资源网站, 通过对请求未成功访问流量的挖掘及对不同时间段 HTTP错误的监测, 找出了影 响数据库访问效率的因素并提出了改进措施, 以提高图书馆数据库资源网站的 服务效率, 优化学校数据库资源服务模式,
2、 增加用户的满意度。 关键词: Splunk; 日志分析; 服务效率; 作者简介:雷东升, 男, 1974年生, 北京工业大学图书馆副教授。 基金:20162018 北京地区高校图书馆科研基金项目“基于日志分析的图书馆 数据库资源服务效率及用户访问行为研究” (项目编号:BGT2016024) Study on the Service Efficiency of Librarys Resource Website Based on the SplunkTaking the Library of Beijing University of Technology as an Example LEI
3、 Dongsheng Abstract: The library users, when accessing the database, often face some problems such as slow response, no response or interrupted response. All of these problems influence the effectiveness of the users work. Accessing logs provide an effective basis for increasing the service efficien
4、cy of the resource website. By using the big data software Splunk, this paper studies the access logs of the BJUT Library users accessing database rescource websites finds some low efficiency databases, and through mining the traffic with unsuccessful search requests and observing HTTP errors from d
5、ifferent periods of time, finds out the reasons behind low efficiency of access to databases, and puts forward some improving ways to increase the service efficiency of the library database resource websites, optimize universitys database resource service mode and increase users satisfaction. Keywor
6、d: Splunk; log analysis; service efficiency; 近年来, 高校图书馆购买了大量国内外优秀数据库资源构建数据资源保障体系, 保证了教学科研工作的顺利开展1。学校用户随时随地通过图书馆提供的入口 访问数据库资源网站或者资源的镜像站点检索下载所需文献资源, 增加了读者 访问便利性, 提高了所购资源的使用率。用户在访问这些资源网站或者镜像时, 经常出现网站请求响应慢或者响应中断的情况, 影响了用户的使用效果。 数据库 资源访问日志详细记载了用户访问的页面、时间、IP地址、操作类型、错误类 型等信息, 为分析数据库资源利用率、 访问便捷性和网站服务效率等问题提供
7、了 有效依据2。 本文将图书馆资源网站服务效率定义为网站对用户请求的响应能力。 当用户浏览 资源网站页面并向服务器端发出请求时, 服务器能够将用户请求的资源成功返 回给用户, 则用户的访问行为有效, 否则为无效。 影响用户访问有效性的主要因 素是页面访问有效率。 1 Splunk 的功能 Splunk是面向大数据的机器数据引擎, 是支持日志聚合、搜索、提取的日志文 件管理工具。通过处理信息基础架构设施中所有软件系统、服务器和各种设备生 成结构化、半结构化的数据转变成可视化图表, 对相关问题进行深入分析、故障 排查、监控告警3。 使用面向大数据的机器数据引擎 Splunk对用户访问数据库资源的日
8、志信息进行 提取、聚合、拆分、可视化等处理, 生成数据库资源网站服务效率仪表盘, 找出 访问有效性较低的数据库资源网站, 对这些网站请求未成功的访问事件进行分 析挖掘, 监测它们在不同时间发生的 HTTP错误, 确定造成访问效率低的因素, 为数据库运营商改进服务措施、提高服务效率提供可行性建议。 基于Splunk 的日志分析研究图书馆数据库资源网站服务效率的技术路线如图 1 所示。首先收集整理用户访问数据库资源的日志文件, 对日志数据进行数据净 化、会话识别和路径补充等预处理工作, 实现日志数据的规范化处理。使用 Splunk分析软件对日志数据进行聚合、分类、提取及可视化处理, 从数据库网 站
9、访问的有效性和请求成功流量分布分析, 找出服务效率差的数据库资源网站, 探明其原因并提出改进措施。 图1 基于 Splunk的图书馆数据库资源网站服务效率技术模型 下载原图 2 数据库资源访问日志数据预处理及导入 本文使用的数据库资源访问日志是北京工业大学图书馆 (以下简称我馆) 数据 库资源访问日志, 时间是2015 年6月1日至 7日。我馆数据库资源有近 100个 全文数据库, 数据库资源学科种类齐全、信息量大、检索方式灵活、获取方式便 捷, 可为学校教学、科研用户提供多样化、个性化、深层次的信息资源服务。 我馆数据库资源是通过 EZproxy代理服务器来实现访问的, EZproxy 代理
10、服务器 日志记录了用户访问数据资源的全部信息4。用户访问图书馆数据库产生一个 文本型半结构化日志文件, 经过数据净化、用户识别、会话识别、路径补充等操 作, 将数据预处理为符合 Splunk要求的数据格式。 Splunk把带有时间戳的一行日志数据或记录称为一个事件。我馆 2015 年6月1 日至7 日的日志文件共记录了 1 743 096条事件, 将数据预处理后导入 Splunk 进行处理分析。 3 数据库服务效率分析方案 本文通过网站访问的有效性和网站请求未成功访问流量研究数据库服务效率问 题, 并通过网站服务效率仪表盘对研究结果进行可视化揭示。 3.1 访问有效性分析方案 3.1.1 返回
11、错误事件次数 用户通过浏览网页并向数据库资源服务器端发出请求时, 服务器返回 HTTP状态 码 (HTTP Status Code) , HTTP 状态码是用以表示网页服务器 HTTP 响应状态的 3位数字代码5。它是由 RFC (Request For Comments) HTTP 2616 规范定义的, 并得到RFC 2518、RFC 2817、RFC 2295、RFC 2774、RFC 4918等规范扩展。状 态码的基本含义如表 1所示。 根据数据库资源服务器返回的状态码可以判断不同资源网站对用户访问的响应能力, 分析状态码可以得到数据库资源网站的访问 有效性6。 表1 HTTP 状态码
12、的基本含义 下载原表 HTTP状态码在1XX范围内表示请求收到并继续处理;在2XX范围内表示操作成功 收到并分析、接受;在3XX范围内表示网站已被移除或者暂时重定向, 返回这些 状态码的事件均可被认为访问成功。 当返回的状态码大于 400时, 用户的访问失 败7。 使用Splunk 的聚合和搜索功能对状态码大于 400的事件进行处理, 并对 不同页面发生的事件数进行统计, 使用柱状图对处理结果进行显示, 可得到各 数据库资源网站页面返回错误事件次数的统计结果。 由于每个页面被访问的次数 不尽相同, 不能完全说明发生错误次数多的页面访问效率, 这种情况下应使用 页面访问有效率分析错误页面发生的情
13、况。 3.1.2 页面访问有效率 为了深入分析页面的访问有效性, 定义页面访问有效率为返回 HTTP 有效状态码 的事件数除以页面所对应的事件总数, 计算所有页面的访问有效率, 找出在接 受用户请求时发生错误概率较高的页面。 HTTP有效状态码的事件数=页面所对应的事件总数-HTTP错误状态码的事件数; 页面访问有效率=HTTP 有效状态码的事件数/页面所对应的事件总数; 页面访问无效率=HTTP 错误状态码的事件数/页面所对应的事件总数。 根据请求发生的时间段来计算每个页面接受请求的总事件数, 并将统计结果显 示为“总事件数”。 对应的时间段内每个网页产生的错误状态码大于 400的事件 数为
14、“返回错误 HTTP 状态码次数”。 根据返回错误 HTTP状态码次数对结果进行 降序排名, 选择前 200个结果数据进行显示, 可以找出错误概率较高的网页, 并以此为依据分析每个页面的稳定性及访问有效性。 3.2 请求未成功流量分布可视化分析方案 3.2.1 网站错误 HTTP 状态比例分布 找出返回错误状态较多的网页后, 需要分析网页请求未成功的流量产生的具体 原因, 对网站中易受攻击的页面进行监测和维护。 为了进一步查询网页错误流量 的具体分布, 使用 uri=“http:/xxxxxx”表示选定的需进一步分析的网页, 使用Splunk 的分析统计功能按不同错误状态统计每个状态对应的事件
15、数。 3.2.2 网页HTTP 错误状态码监测 对于频繁出现错误的网页, 通过在一段时间内对网页产生的错误 HTTP 状态码进 行监测, 找出不同时间影响网页有效访问的原因。 3.3 数据库服务效率仪表盘 根据以上网站服务效率的分析方案, 可以得到一整套服务效率仪表盘, 图2为 其可视化示意图。 根据网站服务效率仪表盘的可视化结果, 资源网站管理人员能够容易地判断各 网页的稳定性及访问有效性, 也可以找出网页频繁产生访问错误的原因, 并针 对某些网页的错误进行连续监测, 通过优化网站架构或改进站点设计来提升网 站的总体服务质量。 4 数据库服务效率实例分析 我馆每个数据库资源都有独立的网站。在
16、导入日志后, Splunk将日志数据中的 “uri_domain”字段标识为域名和端口。每个域名都对应一个数据库资源网站, “uri_domain”字段包含的每个值都代表了一个网站, 不同数据库可能包含多 个域名。 为了便于分析, 本文不对Web日志中的所有域名及其所属的数据库进行 具体归纳, 只对本文中所使用的部分域名进行说明。通过对网站的搜索与统计, 结合可视化结果分析其所对应的数据库的服务效率。 4.1 访问有效性分析 4.1.1 网站返回错误事件数比例 使用Splunk 的聚合和搜索功能对状态码大于 400的事件进行处理, 并对不同页 面发生的错误事件数进行统计, 使用饼图显示错误事件
17、中每个域名的比例。 处理 结果如图3所示。 图2 网站服务效率仪表盘可视化示意图 下载原图 由图3可知, 所有域名中http:/返回错误HTTP状态码所对应的 事件数所占比例最大, 该域名会跳转到中国知网 (CNKI) 的主页网站上。 对域名 进行查询, 发现路径中带有“cnki”的网页均属于中国知网 (CNKI) , 发生错 误较多的网页大部分来源于中国知网。http:/202.121.165.27:9020 和 http:/202.121.165.27:9021 分别为中国知网中按 caj和pdf格式下载文献的 跳转页面。http:/ 是我馆数据库目录页, 师生在访问每 个数据库资源时都须
18、通过该页面进行连接。表 2显示了不同网站返回错误 HTTP 状态码事件数的降序排列结果。由此可知, 除http:/ 外, 中国 知网的下载页面以及图书馆数据库目录页出现错误的次数较多。 图3 网站返回错误事件数比例图 下载原图 表2 网站总事件数与返回错误 HTTP状态码事件数统计表 下载原表 4.1.2 总事件数与返回错误 HTTP 状态事件数对比 网站的错误事件数较多并不能说明网站的访问有效性低。 为了得到更为科学的判 断依据, 需将网站的错误事件数与总事件数进行比较, 为此, 使用 Splunk聚类 与搜索统计处理每个网站总事件数与错误事件数并绘制柱状图, 其结果如图 4 所示。 图4中
19、, 上方条形图表示每个网站被访问产生的总事件数, 下方条形图表示该 网站返回错误HTTP 状态码的事件数。将上方和下方条形对比后, 发现有些网站 发生错误次数较多, 总事件数在所有事件中占有的比例不大, 这样的网站稳定 性较差, 对用户请求响应的能力不高, 其对应的数据库服务效率较低。 在用户访 问数据库时, 页面经常返回错误输出将会影响数据库的使用效率。 使用Splunk 数据统计功能, 可计算每个网站的出错概率 (页面访问无效率) , 对计算结果进行降序排列, 查询域名以识别其对应的网站, 找到不同网站所代 表的数据库。 在对域名进行查询的过程中, 有些域名不可访问, 只列出可以查询 的部
20、分域名以及其对应的网站, 如表3所示。 根据结果以及统计分析可知, 在中文全文数据库中, 中国知网的部分子网站、 超 星数字图书馆、 中国人民大学复印报刊资料全文数据库以及重庆维普中文期刊全 文数据库等数据库返回错误状态码的概率较大;在英文全文数据库中, IOP英国 物理学会数据库、APS 美国物理学会数据库以及 ASME美国机械工程师学会数据 库的某些功能性网站返回错误状态码的概率较大。 这些数据库的稳定性一般, 服 务效率不高。 4.2 请求未成功流量分布分析 4.2.1 网站错误 HTTP 状态比例分布 从网站返回错误事件数可知, 所有域名中http:/ 产生的错误流 量最多, 为了对网
21、站的不同错误 HTTP状态码进行统计, 使用Splunk 对域名中 http:/ 产生的错误事件进行深入细分并用饼状图表示, 结果如 图5所示。 表3 域名出错率及对应网站名称 下载原表 图4 网站总事件数与返回错误 HTTP状态事件数对比图 下载原图 根据图5可知, 在影响该页面的错误中, 404 错误产生的流量最多, 500、502、 504、906错误也在不同程度上影响了网站运行。同时, 也存在少量 403、408错 误。从HTTP状态码可知:服务器不能找到用户请求资源的问题是影响 http:/ 正常运行的主要原因, 服务器遇到错误或作为网关、代 理无法从上游服务器收到有效响应或请求等问
22、题, 也不同程度地干扰了用户获 取资源。该网站也会产生服务器拒绝请求或请求超时等问题。 图5 http:/ 错误HTTP状态码比例分布图 下载原图 4.2.2 网站HTTP 错误状态码监测 因为http:/ 产生的错误流量最多, 使用Splunk对域名中 http:/ 产生的错误事件进行监测分析, 把错误事件按照日期对 该网站进行监测分析, 处理结果如图6和图 7所示。 观察图6和图7可知一周7天内不同错误状态码在每天发生的次数, 图中显示产 生错误的状态码分别为 403、404、408、500、502、503、504、906, 与页面访 问无效率的错误状态种类基本相符。 在图 6中, 404
23、错误明显多于其他错误;408、 502、 504、 906错误在一周内也频繁发生;500 错误在6月1日和2日频繁发生过, 在随后5天内没有再发生过;503错误在6月 3日、4日、5日这3天发生, 相对 频率较低;一周内403 错误发生频率较低。 分析可知, 在6月1日至7日的一周内, 服务器端经常不能找到用户请求的资源, 而服务器请求超时、 服务器作为网关或代理, 从上游服务器收到无效响应或没有 及时收到请求的问题在一周内也频繁发生;在 6月1日、2日, 服务器因遇到错 误而无法完成用户请求的情况多次发生, 但在随后5天没有发生这种情况;6月3 日、4 日、5日这3 天, 服务器由于过载或停
24、机维护出现暂时无法使用的情况; 一周内服务器拒绝请求的情况较少。 通过监测请求未成功的流量, 可以根据不同错误情况对网站进行及时维护, 改 进图书馆数据库的服务效率, 提高用户的满意度。 4.3 数据库服务效率仪表盘及分析 图6 http:/ 每日请求未成功流量监测条形图 下载原图 图7 http:/ 每日请求未成功流量监测区域图 下载原图 将以上可视化结果综合起来, 可绘制出我馆数据库服务效率仪表盘, 如图8所 示。 从仪表盘数据分析可知: (1) 根据网站访问量以及返回错误事件数可知, 全校师生对中国知网 (CNKI) 的使用频率占据绝对优势, 但与访问量成正比的是网站的出错率, 影响了用
25、户 对数据库的使用体验和效果。 (2) 由访问量仪表盘可以看出, 用户对网站的访问量呈指数下降。 这说明除了中 国知网、Web of Science、万方数据库等经常被用户访问的数据库外, 其他一些 数据库的使用量相对较少。 (3) 由网站总事件数与返回错误状态事件数的对比可知, 有些数据库的页面不 稳定, 用户访问过程中频频返回错误信息。 相对于中文全文数据库, 英文全文数 据库具有更好的稳定性, 网站出错率较低。 5 提高数据库资源网站服务效率的措施 5.1 合理购买并发用户的限制 数据库使用效率受到并发用户数的限制。 并发用户数是指恰好在同一时刻向数据 库提交数据访问请求的用户数量。 在
26、开发设计数据库时, 为保证在并发操作时用 户能够顺利访问数据库, 设计者要设计出应对并发访问的管理程序8。并发用 户数的高低限定设置取决于购买数据库资源支付的价格高低, 订户单位可以根 据本单位使用数据库的规模来确定购买相应的并发用户数限制9。分析不同数 据库的用户访问行为, 计算得出合理的并发用户数, 合理购买并发用户数量, 在一定程度上可以解决访问有效性低、访问冲突或获取资源失败等问题。 5.2 放弃或减少购买使用效率低或访问有效性低的数据库 使用本文的可视化分析方案将有助于发现更多几乎不被使用的数据库。 同时, 也 会发现有些网站的返回错误数和总事件数相同, 这说明该网页一旦被访问就会
27、出现错误。 对于经常出现上述问题的数据库, 图书馆管理人员应充分重视, 找出 数据库访问无效的原因, 并通过技术改进提升数据库的有效连接。 对于个别使用 效率低或访问有效性难以改善的数据库建议停止购买。 5.3 改进 VPN 等远程访问技术 由于图书馆数据库存在远程用户, 需要通过提高远程访问技术为校外访问建立 更为安全、稳定的访问服务。建立更多校外访问图书馆数据库资源的渠道, 提高 图书馆数据库的使用效率。 5.4 根据用户的兴趣领域引进相关数据库 用不同的分析方法挖掘用户所感兴趣的学术领域, 综合得出热门学科及相关研 究领域, 引进相关领域数据库资源, 提高图书馆经费使用效率。 5.5 及
28、时更新数据库链接 当网页URL生成规则改变、网页文件更名或移动位置、导入链接拼写错误时, 会 导致原来的URL地址无法访问, 此时网站会返回 404状态码。 网站中资源链接更 新不及时会导致用户需求的资源不能被成功返回, 这是数据库频繁发生 404错 误的原因。网站管理员及程序员应周全考虑 URL的书写并及时更新数据库链接, 以降低404错误的发生概率。 图8 数据库服务效率仪表盘 下载原图 5.6 建立合理的网站防护措施 要对易出现的错误进行预测, 并建立合理的网站防护措施。 本文中描述的网站监 测方案可以对网站进行实时监控。 对不同时段网站发生的错误进行分析, 结合用 户访问行为, 可发现
29、网站发生错误的规律性。 对网站在下一阶段可能发生的错误 进行预测, 及时建立有效的网站防护措施, 从而提高数据库的访问效率。 6 结语 本文使用大数据分析软件 Splunk对我馆的数据库资源网站访问日志进行了分析 挖掘, 从中找出了访问有效性较低的数据库资源网站, 通过深入分析这些资源 网站请求未成功的访问信息以及对不同时间段发生的 HTTP错误的监测, 找出了 影响数据库访问效率的因素及存在的问题, 提出了对数据库资源网站改进的建 议及访问方式的管理措施, 以期提高用户的满意度。 参考文献 1段敏敏.高校图书馆电子资源利用现状探析J.兰州教育学院学报, 2015, 30 (9) :57-58
30、;118. 2师晓青.“并发用户数”限制下的数据库利用效率分析J.图书馆学研究, 2009 (6) :21-23. 3Peter Zadrozny, Raghu Kodali.Big Data Analytics Using SplunkM.Berkeley:Apress, 2013:128. 4雷东升, 郭振英.基于 EZproxy 日志的电子资源异常访问行为研究J.现代 情报, 2016 (7) :101-106. 5王建冬, 王继民.基于日志挖掘的高校用户期刊数据库检索行为研究J.北 京大学学报 (自然科学版) , 2012, 48 (1) :29-36. 6程思祥, 雷鸣.基于高校图书馆 Web日志挖掘的分析与研究J.图书馆学刊, 2010 (5) :88-90. 7王伟.Web挖掘技术及其在互联网中的应用研究D.济南:山东大学, 2013. 8陈春阳.高校图书馆网站读者访问状况计量统计初探J.图书馆杂志, 2005 (11) :39-41. 9李瑞芬, 赵美泽, 马爱芳.我国高校校外访问图书馆电子资源服务现状的调 查与建议:以“211 工程”院校为例J.情报理论与实践, 2007 (3) :366-368.