elasticsearch Logstash“;没有此类索引错误“;使用X-Pack写入Elasticsearch时
我已经设置了一个版本5 ELK堆栈(带有X-Pack),并且我使用了下面的logstash conf文件,它似乎可以正确解析访问日志(正如我在输出中看到的): 但是,elasticsearch输出返回404(“无此类索引”)错误我所做的任何操作,除非我尝试使用以下curl命令手动创建索引:elasticsearch Logstash“;没有此类索引错误“;使用X-Pack写入Elasticsearch时,elasticsearch,logstash,elastic-stack,elasticsearch,Logstash,Elastic Stack,我已经设置了一个版本5 ELK堆栈(带有X-Pack),并且我使用了下面的logstash conf文件,它似乎可以正确解析访问日志(正如我在输出中看到的): 但是,elasticsearch输出返回404(“无此类索引”)错误我所做的任何操作,除非我尝试使用以下curl命令手动创建索引: curl -XPUT 'elastic:******@localhost:9200/logstash-2016.09.28 [2016-11-02T17:30:09535][WARN][logstash.o
curl -XPUT 'elastic:******@localhost:9200/logstash-2016.09.28
[2016-11-02T17:30:09535][WARN][logstash.outputs.elasticsearch]
失败的操作。{:status=>404,:action=>index,{:_id=>nil,
:_index=>“logstash-2016.09.28”,:_type=>“apache\u访问”,
:_routing=>nil},2016-09-28011:50:32.000Z mypchost 10.2.33.155--
[28/Sep/2016:14:50:32+0300]“GET/MyApp/page HTTP/1.1”302-
“”“Mozilla/5.0(Windows NT 6.1;
WOW64;rv:35.0)Gecko/20100101 Firefox/35.0“],
:response=>{“index”=>{“u index”=>“logstash-2016.09.28”,
“\u type”=>apache\u access”、“\u id”=>nil、“status”=>404、,
“错误”=>{“类型”=>“未找到索引”\u异常”,“原因”=>“无此类错误”
索引“,”资源.type“=>”索引\u表达式“,
“resource.id”=>“logstash-2016.09.28”,“index_uuid”=>“na”,
“索引”=>“logstash-2016.09.28”}
不自动创建索引会有什么问题
编辑:
从ES卸载X-Pack并重新运行日志存储完成了任务,即创建了索引。
现在,我需要找出X-Pack的问题所在。尝试将您的
logstash
输出修改为此,然后尝试重新索引它。我可以看到您没有index参数,您需要logstash
文件来创建索引
如果使用logstash
对其进行索引,则不必单独运行CURL命令。这将自动创建索引
output {
elasticsearch {
index => "yourindex"
}
stdout { codec => rubydebug }
}
显然,它将抛出该错误,因为尚未创建索引。使用此CURL
CURL'yourhost:9200/\u cat/index?v'
运行logstash
文件后,检查是否已创建索引。上面的命令将列出所有索引 最后,问题是由我在ELK安装X-Pack包时添加的elasticsearch.yml中的以下行引起的:
action.auto_create_index: .security,.monitoring*,.watches,.triggered_watches,.watcher-history*
不幸的是,我仍然得到:`“id”=>nil,“status”=>404,“error”=>{“type”=>“index\u not\u found\u exception”,“reason”=>“no-this index”,“resource.type”=>“I-ndex\u expression”,“resource.id”=>“myindex”,“index”=>“myindex”}`是的,我正在使用相同的logstash配置,不幸的是,它没有创建索引(基于我用curl得到的索引列表)。hosts变量应该是一个数组,不是吗?是的,ES正在运行,但不打印任何“创建索引”消息。@trikelef除了上述更改之外,您使用的是相同的日志存储权限?对不起,我更新了
主机,因为您使用的是本地主机和默认端口。您不需要操作和主机参数。您是通过运行日志存储文件来创建索引的,对吗?您确定elasticsearch已启动并运行吗?@trikelef我更新了输出。检查仅使用索引参数运行。应该可以。检查并让我知道。它是否有效?再次,我仅使用索引操作和ES凭据重新运行日志存储,但运气不佳。因此,在配置中注释掉这一行,然后重新启动elasticsearch是否有效?
action.auto_create_index: .security,.monitoring*,.watches,.triggered_watches,.watcher-history*