logstash5.5 數據采入elasticsearch5.5(基於x-pack)
以采集redis日志信息為例
redis日志文件、MQ(redis)、logstash主機:10.10.83.162
logstash、elasticsearch、kibana:10.10.83.163
1、redis日志文件主機(10.10.83.162)部署logstash,目錄/etc/logstash/conf.d
自定義文件名redis_log.conf
input{ file{ path => ["/home/redis-3.2.1/log/redis_16379.log"] type => "redis-log" start_position => "beginning" } } filter{ } output{ redis { db => 1 host => ["10.10.83.162"] port => 16379 key =>"logstash-list" timeout => 30 data_type => "list" } }
通過MQ(redis)緩存日志數據
2、10.10.83.163主機部署logstash采集redis中數據,放入elasticsearch
目錄/etc/logstash/conf.d
自定義文件名redis_log.conf
input{ redis { db => 1 host => ["10.10.83.162"] port => 16379 key =>"logstash-list" timeout => 30 data_type => "list" } } output{ elasticsearch { hosts => ["10.10.83.163:9200"] index => "redis_log-%{+YYYY.MM.dd}" user => "elastic" password => "qwerasdf" } }
備注:outpu中elasticsearch的user、password是在開啟x-pack使用到的。
重要提示:如果/etc/elasticsearch/elasticsearch.yml配置文件用使用到action.auto_create_index,需要將你自定義的index加入,否則ES無法出現數據。
action.auto_create_index: .security,.monitoring*,.watches,.triggered_watches,.watcher-history*,.ml*,redis_log*
https://www.elastic.co/guide/en/elasticsearch/reference/current/installing-xpack-es.html
我之前根據官方文檔在elasticsearch安裝x-pack,配置了action.auto_create_index,沒有加入自定義的redis_log-%{+YYYY.MM.dd},數據一直沒入ES,也沒有報錯信息。
多主機配置ES集群參考http://www.cnblogs.com/shhnwangjian/p/7156066.html