最近一直在折腾日志的收集,现在算是收尾了。  写一篇算python优化logstash的方案。 


其实大家都知道logstash调用grok来解析日志的话,是要消耗cpu的成本的,毕竟是需要正则的匹配的。 

根据logstash调优的方案,咱们可以预先生成json的格式。 我这边基本是python的程序,怎么搞尼 ? 

有两种方法,第一种方法是生成json后,直接打入logstash的端口。 还有一种是生成json写入文件,让logstash做tail操作的时候,把一行的日志数据直接载入json就可以了。

python下的日志调试用得时logging,改成json也是很好改得。  另外不少老外已经考虑到这样的需求,已经做了python logstash的模块。 

python-logstash自带了amqp的方案  

不管怎么说,最后生成的格式是这样就可以了。 

我这里简单提一下,这个模块用的不是很满意,我在python下把日志打成了json字符串,我原本以为会像grok那样,在Es里面,我的这条日志是个字段的结构,而不是这个日志都在message里面….  我想大家应该明白了我的意思,这样很是不容易在kibana的搜索…

在kibana搜索,我经常上  source:xxx AND level:INFO     结果正像上面描述的那样,整条日志,都在@message里面。




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

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

1则回应给“python logging定制logstash的json日志格式”

  1. 说道:

    亲 看下这个http://kibana.logstash.es/content/logstash/plugins/filter/json.html可以直接存的,使用logstash的json模块 就可以不再message中了

发表评论