zoukankan      html  css  js  c++  java
  • 日志存储系统常用技术方案介绍

          日志存储系统常用技术方案有两种:一是log4j/logback+mongodb的方式,一种是基于ELK的日志存储系统。

          日志一般存储在数据库和文件系统中。日志数据要和生产正式库分开存储,否则会影响正式库的运行,带来隐患。另外,为了防止日志存储性能问题,后期可以考虑采用异步的消息队列形式进行存储。

          下面详细讲解。

      1.便捷的日志存储方式log4j+mongodb

      1)安装和配置简介

      需要引入的jar包有:Mongo Java driver、Log4J(1.2.16以上版本)、log4mongo-java,通过log4j.properties属性文件配置,整合log4j和mongodb。log4j可直接写数据到mongodb中。

      2)日志分析和查看

      可通过mongovision这个web客户端进行日志的查看和分析。mongovision,使用extjs作为前端,体验较好,需要java7及以上版本。

      2.基于ELK的日志系统

      ELK=ElasticSearch+LogStash+Kibana

      日志数据流如下:应用将日志落地在本地文件,部署在每台服务器上的FileBeat负责收集日志,然后将日志发送给LogStash;LogStash对日志进行处理解析等操作;然后将处理后的Json对象传递给ElasticSearch,进行落地并进行索引处理;最后通过Kibana来提供web界面,来查看日志等。

      对于日志数据流特别大的情况,LogStash会造成拥堵,这个时候可以使用消息队列来进行缓冲,比如kafka。新的流程如下:

    --------------------------------------------------------------------

    PS: 欢迎关注公众号"Devin说",会不定期更新Java相关技术知识。

    --------------------------------------------------------------------

  • 相关阅读:
    confd + Nacos | 无代码侵入的配置变更管理
    从0 开始手写一个 RPC 框架,轻松搞定!
    MVC Razor模板引擎 @RenderBody、@RenderPage、@RenderSection及Html.RenderPartial、Html.RenderAction
    ASP.NET/C# Razor视图引擎深入浅出
    建立Web Service 接口及调用
    浅谈对Jquery+JSON+WebService的使用小结
    JSON--WEB SERVICE
    C#中对虚拟属性和抽象属性的重写有什么异同
    C# virtual 函数
    sql server2008用ip远程连接
  • 原文地址:https://www.cnblogs.com/devinzhang/p/6837446.html
Copyright © 2011-2022 走看看