【问题标题】:Defining a new timestamp in Logstash在 Logstash 中定义新的时间戳
【发布时间】:2018-11-14 14:37:23
【问题描述】:

我正在尝试在 Logstash 中定义一个新的时间戳,以便在我的 Kibana 报告中使用日志的时间戳而不是 Filebeat 时间戳。

我有以下工作,但不允许我在 Kibana 中使用日志时间戳作为时间轴:

grok {
    match => { "message" => "(?<timestamp>%{TIMESTAMP_ISO8601}) %{LOGLEVEL:loglevel} (?<class>[A-Za-z0-9$_.]+) %{NOTSPACE:method}\(%{JAVAFILE:class}:%{NONNEGINT:line}\) %{GREEDYDATA:message}$"
}

所以我这样修改它,但它不起作用:

grok {
    match => { "message" => "(?<timestamp>%{TIMESTAMP_ISO8601:tstamp}) %{LOGLEVEL:loglevel} (?<class>[A-Za-z0-9$_.]+) %{NOTSPACE:method}\(%{JAVAFILE:class}:%{NONNEGINT:line}\) %{GREEDYDATA:message}$"
}

date {
    match => ["tstamp", "TIMESTAMP_ISO8601"]
}

我尝试添加我认为是 Grok 模式中值的命名(“:tstamp”部分),我找到了here,并将其定义为日期。但是当我使用它时,我再也看不到 Kibana 中的任何数据了。

我删除了 Kibana 中的所有内容以重新开始,并删除了 Filebeat 中的“注册表”文件以使其再次流式传输日志文件。

我错过了什么?

编辑:我能够通过更改过滤器来恢复数据流:

grok {
    match => { "message" => "%{TIMESTAMP_ISO8601:tstamp} %{LOGLEVEL:loglevel} (?<class>[A-Za-z0-9$_.]+) %{NOTSPACE:method}\(%{JAVAFILE:class}:%{NONNEGINT:line}\) %{GREEDYDATA:message}$" }
}

date {
    match => ["tstamp", "ISO8601"]
}

但我仍然只将@timestamp 视为时间过滤器。 tstamp 仍被视为字符串。没看懂……

【问题讨论】:

    标签: logging timestamp logstash elastic-stack logstash-grok


    【解决方案1】:

    我所做的实际上有两个明显的问题。

    当我指出我对问题的编辑时,日期过滤器是错误的。我不得不使用

    match => ["tstamp", "ISO8601"]
    

    "ISO8601" 代替"TIMESTAMP_ISO8601"

    那时,事情实际上正在运行,即使不是很明显,因为默认情况下,Logstash 会用日期过滤器的结果覆盖 @timestamp 的值。为了避免这种情况,我不得不使用target 选项:

    target => "logdate"
    

    我现在在 Kibana 中有一个 logdate 字段,类型为 date,我可以在创建模式时选择它作为时间过滤器。

    所以我在 Logstash 中的最终过滤器看起来像这样:

    grok {
        match => { "message" => "%{TIMESTAMP_ISO8601:tstamp} %{LOGLEVEL:loglevel} (?<class>[A-Za-z0-9$_.]+) %{NOTSPACE:method}\(%{JAVAFILE:class}:%{NONNEGINT:line}\) %{GREEDYDATA:message}$" }
    }
    
    date {
        match => ["tstamp", "ISO8601"]
        target => "logdate"
    }
    

    【讨论】:

      猜你喜欢
      • 2015-05-04
      • 1970-01-01
      • 2015-11-20
      • 1970-01-01
      • 2011-11-08
      • 1970-01-01
      • 2015-02-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多