今天是12-24号,又一个平安夜,祝大家赚多多钱, 泡更美的妹子.  


正题,

今天朋友问我关于elk日志过滤的问题。java程序虽然会写大量的日志(包括垃圾日志) .   但为了精简数据需要logstash agent做日志的过滤,也就是说过滤掉不需要的日志. 


文章写的不是很严谨,欢迎来喷,另外该文后续有更新的,请到原文地址查看更新. 

http://xiaorui.cc/2015/12/24/%E9%80%9A%E8%BF%87logstash-filter%E8%BF%87%E6%BB%A4%E5%B1%8F%E8%94%BD%E4%B8%8D%E9%9C%80%E8%A6%81%E7%9A%84%E6%97%A5%E5%BF%97/

下面是解决过滤屏蔽日志的logstash配置文件.

写入配置文件后,我们开始测试:

首先在客户端测试下.  为什么要和xiaorui.cc这字符串较劲?  我想大家注意到我上面filter配置有个 =~ “^xiaorui.cc” .    只有当日志是xiaorui.cc开头的才会drop屏蔽.

[ root@bj-buzz-dev01:/data/buzzMaster {extractor} ]$ echo “1xiaorui.cc” >>extractor.log
[ root@bj-buzz-dev01:/data/buzzMaster {extractor} ]$ echo “blog.xiaorui.cc” >>extractor.log
[ root@bj-buzz-dev01:/data/buzzMaster {extractor} ]$ echo “xiaorui.cc” >>extractor.log
[ root@bj-buzz-dev01:/data/buzzMaster {extractor} ]$ 

我们再看下logstash server端的反应.  

[ root@bj-buzz-dev01:/data/buzzMaster {extractor} ]$ /usr/local/logstash-1.4.2/bin/logstash -f conf/agent.conf

{
       ”message” => “1xiaorui.cc”,
      “@version” => “1″,
    “@timestamp” => “2015-12-24T07:45:58.099Z”,
          “type” => “producer”,
          “host” => “bj-buzz-dev01″,
          “path” => “/data/buzzMaster/extractor.log”
}

{
       ”message” => “blog.xiaorui.cc”,
      “@version” => “1″,
    “@timestamp” => “2015-12-24T07:46:12.117Z”,
          “type” => “producer”,
          “host” => “bj-buzz-dev01″,
          “path” => “/data/buzzMaster/extractor.log”
}

通过日志我们可以分析确定drop起到效果了.  需要注意的是在logstash里所有的日志都会放入message里. 

logstash filter还可以根据日志的级别进行drop

如果你有个更加奇特的需求,上面的需求是过滤屏蔽不需要的日志,那如果你想抽样?要部分的随机日志. filter percentage有个百分比抽样参数. 

filter {
  if [loglevel] == “debug” {
    drop {
      percentage => 40
    }
  }
}

另外可以增加字段.

filter {
  drop {
    add_field => { “foo_%{somefield}” => “Hello world, from %{host}” }
  }
}

我们可以通过filter删除指定字段. 

filter {
  drop {
    remove_field => [ "foo_%{somefield}" ]
  }
}

结论,  logstash的filter插件还是很多的.



对Python及运维开发感兴趣的朋友可以加QQ群 : 478476595 !!!
{ 2000人qq大群内有各厂大牛,常组织线上分享及沙龙,对高性能及分布式场景感兴趣同学欢迎加入该QQ群 }

另外如果大家觉得文章对你有些作用!   帮忙点击广告. 一来能刺激我写博客的欲望,二来好维护云主机的费用.
如果想赏钱,可以用微信扫描下面的二维码. 另外再次标注博客原地址  xiaorui.cc  ……   感谢!
暂无相关产品