我想使用logstash conf文件将来自不同位置的日志发送到elasticsearch。
input {
file
{
path => "C:/Users/611166850/Desktop/logstash-5.0.2/logstash-5.0.2/logs/logs/ce.log"
type => "CE"
start_position => "beginning"
}
file
{
path => "C:/Users/611166850/Desktop/logstash-5.0.2/logstash-5.0.2/logs/logs/spovp.log"
type => "SP"
start_position => "beginning"
}
file
{
path => "C:/Users/611166850/Desktop/logstash-5.0.2/logstash-5.0.2/logs/logs/ovpportal_log"
type => "OVP"
start_position => "beginning"
}
}
output {
elasticsearch {
action => "index"
hosts => "localhost:9200"
index => "multiple"
codec => json
workers => 1
}
}
这是我使用的配置文件,但Kibana无法识别此索引。有人可以帮忙吗
提前致谢,拉什米
答案 0 :(得分:0)
检查logstash的日志文件是否有错误。(可能您的配置文件不正确)
也可以直接搜索ES以获取首选索引,也许问题不是Kibana,并且您没有任何具有此名称的索引。
答案 1 :(得分:0)
尝试在调试模式下启动logstash以查看其中是否有任何日志。 您还可以尝试将logstash放到本地系统上的文件中,而不是直接将其发送到elasticsearch。根据您的要求取消注释
# block-1
# if "_grokparsefailure" not in [tags] {
# stdout {
# codec => rubydebug { metadata => true }
# }
# }
# block-2
# if "_grokparsefailure" not in [tags] {
# file {
# path => "/tmp/out-try1.logstash"
# }
# }
因此,通过这些方法中的任何一种,您都可以将输出输出到控制台或文件。注释_grokparsefailure部分,以防您在文件中看不到任何输出。
注意:在kibana中,默认索引在其字段中有@timestamp,因此请检查 1.如果您取消勾选创建新索引的页面上的复选框,kibana是否能够识别索引 2.如果您的日志已正确解析。如果不是,你需要使用模式匹配日志的grok过滤器或创建grok过滤器
所有弹性搜索索引都在http://elasticsearch-ip:9200/_cat/indices?v上显示(你的弹性搜索ip),所以也试试。分享你找到的东西