zoukankan      html  css  js  c++  java
  • 关于” 记一次logback传输日志到logstash根据自定义设置动态创建ElasticSearch索引” 这篇博客相关的优化采坑记录

    之前写过一篇博客是关于记录日志的简单方式的   主要就是  应用->redis->logstash->elasticsearch 整个流程的配置方法和过程的

    https://www.cnblogs.com/zhyg/p/6994314.html

    记一次logback传输日志到logstash根据自定义设置动态创建ElasticSearch索引

    虽然我们部分线上应用使用 redis单节点 logstash 也是使用单节点基本稳定流畅并且几乎不丢日志(单节点问题就不说了肯定有单点故障之后在分析)

    上面的两个单节点 一天承受1-3亿条日志是没有问题的前提是并发量不要太大

    可是 可是  tmd我今天就遇到了

    主要分享一下解决方案

    本方案同样是两个单节点

    先说下今天发生的北京情况

    我们的业务服务有些挤压这个时候我们把处理节点线程加多 来处理更大的量可怕的是记录日志的并发量也随之加大导致单节点redis承受不了

    我最先想到的方案是重启删除aof日志 让redis不在加载日志话存日志节省内存空间,但是试了几次之后不行 并发量导致写日志实在太大一会又受不了

    然后在想就是 限制内存 但是同样不能满足 因为redis 向下传输的时候如果下游不能接受 会缓存到aof日志里面同样会吃满内存加载aof日志的

    随后就限制内存取消redis写aof日志然后重启redis ,这样果然可以 没问题虽然有可能丢失一些日志但是日志我是允许一部分丢失的

    优化后的redis占用内存明显下降

    之前内存可是沾满服务器的内存的 (redis我是用docker部署的)

    但是随之而来的是另外一个问题

    虽然吧redis压力降下来了但是 logstash压力上来了

    logstash直接给我报内存溢出

    我去 我一看 logstash才给了1G内存  

    没办法 调整一下logstash内存

     调整 jvm.options 文件内存为2g

    现在运行平稳 非常快

    但是出问题就会丢些相关日志

    希望大家出现类似现象有相关的处理思路

  • 相关阅读:
    java 各个文件夹的含义
    对称加密 & 非对称加密
    leetcode 155 最小栈
    leetcode 53 最大自序列和
    leetcode 146 LRU 缓存机制
    notebook 开启 有限元学习
    leetcode 232 用栈实现队列
    LINUX装机问题:无法使用“Ctrl+Alt+[F1~F6]”快捷键切换到终端
    JAVA笔记4-static关键字
    C++构造函数、析构函数、虚析构函数
  • 原文地址:https://www.cnblogs.com/zhyg/p/9087899.html
Copyright © 2011-2022 走看看