Springboot+logback+redis集成ELK处理日志实例

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/yy756127197/article/details/78924975

一. 简介

在上一篇博客改造
地址: Springboot+logback集成ELK处理日志实例

架构图: 这里写图片描述

改变:在上一个架构中多加了层logstash和redis作为缓冲区,缓解日志很多时给业务带来的影响。

二. 配置

  1. 修改原来的logstash的配置文件
    std_std_es.conf
input {
    tcp {  
    ##host:port就是上面appender中的 destination,这里其实把logstash作为服务,开启9250端口接收logback发出的消息  
        host => "localhost"  
        port => 9601  
    #模式选择为server  
        mode => "server"  
        tags => ["tags"]  

    ##格式json  
        codec => json_lines         
    }  

} 

output {
        stdout { codec => rubydebug}
        redis {
        data_type => "list"
        key => "logstash-test-list"
        host => "127.0.0.1"
        port => 6379

        }
}

把输出地由es变成redis
关于参数请参考https://www.cnblogs.com/xing901022/p/4864690.htmlhttps://www.cnblogs.com/java-zhao/p/5886481.html

  1. 在另一个logstash中新建个配置文件
    redis_es.conf
input {
        redis {
        data_type => "list"         #类型
        key => "logstash-test-list" #队列名
        host => "127.0.0.1"         #redis地址
        port => 6379                #redis端口

        } 

} 

output {
        elasticsearch {
                hosts => "localhost:9200"               #es地址
                index => "%{[appname]}-%{+YYYY.MM.dd}"  #索引名
        }
        stdout { codec => rubydebug}                    #同时输出到控制台
}
  1. 同时启动两个logstash,运行上一篇的测试程序。verygood~~

猜你喜欢

转载自blog.csdn.net/yy756127197/article/details/78924975