搞了一下午一直出错,最重要的事情说在最开始,版本一定要一致,不然会有很多版本引发的问题,而且还是很奇怪的问题。
首先采用的是filebeat作为日志采集工具,用它的原因是因为它可以说是logstash的精简版,是后来logstash用go重新写的一个版本,但它没有过滤的功能,而logstash需要jvm即java环境对内存资源占用较大,用filebeat可以极大节省资源;
用filebeat采集到日志后输出到logstash进行过滤,当然你也可以在它们之间加一层消息队列,比如kafka,作用是可以做一个持久化,这里是没有用到kafka的;
logstash过滤完写入elasticsearch,然后用es的可视化前端框架kibana做可视化数据。这就是经典的elk加上filebeat了。
我读取的是nginx的log文件,然后用kibana的discover做index pattern,对同一类别的日志做过滤。
也可以使用dev tool做es的语法查询