elasticsearch 如何将syslog date格式化为logstash date时间戳格式
我试图将syslog日期格式转换为kibana可以识别的日期时间戳,因为一旦日志被处理为弹性搜索,它总是以字符串的形式出现 这就是我到目前为止所尝试的
elasticsearch 如何将syslog date格式化为logstash date时间戳格式,
elasticsearch,logstash,kibana,elastic-stack,logstash-grok,
elasticsearch,Logstash,Kibana,Elastic Stack,Logstash Grok,我试图将syslog日期格式转换为kibana可以识别的日期时间戳,因为一旦日志被处理为弹性搜索,它总是以字符串的形式出现 这就是我到目前为止所尝试的 input { file { path => "C:/Elasitcity/File Destination/logs2/*.*" start_position => "beginning" sincedb_path => "NUL" } }
input {
file {
path => "C:/Elasitcity/File Destination/logs2/*.*"
start_position => "beginning"
sincedb_path => "NUL"
}
}
filter {
grok {
match => {"message" =>"%{SYSLOGTIMESTAMP:logstamp}.*POST for %{URIPATH:ServiceURI}"}
}
date {
match => [ "logstamp", "MMM dd HH:mm:ss" ]
}
}
output {
elasticsearch {
hosts => "localhost"
index => "nextgen2"
document_type => "netboading"
}
stdout {}
}
我正试图从下面的日志中提取日期
Jun 12 04:27:35 1560306455 INCOMING: information 22.244.42.41 Jun 12 04:27:22 DPPRD01 [host_services][0x80e0013a][mpgw][info] source-https(IMS_SSL_29982): trans(2797190703)[12.6.1.16]: Received HTTP/1.1 POST for /services/NHgetInternetLimitsV1 from 10.6.17.166
我只是想让elastic search确认logstamp是kibana可以用于仪表板目的的时间戳。我认为您需要这样设置目标:
date{
match => ["logstamp", "MMM dd HH:mm:ss", "ISO8601"]
timezone => "Europe/Berlin"
target => "@timestamp"
}
我认为你需要这样设定你的目标:
date{
match => ["logstamp", "MMM dd HH:mm:ss", "ISO8601"]
timezone => "Europe/Berlin"
target => "@timestamp"
}
它看起来正在工作,当尝试您的配置时,
@timestamp
获取以下值2019-06-12T02:27:35.000Z
,这相当于Jun 12 04:27:35
,您可能需要将时区参数添加到date
过滤器中,不过,在Kibana上,它似乎没有确认时间戳,并提出了一个时间戳——我拒绝了,因为我知道它将根据日志与弹性搜索集成的时间戳使用自己的时间戳。你怎么知道@timestamp得到的是这个值呢?2019-06-12T02:27:35.000Z
=Jun 12 04:27:35
。。。它本身就说明了这一点(除了时区,您可以在CEST中的某个地方设置该时区)。当尝试配置时,@timestamp
获得以下值2019-06-12T02:27:35.000Z
,这相当于Jun 12 04:27:35
,不过,您可能想在日期过滤器中添加一个时区参数。在Kibana上,它似乎没有确认时间戳,并提出了一个时间戳,我拒绝了,因为我知道它将根据日志与弹性搜索集成的时间使用自己的时间戳。你怎么知道@timestamp得到的是这个值呢?2019-06-12T02:27:35.000Z
=Jun 12 04:27:35
。。。它本身就说明了这一点(除了时区,您可以在CEST中的某个地方设置时区)