zoukankan      html  css  js  c++  java
  • docker容器日志收集方案(方案四,目前使用的方案)

    先看数据流图,然后一一给大家解释

    这个方案是将日志直接从应用代码中将日志输出到redis中(注意,是应用直接连接redis进行日志输出),redis充当一个缓存中间件有一定的缓存能力,不过有限,因为使用的是内存,内存使用完了就会出现阻塞失败等现象从而导致日志丢失。

    接下来logstash从redis中读取日志然后批量推送ES,logstash有一定的堆积能力,可以控制线程以及批量推送ES日志数量,不过不会像filebeat有感知压力的功能。

    微服务应用对redis的链接为弱引用,成功失败都无所谓。

    这个方案中中间任意环节出问题都会导致日志输出问题。

    而且可能会造成redis-logstash-ES整个链路瘫痪

    因为redis和logstash堆积能力实在有限,如果将中间链路环节使用其他中间件会好的多。

    这个方案的优点就是在logback.xml文件配置好之后什么都不用管,直接去查日志就可以了,性能跟得上redis2GB内存1天处理1.5亿条日志没问题。

  • 相关阅读:
    GUIX 创建工程注意事项
    VS 中bool和BOOL的区别
    git 在Windows上的应用
    rt-thread 相关网站地址
    tcp client
    VS2015 下载地址
    软件各种协议比较(GPL、AGPL、LGPL、Apache、Zlib/Libpng、BSD、MIT)
    UILabel标签
    UIbutton
    数据互转
  • 原文地址:https://www.cnblogs.com/zhyg/p/10006739.html
Copyright © 2011-2022 走看看