Flink日志接入ELK
准实时的邮件直接告警很容易将公司的邮箱服务打爆,如果将日志接入ELK,一方面能实现日志的统一存储,方便后续查看追踪,另一方面也能根据特定级别的日志量进行分析,实现曲线预警。
logback将日志接入ELK,可以将日志先打到Kafka,es再费kafka的消息。
lobback原生是没有写入kafka的组件,需要使用到第三方的包 :danielwegener/logback-kafka-appender 在git上可以搜索到
因为logback-kafka-appender还依赖了其他包,方便起见,直接将源码拉下来本地把所有依赖都打到一个依赖包中。
最终编译后的包就是logback-kafka-appender-0.2.0-RC2-jar-with-dependencies.jar
将这个包添加到 flink/lib下
然后在logback配置文件增加对应的appender
因为我们的flink 启用了metrics,一直报转换number的warn
这个错误没有意义,只能另外增加一个logger过滤掉了
到这里,我们flink产生的日志都会打到kafka
消费kafka的数据,写入es并通过kibana展示相关内容,可以很方便的查看日志内容
因为kibana暂时没有接入预警功能,所以在这里我们使用grafana聚合es数据,做最后的展示和预警
到这里就大功告成了.
参考资料
https://github.com/danielwegener/logback-kafka-appender
https://www.jianshu.com/p/d1be3364f32d
https://www.aiprose.com/blog/26