【问题标题】:Sort logs by timestamp in Kibana在 Kibana 中按时间戳对日志进行排序
【发布时间】:2019-09-25 18:14:13
【问题描述】:

Timestamps don`t match 我有 ELK(Elasticsearch、Logstash 和 Kibana)实例正在运行,Filebeat 从其他机器发送日志,我注意到日志在 Kibana 中以不同的顺序显示,它们到达服务器(如附图所示),例如,这是 Kibana 中显示的内容,第二列是 kibana 时间戳,第三列是服务器时间戳:

February 9th 2017, 11:53:11.714 11:53:04,904
February 9th 2017, 11:53:11.714 11:53:05,579
February 9th 2017, 11:53:11.714 11:53:05,581
February 9th 2017, 11:53:11.714 11:53:05,591
February 9th 2017, 11:53:11.714 11:53:04,441
February 9th 2017, 11:53:11.714 11:53:05,589

我在日志文件中看到的是:

11:53:04,441
11:53:04,904
11:53:05,579
11:53:05,581
11:53:05,589
11:53:05,591

是否有任何选项可以按照日志在服务器中的显示顺序查看 Kibana 中的日志? 我正在寻找它,但我没有看到任何处理这个主题的问题,但我看到它可能正在更改 Logstash 配置文件 10-syslog-filter.conf,这是我的:

filter {
  if [type] == "syslog" {
    grok {
      match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
      add_field => [ "received_at", "%{@timestamp}" ]
      add_field => [ "received_from", "%{host}" ]
    }
    syslog_pri { }
    date {
      match => [ "syslog_timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
    }
  }
}

提前致谢。

【问题讨论】:

    标签: elasticsearch timestamp logstash kibana filebeat


    【解决方案1】:

    我认为这是因为当您在 Kibana 中创建 index 时,您没有在 Kibana 中提供应该在其上显示事件的 timestamp。你可以这样做:

    mutate {
        add_field => { "received_time" => "%{syslog_timestamp}" }
        remove_field => ["syslog_timestamp"] <-- since you'll be using the recieved_time field here after
    }
    date {
        match => [ "received_time", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss"]
        target => "received_time"
        locale => "en"
        timezone => "UTC"
    }
    

    以上只是一个示例,以便您可以复制。 注意,我假设syslog_timestamp 是您在 Q 中提到的服务器时间。

    因此,当您在 Kibana 中创建新索引时,系统会要求您选择 time-field 名称以过滤事件。 Kibana 所做的是,它将根据浏览器的时间显示事件,除非您从下拉列表中选择它。

    因此,一旦您处理了 logstash conf,您应该能够在下拉菜单中看到我们在 conf 中创建的字段 received_time。因此,您只需从 drop down 中选择它,以便 Kibana 将根据您选择的 timestamp 显示事件。另外确保您也没有任何时区问题。如果您使用的是UTC,请同时从Kibana 中的高级设置> dateFormat:tz 更改浏览器时区。希望对您有所帮助!

    【讨论】:

    • 我检查了 ELK 服务器和其中一个正在发送日志的服务器之间的时间戳,它们有点不同,会不会有问题?
    • 他们两个的时差是多少?是在你按照我的回答做了之后吗?
    • 大约 2 分钟
    • 您确定 ELK 服务器在 UTC 上运行吗?确保他们两个都拥有它。
    • 所有这些都在 CET 上运行
    猜你喜欢
    • 1970-01-01
    • 2011-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多