最新消息:时间抓起来说是金子,抓不住就是流水。

ELK日志时间格式化

LINUX技术 老子黑牵翻 5595浏览 0评论

        最近在使用elk收集日志的时候,发现日志顺序是错乱的,网上查了下,确实存在这种问题,日志的顺序错乱,会直接导致开发在通过elk查找日志上下文的时候,找不到对应正确的上下文片段,导致开发不能正确的定位问题,我在网上也查看了一些资料,说实话,这方便的资料很少。经过网上资料,再结合自己的测试,最后终于找到了解决方案。就是对es的@timestamp字段重新赋值,把日志的时间字段作为新的数值赋值给@timestamp字段。(也不确定这种说法正确不,请大家包涵)。具体实现方法如下:
1、环境
我的ELK的环境是
客户端通过filebeat收集日志,存入redis;
logstash读取redis的日志数据存入es。

2、es时间格式化
在logstash的配置文件中添加如下内容:
filter {
    grok {
        match => [“message”, “%{TIMESTAMP_ISO8601:logdate}”]
    }
    date {
        match => [“logdate”, “yyyy-MM-dd HH:mm:ss.SSS”]
        target => “@timestamp”
        timezone => “Asia/Shanghai”
        remove_field => [ “logdate” ]
    }
}

        说明:此方法不一定适合所有日志,比如nginx日志,还又tomcat保存日志的时间格式不一样,在这里都需要做相应的修改才能达到实际的效果

转载请注明:LINUX服务器运维架构技术分享 » ELK日志时间格式化

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址