【问题标题】:ELK Stack Log timestampELK 堆栈日志时间戳
【发布时间】:2015-12-11 07:38:27
【问题描述】:

总的来说,我对 ELK 堆栈相对较新,我正在尝试处理 2014 年以来的一些旧日志以进行可视化。我想知道是否有一种方法可以让 Kibana 显示与创建日志相同的时间戳,而不是当我将它们添加到我的转发器客户端时的时间戳。

这是我的过滤器部分的摘录

【问题讨论】:

  • 您的date 过滤器中是否缺少下划线,即syslog timestamp 应该是syslog_timestamp
  • 您好 Val,我已尝试使用您的建议,结果保持不变。请指教。

标签: elastic-stack


【解决方案1】:

时间戳它只显示logstash获取日志并保存到elasticsearch的时间。 Logstash 无法知道该日志是何时创建的。知道这一点的唯一可能方法是,如果您将时间保存在日志中,如果它们是系统日志或您自己的带有时间戳的日志。然后你可以在logstash中创建一个过滤器,然后只用作key。

您可以为此使用 grok 过滤器。

http://grokconstructor.appspot.com/do/match

例子:

输出日志

55.3.244.1 GET /index.html 15824 0.043

过滤器

%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}

Logstash 配置

input {
      file {
        path => "/var/log/http.log"
      }
    }
    filter {
      grok {
        match => { "message" => "%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}" }
      }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-03
    • 2017-04-09
    • 2015-09-28
    • 1970-01-01
    相关资源
    最近更新 更多