当前位置:   article > 正文

Filebeat新手入门(四)日志解析引入javascript_filebat 解析日志

filebat 解析日志

Filebeat新手入门(四)日志解析

这里主要讲解filebeat引入js、javascript脚本,对日志数据进行处理
需要注意的是 javaScript 目前只支持 ECMA 5.1 语法规范,超过这个范围的语法是不被支持;但是这些已经足够我们对大部分的日志进行处理了。

1、配置:
processors:

  • script:
    lang: javascript
    id: _ts //自定义
    tag: enable
    source: >
    var id = 1;
    function process(event) {
    // 在这里编写js脚本,符合js编写规范即可
    }
    2、举个栗子
    使用filebeat采集/var/log目录下的cron日志为例,并对该日志进行处理
    在这里插入图片描述
    使用符合js规范的正则表达式对日志进行解析
    在这里插入图片描述
    解析结果
    在这里插入图片描述
    其他正则可参考w3c手册https://www.w3school.com.cn/jsref/jsref_obj_regexp.asp

参考代码

      function process(event) {
         //javascript
          //获取日志数据
          var raw =  event.Get('message');
          event.Put('_raw',raw);

          //原始日志  Apr 10 15:09:19 VM-0-15-centos crontab[9867]: (root) LIST (root)

          var reg = /\w{3} \d{2} \d{2}:\d{2}:\d{2}/;//正则,匹配日志日期
          var arr = reg.exec(raw);//执行正则
          event.Put('_reg',arr[0]);//输出结果

          //匹配进程号   
          var regproId = /(?<=\[).*(?=\])/;
          var arrId = regproId.exec(raw);//执行正则
          event.Put('_regproId',arrId[0]);//输出结果
      } 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

linkedsee.com

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号