自动生成web服务器日志解析规则



当前web服务器的多样化使得访问日志的数据清洗变得越来越复杂,企业需要投入专业的数据清洗人员编写数据清洗规则(解析规则或者解析正则),或者需要关心web服务器访问日志的生成规则。手写web服务数据解析规则存在以下3个问题:(1)需要投入专业技术人才完成编写,成本高;(2)人工书写解析规则容易犯错;(3)解析规则生成不可复用,新的web服务需要重新编写。如果能自动生成web服务器的日志,将大大提高web服务器日志接入和数据可视化过程。基于此,袋鼠云技术小组自研了日志解析规则自动生成组件,适用于nginx、apcahe、iis服务器,同时兼容类似这三种服务器日志规范的其他web服务器。以下内容将详细说明web日志解析规则自动生成的过程,关键步骤有图片演示。

web服务器的日志往往有着一定的规范,比如nginx的日志规范如图所示,参见 这里
6a01d4710c29230de0f8b9888b9fe54b32680c39
如上设置,日志内容将严格按照设定的字段顺序打印,缺失的字段会适用占位符,如符号‘-‘,各字段被分隔符依次分开。
以下内容的基本原理是:
(1)日志取样,获取行日志分割符,把日志按照分隔符拆分;
(2)依次解析分割后的字段,生成字段类型序列;
(3)按照字段类型和顺序,依次给字段命名,生成解析规则;
以上过程的流程图如图所示:
aae5b2712d5b02eaf8366c2cdea47cc9078a7e34
样例演示
使用如上的方法生成下图所示的nginx样例日志的解析规则:
cc2b7f719083f6fbf15519b637450a71e70ccc26

首先进行字段拆分,按照字段顺序生成正则序列,如下图所示,样例日志中依次包含IP、时间、URL,数字和用户浏览器标识useragent字段;
19175745c4f0af1a498dddcaa68834924a6450e6

然后按照正则序列对字段进行映射,样例日志是nginx日志,nginx日志的默认类型和字段映射关系如下:
IP->remoteAddr,
TIMESTAMP->timeLocal,
URL->request,
NUM1->status,
NUM2->bodybytesSend,
USERAGENT->useragent;
映射之后生成默认解析规则,结果如下图所示,生成结束。
然后对生成的解析规则进行多轮检验并重复以上过程,最终生成匹配度最高的解析规则。

4104a69145361141e163044b1b31307b47b81845

结论
(1)本发明提供的web服务器访问日志解析规则自动生成的方法,配置简单,自动化生成解析规则,且适用于主流web服务器访问日志,减少人为编写解析规则的负担。
(2)本发明提供的web服务器访问日志自动解析系统,一键生成web访问日志数据透析仪表板,降低企业分析日志的难度。

(3)基于以上方法,袋鼠日志帮助企业实现了在分钟内搭建web服务器日志可视化场景。
70deba2f34572c21080c7c3906c2dbf6b0bfad5a
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值