python logging定制logstash的json日志格式

最近一直在折腾日志的收集,现在算是收尾了。  写一篇算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里面。


1 Response

  1. 2016年10月9日 / 下午6:31

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

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">