zoukankan      html  css  js  c++  java
  • 服务器日志收集方案

    背景:程序模块部署,每个模块都有自己的日志存放到本地,当需要进行排查问题的时候,可能需要到各个服务器上去下载日志,然后进行排查,费时。

    方案:使用ELK方案,①采用flume采集日志,然后将日志存入消息队列或直接在程序中使用logback连接kafka;②使用logstash从kafka中读取数据,进行一定的处理;③logstash处理数据后进入到ElasticSearch中;

    我们这边采用的开发框架基本都是基于springboot和springcloud等一些列的框架,我们部署的程序模块会越来越多,不想每一次部署模块的时候都去加flume相关配置进行采集日志,如果到新的服务器上部署的时候还得重新安装flume,我们使用框架中的日志框架采用logback,支持与ELK的集成方案。

    架构图参考地址:https://www.cnblogs.com/wangzhuxing/p/9665905.html

    Logback+kafka+ELK的搭建参考:https://www.jianshu.com/p/d1be3364f32d,里面有详细的搭建情况,采用的springcloud可以进行服务跟踪sleuth。

    引入logback进行日志记录,引入lombok使用@Log4j注解,引入logstash-logback-encoder进行日志输出格式化为json字符串输出,引入logback-kafka-appender与kafka集成。

  • 相关阅读:
    python 输入和输出
    python 深入模块和包
    python 模块
    python 字典 注意点
    javaNIO核心概念
    redis使用bit做只有两种情况的“状态“统计(如是否在线的用户统计)
    mysqlbinlog二三事儿
    mysql在windows下的服务安装
    javassist标识符
    使用redis调用lua脚本的方式对接口进行限流
  • 原文地址:https://www.cnblogs.com/TheoryDance/p/13889106.html
Copyright © 2011-2022 走看看