日志存储系统的常见技术方案有两种。 一种是log4j/logback mongodb方法,另一种是基于ELK的日志存储系统。
日志通常存储在数据库和文件系统中。 日志数据必须与生产正式库分开存储。 否则,会影响正式库的动作,有危险性。 为了防止日志存储性能问题,还可以考虑稍后以异步消息队列格式进行存储。
详细说明。
1 .方便的日志保存方式log4j mongodb
1 )安装和配置概述
需要部署的jar包为mongo Java驱动程序、log4j(1.2.16或更高版本)和log4mongo-java,通过log4j.properties属性文件展开log4j可以直接将数据写入mongodb。
2 )分析和查看日志
可以在名为mongovision的web客户端上查看和分析日志。 mongovision使用extjs作为前端,体验良好,需要java7以上版本。
2 .基于elk的日志系统
elk=elasticsearchlogstashkibana
日志数据流如下: APP应用程序将日志放在本地文件中,部署到每个服务的文件beat收集日志并将日志发送到日志状态,日志状态对日志执行处理分析等操作; 然后,将处理后的Json对象传递给ElasticSearch,落地进行索引处理; 最后通过Kibana提供web界面,查看日志等。
如果日志数据流特别大,LogStash会导致交通堵塞。 在这种情况下,可以使用消息队列(如kafka )进行缓冲。 新的进程包括:
------------- -请参阅
PS :请关注公众号' Devin说'。 有关Java的技术知识将不定期更新。
------------- -请参阅