我有一个elasticsearch实例,它根据我的正则表达式模式解析我的日志文件,该模式从日志文件中获取日期。然后,日期应该用作弹性搜索目的的索引模式。这是它出错的地方。我的logstash-pipeline-config-file看起来如下:
input {
beats {
port => "5044"
}
}
filter {
grok {
match => { "message" => "%{LOGGERLEVEL:log}%{PIPE:k}%{TIMESTAMP_ISO8601:datetime}%{GREEDYDATA:data}"}
}
date {
match => ["datetime", "ISO8601"]
timezone => "Europe/Helsinki"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
}
}
LOGGERLEVEL和PIPE是用户定义的正则表达式。此版本按原样解析日志,但它将当天的前两个小时编入索引。如果我按如下方式更改配置文件,elasticsearch将完全忽略前两个小时:
input {
beats {
port => "5044"
}
}
filter {
grok {
match => { "message" => "%{LOGGERLEVEL:log}%{PIPE:k}%{TIMESTAMP_ISO8601:datetime}%{GREEDYDATA:data}"}
}
date {
match => ["datetime", "ISO8601"]
timezone => "Europe/London"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
}
}
我应该如何配置我的管道,哪一天将作为一个整体索引,并在与日志文件中找到的日期相同的索引下?
答案 0 :(得分:0)
解决了这个问题。使用kibana,转到管理层 - >高级设置并将dateFormat:tz更改为所需的格式。在我的情况下,我必须使用第二种配置,并从kibana-settings中选择Europe / London。