2017-04-11 94 views
0

我有一个安装X-Pack,Elasticsearch & Logstash。 Logstash正在向elasticsearch报告X-Pack的监控部分。X-Pack&Logstash - 没有输出到elasticsearch


现在我想让logstash通过任何来自管道的节拍来弹性搜索。


我遵循这个指南here并创建了用户提到角色&。 我还为每个具有上述权限并使用here中的信息将角色分配给同一用户(例如filebeat-*)的节拍类型创建了一个角色。

logstash.conf看起来如下:

input { 
    beats { 
    port => 5044 
    } 
} 
output { 
    elasticsearch { 
    hosts => ["http://localhost:9200"] 
    index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" 
    document_type => "%{[@metadata][type]}" 
    user => "user" 
    password => "pass-word" 
} 
    file { 
    path => "C:\temp\%{[@metadata][beat]}-%{+YYYY.MM.dd}.log" 
} 
} 

我正在创建的文件(例如,用于filebeat),但在elasticsearch的指数不会创建没有数据出现在elasticsearch。

有没有人看到配置中是否有问题?我正在努力寻找错误/解决方案。

使用提到的用户正在工作(例如使用metricbeat),直接发布到elasticsearch(不含Logstash),直接发送到elasticsearch。

我也没有看到一些奇怪的日志中,只需将输出到弹性丢失:

07:52:53.807 [主]> worker0] DEBUG logstash.pipeline - 容纳的过滤器{”事件“=> {...}}
07:52:53.807 [[main]> worker0] DEBUG logstash.pipeline - filter received {”event“=> {...}}
07:52:53.807 [[main]> worker0] DEBUG logstash.pipeline - output received {“event”=> {...}}
07:52:53.807 [[main]> worker0] DEBUG logstash.pipeline - output received {“event “=> {...}}
07:52:53.8 70 [[main]> worker0] DEBUG logstash.outputs.file - 将文件写入文件的文件。 {:filename =>“C:/temp/filebeat-2017.04.11.log”}
07:52:53.870 [[main]> worker0] DEBUG logstash.outputs.file - 将事件写入文件的文件。 {:filename =>“C:/temp/filebeat-2017.04.11.log”}
07:52:53.870 [[main]> worker0] INFO logstash.outputs.file - 打开文件{:path =>“C :/temp/filebeat-2017.04.11.log“}
07:52:53.870 [[main]> worker0] DEBUG logstash.outputs.file - 启动过时文件cleanup cycle {:files => {”C:\ temp /filebeat-2017.04.11.log“=>#>}}
07:52:53.870 [[main]> worker0] DEBUG logstash.outputs.file - 找到0个陈旧文件{:inactive_files => {}}


谢谢!


UPDATE:

如果我更改了密码,我得到的logstash日志中出现以下错误:

08:22:33.877 [主]> worker1] ERROR logstash.outputs.elasticsearch - 从服务器收到错误的响应代码,但此代码不被视为可重试。请求将被丢弃{:code => 401,:response_body =>“{\”error \“:{\”root_cause \“:[{\”type \“:\”security_exception \“,\”reason \“: \“无法为REST请求[/ _bulk] \”,\“标题\”验证用户[节拍]:{\“WWW-Authenticate \”:\“Basic realm = \\”security \\“charset = \\ “UTF-8 \\”\“}}],\”type \“:\”security_exception \“,\”reason \“:\”无法为REST请求[/ _bulk] \“认证用户[节拍] \“header \”:{\“WWW-Authenticate \”:\“Basic realm = \\”security \\“charset = \\”UTF-8 \\“\”}},\“status \”:401 }“::request_body =>”{\“index \”:{\“_ id \”:null,\“_index \”

所以它似乎实际上是与elasticsearch进行通信,得到创建。不幸的是,我没有在elasticsearch日志中发表声明。

回答

0

我自己找到答案,对于那些挣扎着类似问题的人:

我在我的elasticsearch.yml关于action.auto_create_index有一些奇怪的设置,阻止索引被创建。

将弹性搜索的日志级别更改为debug之后,在提到here的方式之后,这变得可见。

由于这些都不需要我删除它们,现在一切正常。