elasticsearch Kibana中的日志不按日志时间戳排序
我使用Filebeat和Logstash将日志发送到Elasticsearch。我可以在Kibana中看到我的日志,但是日志没有按照日志记录中的时间戳正确排序。 我试图为日志记录时间戳创建一个单独的字段elasticsearch Kibana中的日志不按日志时间戳排序,elasticsearch,logstash,kibana,elastic-stack,filebeat,elasticsearch,Logstash,Kibana,Elastic Stack,Filebeat,我使用Filebeat和Logstash将日志发送到Elasticsearch。我可以在Kibana中看到我的日志,但是日志没有按照日志记录中的时间戳正确排序。 我试图为日志记录时间戳创建一个单独的字段dateTime,但似乎无法按该列对Kibana中的表进行排序 有人能解释一下在这种情况下什么是解决办法吗 拍子 filebeat.prospectors: - input_type: log paths: - /var/log/app.log fields_under_root
dateTime
,但似乎无法按该列对Kibana中的表进行排序
有人能解释一下在这种情况下什么是解决办法吗
拍子
filebeat.prospectors:
- input_type: log
paths:
- /var/log/app.log
fields_under_root: true
multiline.pattern: '^[0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3}'
multiline.negate: true
multiline.match: after
registry_file: /var/lib/filebeat/registry
output.logstash:
hosts: ["host_name:5044"]
ssl.certificate_authorities: ["..."]
伐木场
input {
beats {
port => 5044
ssl => true
ssl_certificate => "..."
ssl_key => "..."
}
}
filter {
if [type] == "filebeat" {
grok {
match => { "message" => "(?<dateTime>[0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3})"}
}
}
}
output {
elasticsearch {
hosts => "elasticsearch:9200"
}
}
输入{
击败{
端口=>5044
ssl=>true
ssl_证书=>“…”
ssl_密钥=>“…”
}
}
滤器{
如果[type]=“filebeat”{
格罗克{
匹配=>{“消息”=>“(?[0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3})”
}
}
}
输出{
弹性搜索{
主机=>“elasticsearch:9200”
}
}
此功能正是为之而设计的。在grok表达式之后添加以下内容:
date {
match => [ "dateTime", "HH:mm:ss.SSS" ]
}
这将设置Kibana排序所依据的
@timestamp
字段作为该字段中的值。谢谢,但它没有覆盖@timestamp
值,它只是用实际日志时间戳创建了字段dateTime
。顺便说一句,如何将月、日和年的值添加到实际日志时间戳中?