我想麋鹿堆栈,到目前为止好:)ElasticSearch - 不设定日期型
我已经跑到怪现状regardgin的解析日期字段,并把它发送到ElasticSearch。我设法解析这个字段,它真的是在ElasticSearch中创建的,但它总是以字符串结尾。 我尝试了许多不同的组合。我也尝试了许多不同的东西,人们建议,但我仍然失败。
这是我的设置:
是来自Filebeat的字符串:
[2017年4月26日九时40分33秒] security.DEBUG:存储安全令牌的会话。 {“key”:“securitysecured_area”} []
[2017-04-26 09:50:42] request.INFO:匹配的路线“home_logged_in”。 {“route_parameters”:{“controller”:“AppBundle \ Controller \ HomeLoggedInController :: showAction”,“locale”:“de”,“route”:“homelogged_in”},“request_uri”:“https://qa.someserver.de/de/home”} []
的logstash分析部:
if [@metadata][type] == "feprod" or [@metadata][type] == "feqa"{
grok {
match => { "message" => "%{TIMESTAMP_ISO8601:logdate}" }
}
date {
#timezone => "Europe/Berlin"
match => [ "logdate", "yyyy-MM-dd HH:mm:ss"]
}
}
根据该文件,我@timestamp场应与LOGDATE值覆盖。但它没有发生。
在ElasticSearch中,我可以看到字段logdate正在创建,它的值为2017-04-26 09:40:33,但它的类型是字符串。
我总是从零开始创建索引,我先删除它并让logstash填充它。
我需要@timestamp覆盖实际日期(而不是它被编入索引的日期),或者logdate字段是使用日期类型创建的。两者都很好
[@metadata] [type]该类型正在设置与filebeat,所以我知道什么索引来存储日志。感谢您的解释:) –
根据这个讨论:https://discuss.elastic.co/t/logstash-input-beat-not-receiving-metadata-field/40365/3它似乎没有filebeat @metadata字段超过logstash – Alcanzar
在Filebeat中: - input_type:log path:mylog。日志 document_type:feprod 发布feprod作为类型,我在Logstash中使用它来决定存储数据的索引 –