当前位置: 首页 > news >正文

logstash毫秒时间戳转日期以及使用业务日志时间戳替换原始@timestamp

文章目录

  • 问题
  • 解决方式
  • 参考

问题

在使用Kibana观察日志排查问题时发现存在很多组的@timestamp 数据一样,如下所示
在这里插入图片描述
详细观察内部数据发现其中日志数据有一个timestamp字段保存的是业务日志的毫秒级时间戳,经过和@timestamp数据对比发现二者的时间不匹配。经过分析得知@timestamp是按照logstash插入es数据的时间来排序,而且数据是按照批次来的,每一批次的时间可能都是大径相同,结果就是导致上面描述的一系列问题。

解决方式

针对该问题,我们可以使用logstash中的filter中date属性来进行日期的转换,即使用业务日志中的timestamp字段去替换掉logstash自己生成@timestamp时间。

date属性的使用参考如下:
https://www.elastic.co/guide/en/logstash/current/plugins-filters-date.html

date {match => [ "biz_time", "yyyyMMdd HH:mm:ss.SSS" ]target => "new_time"
}

简单的使用配置参考如上所示,其中match匹配处理输入日志数据的那个字段以及对应的数据类型,target表示要去匹配映射的字段,可以是一个已存在的字段也可以是一个新的字段。
需要注意的是,你必须要严格匹配输入日志对应属性的日期类型,如果你是类似2023-01-01 12:12那么就需要指定为这样的日期格式,如果是时间戳那么就需要指定为UNIX或者UNIX_MS,前者为秒级的时间戳后者为毫秒级的时间戳,需要严格对应的,否则会无法匹配转换。

举例:下面为项目的业务日志信息,我想要使用红色框内的timestamp字段为@timestamp时间

在这里插入图片描述
参考配置如下:

filter{date{match=>["timestamp",  "UNIX_MS" ]target=>"@timestamp"}
}

修改配置完后,重启logstash,观察启动日志,然后再看索引数据
在这里插入图片描述

参考

【如何将时间戳转换为日期字段数据】
https://discuss.elastic.co/t/how-to-convert-a-unix-timestamp-field-to-a-new-date-field/50966

【logstash中date转换】
https://www.elastic.co/guide/en/logstash/current/plugins-filters-date.html

http://www.lryc.cn/news/3022.html

相关文章:

  • 【C语言】qsort——回调函数
  • 8年软件测试工程师经验感悟
  • 腾讯云安全组配置参考版
  • 代码覆盖率工具OpenCppCoverage在Windows上的使用
  • 代码随想录算法训练营第24天25天|● 77. 组合● 216.组合总和III ● 17.电话号码的字母组合
  • Python_pytorch
  • 【Java|golang】2335. 装满杯子需要的最短总时长
  • shell编程之sed
  • 安全寒假作业nginx反向代理+负载均衡上传webshell重难点+apache漏洞
  • day35|01背包问题、416. 分割等和子集
  • Linux内核启动(3,0.11版本)内核启动完成与进入内核main函数
  • 【2023】Prometheus-Alertmanager高可用集群
  • 2023-2-11 刷题情况
  • 2019_41 考研408
  • Linux账号与用户组
  • 有趣的Hack-A-Sat黑掉卫星挑战赛——定位卫星Jackson
  • JAVA集合专题3 —— vector + LinkedList + Set
  • Scout:一款功能强大的轻量级URL模糊测试与爬取工具
  • leaflet 解决marker呈现灰色边框的问题
  • MySQL JSON类型字段的查找与更新
  • element Ui树状图控件 spring boot Vue 实现角色授权功能
  • 已解决sc delete MongoDB卸载MongoDB拒绝访问。
  • python的opencv操作记录11——阈值分割
  • Python-项目实战--飞机大战-英雄登场(7)
  • 寒假安全作业nginx-host绕过实例复现
  • RocketMQ-消息消费模式 顺序消费
  • 一、Java并发编程之线程、synchronized
  • 12.hadoop系列之MapReduce分区实践
  • 有了独自开,一个人就是一个团队
  • web期末复习 2023.02.11