gtxyzz

ELK日志时间格式化

gtxyzz linux 2023-01-25 575浏览 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技术 的文章
发表评论