我安装了X-Pack、Elasticsearch 和 Logstash。Logstash 已经向 elasticsearch 报告 X-Pack 的监控部分。
现在我希望logstash通过管道到elasticsearch的任何节拍。
我在这里遵循了本指南并创建了提到的用户和角色。我还为每个具有上述权限的节拍类型创建了一个角色,并将角色分配给同一用户(例如,一个用于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"
}
}
我正在创建文件(例如 for ),但没有创建filebeat
elasticsearch 中的索引,并且 elasticsearch 中没有数据出现。
有没有人看看是不是配置有问题?几个小时以来,我一直在努力寻找错误/解决方案。
使用提到的用户直接将节拍发布到弹性搜索(没有 Logstash)正在工作(例如使用metricbeat
)。
我也没有在日志中看到奇怪的东西,只是缺少弹性的输出:
07:52:53.807 [[main]>worker0] DEBUG logstash.pipeline - 收到过滤器 {"event"=>{...}}
07:52:53.807 [[main]>worker0] DEBUG logstash.pipeline - 收到过滤器{"event"=>{...}}
07:52:53.807 [[main]>worker0] DEBUG logstash.pipeline - 收到的输出 {"event"=>{...}}
07:52:53.807 [[ main]>worker0] DEBUG logstash.pipeline - 收到的输出 {"event"=>{...}}
07:52:53.870 [[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。
07:52:53.870 [[main]>worker0] DEBUG logstash.outputs.file - 启动陈旧文件清理周期 {:files=>{"C:/temp/filebeat-2017.04.11.log"=>#>}}
07:52:53.870 [[main]>worker0] DEBUG logstash.outputs.file - 找到 0 个陈旧文件 {:inactive_files=>{}}
已经谢谢你了!
更新:
如果我更改密码,logstash 日志中会出现以下错误:
08:22:33.877 [[main]>worker1] 错误 logstash.outputs.elasticsearch - 从服务器收到错误的响应代码,但此代码不被视为可重试。请求将被丢弃 {:code=>401, :response_body=>"{\"error\":{\"root_cause\":[{\"type\":\"security_exception\",\"reason\": \"无法为 REST 请求验证用户 [beat] [/_bulk]\",\"header\":{\"WWW-Authenticate\":\"Basic realm=\\"security\\" charset=\\ "UTF-8\\"\"}}],\"type\":\"security_exception\",\"reason\":\"无法为 REST 请求验证用户 [beat] [/_bulk]\", \"header\":{\"WWW-Authenticate\":\"Basic realm=\\"security\\" charset=\\"UTF-8\\"\"}},\"status\":
所以它似乎实际上是在与elasticsearch通信,但没有创建索引。不幸的是,我在 elasticsearch 日志中没有任何声明。