首页 > 解决方案 > Grok 配置问题,试图改变字段类型 String => Date

问题描述

声望=1,这里是新人;

我使用 filebeat->logstash->elastic trio 收集日志,我的任务是解析它并使用自定义时间戳字段来创建可视化。为此,我需要将 graylogTimeStamp 的格式更改为日期,而不是字符串。 Kibana 用户界面

我假设我的时间格式不是有效的 ISO8601,如果这是问题,我可以要求我的提供商在软件上更改它。

数据明文示例:2021-09-14T06:45:11.217188

            else if [log][file][path] ==  "/example_filepath" {
  grok {
  match => { "message" => ["%{TIMESTAMP_ISO8601:graylogTimeStamp:datetime:yyyy-MM-dd'T'hh:mm:ss.SSSSSS}\|%{DATA:apiName}\|%{NUMBER:responseStatus}\|%{NUMBER:responseTime:float}"] }
        remove_field => "message"
                }
                mutate {
                        add_field => { "tag" => "APICalls" }
                }
}

注意:我尝试使用和不使用“yyyy-MM-dd'T'hh:mm:ss.SSSSSS”部分。

结果始终与纯文本相同

在阅读了一些帖子后,我确实将此部分添加到了我的配置中

            date {
                    match => [ "graylogTimeStamp", ISO8601 ]
                    target => "graylogTimeStamp"
                    }

结果几乎没有变化,我认为是因为我在这里使用默认的 ISO8601 过滤器

看来我错过了一点

标签: logstashgrok

解决方案


推荐阅读