jvm agent+kafka+es +kibana 的OLAP日志分析系统

jvm agent+kafka+es +kibana

    一般web业务的场景都包含了分布式,web事务的多应用间跳转,各层次间实现负载均衡等。日志分析OLAP的技术要求就需要跟踪夸web应用的多层次、多应用的链式请求,针对多应用。如果采用离线收集数据,又需要针对每个应用启动对应的日志收集实例比如 logstash的shipper或者flume 的agent等,颇为浪费;如果各个应用的日志格式或者日志路径不统一、样式复杂等,就需要针对性的去配置对应收集端的一些filter和采集路径。

jvm agent+kafka+es +kibana 的OLAP日志分析系统_第1张图片

     针对以上弊端,所以设计上采用各个应用日志采集采用主动push而非OLAP系统去pull。这样弊端应该是日志采集和主题业务的进程绑定,这个需要代码进行规避对主业务的影响。优点就是在日志格式上可以得到统一、减少io次数、避免数据聚合或者预预算次数等从而效率更优热日志推送的概念,还需要降低对代码的侵入性以及日志埋点的可控。

    综上,需要针对所有web业务应用做一个字节码的嵌入,实现指定埋点的日志收集工作。实现该操作目前有两种方式:动态编译 和 动态生成二进制字节码

jvm agent+kafka+es +kibana 的OLAP日志分析系统_第2张图片

    

    源:http://jboss-javassist.github.io/javassist/


    

    

    

       


你可能感兴趣的:(jvm agent+kafka+es +kibana 的OLAP日志分析系统)