身安不如心安,屋宽不如心宽 。

Elasticsearch、Logstash安装x-pack后,logstash发送数据给ES,ES问什么接收不到?

Elasticsearch | 作者 xinian | 发布于2018年02月08日 | 阅读数:4817

logstash的输出配置:
elasticsearch{
hosts => "localhost"
index => "system2_log"
document_type => "log"
template => "G:/elasticsearch/logstash-5.5.0/config/templates/log_template.json"
template_name => "log_template"
template_overwrite => false
user => "elastic"
password => "changeme"
}
这样配了ES的用户名密码,在Logstash的控制台上能输出,但是ES接收不到。
 
 
 
 
 
 
已邀请:

xinian

赞同来自:

这样子配了,怎么不起作用?

xinian

赞同来自:

已解决,原因是在Elasticsearch、Kibana、Logstash都安装x-pack后,在elasticsearch.yml中配置过让Elasticsearch自动创建索引的配置项,如下:
action.auto_create_index: .security,.monitoring*,.watches,.triggered_watches,.watcher-history*,.ml*,
这个配置项是自动创建x-pack监控的索引名格式,但是使用Logstash将数据发送给Elasticsearch时,也是需要Elasticsearch自动创建索引的,但是在这个配置项中没有配置Logstash创建的索引名格式,所以,我就出现了我所提出的这个问题。
解决办法就是将Logstash插入数据所要创建的索引名格式也添加到 action.auto_create_index 这个配置相中:
action.auto_create_index: .security,.monitoring*,.watches,.triggered_watches,.watcher-history*,.ml*,*_log
,*_log是我的索引名格式。
这也算是一个坑吧,当没有配置这个自动创建索引的配置项时,默认是可以自动创建任何索引的,谁知道,当配置了这个配置项后,自动创建索引就局限在了这个配置项中所可以匹配的这几个索引名之间,这就导致了当你不知道这个情况的时候,你认为添加了这个配置项后,还可以像默认的那样。出现不能自动插入其他索引的时候,就一脸懵逼了!

要回复问题请先登录注册