使用elk收集应用日志

使用elk收集应用日志

使用redis作为broker,logstash作为indexer,收集日志进入es。

相关软件版本号

  • redis 3.0.6
  • elasticsearch 5.3.0
  • logstash 5.6.1
  • kibana 5.3.0

logstash配置

创建文件:~/test/logstash/redis2es.conf

    input{
        redis { 
            batch_count => 1
            data_type => "list"
            key => "logstash-test"
            host => "127.0.0.1"
            port => 6379
            threads => 5
        }
    }
    output{
        stdout{
            codec => json_lines
        }
        elasticsearch{
            hosts => ["127.0.0.1:9200"]
            index => "logstash-%{type}-%{+YYYY.MM.dd}"
            document_type => "%{type}"
            sniffing => true
            template_overwrite => true
        }
    }

测试

  1. 使用上述文件启动logstash,ying:logstash-5.6.1 ying$ bin/logstash -f ~/test/logstash/redis2es.conf
  2. 使用redis-cli发送数据到redis。
RPUSH logstash-test '{"name":"johnson.zheng","type":"test","say":"hello"}'
  1. logstash看到输出数据
{"name":"johnson.zheng","@version":"1","say":"hello","@timestamp":"2017-09-30T06:53:49.110Z","type":"test"}
  1. kibana中也能看到数据
使用elk收集应用日志_第1张图片
WX20170930-150244.png

后续,只需要在应用中只需要将日志写入(使用RPUSH)到redis的logstash-test中,即可将日志收集进es,使用kibana分析。

你可能感兴趣的:(使用elk收集应用日志)