将输出发送到 logstash
Sending output to logstash
我是 ELK 堆栈的新手,我很难理解它。
我在 /etc/logstash/conf.d/test.conf
下有一个测试配置,如下所示:
input {
stdin { }
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "test"
}
stdout{ }
}
当我 运行 sudo /opt/logstash/bin/logstash -f /etc/logstash/conf.d/test.conf
我在 stdout 中看到以下形式的输出:
2016-08-04T10:09:46.406Z myserver.local hello world
,但我在 Kibana 中看不到它。
我想我可能创建了错误的索引,因为我不是 100% 确定该怎么做。
我猜你看不到任何东西,因为你的时间间隔位于浏览器的右上角。可能是您的文档早于该时间间隔 - 通常是 Last 15 minutes
。将其更改为更大的间隔,例如 Today
等
在解决您的问题时,将评论和一些指针总结为答案。
使用index => "test"
是正确的方法。您还可以使用 index => "%{fieldname}"
.
将字段值作为索引名称
- 您的配置正确。我已经测试过了,你的配置是正确的。它正在
elasticsearch
. 中创建索引 test
- 您可以通过在浏览器中使用
localhost:9200/_cat/indices/?v
列出 elasticsearch
中存在的所有索引来检查您的索引是否已创建。
- 您在配置中提供的端口号应与配置
elasticsearch
的端口号相匹配。在 elasticsearch
中不配置而提供不同的端口号将不起作用。默认端口号为 9200
。
- 您可能还想检查您正在使用的端口号是否已被使用。
- 如果上述所有内容都经过验证并且在
elasticsearch
中创建了索引,那么您也应该能够在 kibana
中看到它。现在您可以继续使用索引名称 test
. 在 kibana
中创建 pattern
- 如@alpert 的回答中所述,您应该使用
timepicker
并对其进行调整以查看结果。
我是 ELK 堆栈的新手,我很难理解它。
我在 /etc/logstash/conf.d/test.conf
下有一个测试配置,如下所示:
input {
stdin { }
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "test"
}
stdout{ }
}
当我 运行 sudo /opt/logstash/bin/logstash -f /etc/logstash/conf.d/test.conf
我在 stdout 中看到以下形式的输出:
2016-08-04T10:09:46.406Z myserver.local hello world
,但我在 Kibana 中看不到它。
我想我可能创建了错误的索引,因为我不是 100% 确定该怎么做。
我猜你看不到任何东西,因为你的时间间隔位于浏览器的右上角。可能是您的文档早于该时间间隔 - 通常是 Last 15 minutes
。将其更改为更大的间隔,例如 Today
等
在解决您的问题时,将评论和一些指针总结为答案。
使用index => "test"
是正确的方法。您还可以使用 index => "%{fieldname}"
.
- 您的配置正确。我已经测试过了,你的配置是正确的。它正在
elasticsearch
. 中创建索引 - 您可以通过在浏览器中使用
localhost:9200/_cat/indices/?v
列出elasticsearch
中存在的所有索引来检查您的索引是否已创建。 - 您在配置中提供的端口号应与配置
elasticsearch
的端口号相匹配。在elasticsearch
中不配置而提供不同的端口号将不起作用。默认端口号为9200
。 - 您可能还想检查您正在使用的端口号是否已被使用。
- 如果上述所有内容都经过验证并且在
elasticsearch
中创建了索引,那么您也应该能够在kibana
中看到它。现在您可以继续使用索引名称test
. 在 - 如@alpert 的回答中所述,您应该使用
timepicker
并对其进行调整以查看结果。
test
kibana
中创建 pattern