ELK系列(五)、Logstash修改@timestamp时间为日志的产生时间

ELK之Filebeat输出日志格式设置及输出字段过滤和修改 阅读详情
AI摘要

本文介绍如何配置Logstash,使其在收集nginx日志时使用日志的真实时间戳,而非采集时间,以便于后续数据分析。通过修改配置,将@timestamp字段替换为日志中的timestamp字段,实现更精确的时间过滤和排序。

上一篇讲了如何使用Logstash监控nginx日志并打印到控制台或导入到ES中,在kibana的discover中我们可以根据@timestamp时间对数据进行过滤和排序,但这里显示的@timestamp时间是指logstash读取到日志的时间而不是日志真正产生的时间,本篇就介绍如何配置使logstash在采集日志的过程中使用日志的真实时间戳作为消息体的时间戳,便于我们之后的分析

ELK系列(一)、安装ElasticSearch+Logstash+Kibana+Filebeat-v7.7.0

ELK系列(二)、在Kibana中使用RESTful操作ES库

ELK系列(三)、安装Logstash插件及打包离线安装包

ELK系列(四)、Logstash读取nginx日志写入ES中

-----------------------------------修改logstash消息体中的@timestamp为日志产生时间--------------

介绍

之前读取nginx日志的消息体如下,可以看到这里的@timestamp和message中的时间戳不一致,而timestamp和message中的时间是一致的,那么我们可以修改@timestamp指定为timestamp。

{
           "verb" => "GET",
       "@version" => "1",
       "referrer" => "\"-\"",
           "host" => "node01",
           "type" => "system",
      "timestamp" => "23/May/2020:21:00:19 +0800",
          "agent" => "\"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"",
    "httpversion" => "1.1",
           "path" => "/usr/local/nginx/logs/access.log",
     "@timestamp" => 2020-05-23T13:56:05.419Z,
       "clientip" => "192.168.142.1",
          "ident" => "-",
        "message" => "192.168.142.1 - - [23/May/2020:21:00:19 +0800] \"GET / HTTP/1.1\" 200 612 \"-\" \"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"",
       "response" => "200",
          "bytes" => "612",
        "request" => "/",
           "auth" => "-"
}

配置

配置如下,只需要修改filter的部分即可:

vim config/logstash_nginxlog2es_timestamp.conf

input {
   # 从文件读取日志信息
   file {
        path => "/usr/local/nginx/logs/access.log"
        type => "nginx_access"
        start_position => "beginning"
    }
 }

filter {
    grok {
      match => { "message" => "%{HTTPD_COMBINEDLOG}" }
    }
    date {
      match => ["timestamp", "dd/MMM/yyyy:HH:mm:ss Z"] #匹配timestamp字段
      target => "@timestamp"  #将匹配到的数据写到@timestamp字段中
    }
}

output {
       # 输出es
       elasticsearch {
          hosts => ["wykd:9200"]
          index => "nginx-%{+YYYY.MM.dd}"
      }

}

验证

先删除之前在es中的索引以及sincedb文件,然后重新启动logstash:

bin/logstash -f config/logstash_nginxlog2es_timestamp.conf

在kibana中查看此时@timestamp已经是日志中的timestamp,该日志真正的产生时间,而不是logstash的采集时间了。

 

希望本文对你有帮助,请点个赞鼓励一下作者吧~ 谢谢!

从ELK到现代化日志平台:Filebeat辅助架构与云原生实践 日志管理是系统可观测性的核心基础,它通过采集、解析、存储和分析应用运行时产生的文本数据,帮助开发者监控系统状态、诊断故障和优化性能。其核心原理在于构建一个高效的数据管道,将分散的日志集中处理并转化为可搜索、可分析的结构化信息。在微服务和云原生架构普及的今天,传统的ELK(Elasticsearch, Logstash, Kibana)方案在资源消耗和部署灵活性上面临挑战。现代化的解决方案通过引入轻量级采集器(如Filebeat)和缓冲队列(如Kafka),实现了采集、处理和存储的解耦,显著提升了系统的可扩展 阅读详情

相关推荐

分布式日志系统实战:从ELK到Kafka的搭建与排坑指南

微服务架构下,日志分散在几十台服务器上,故障排查往往演变成一场低效的“grep苦旅”。分布式日志系统的核心价值,在于将散落的日志统一采集、缓冲、解析、存储与检索,形成可查询、可分析、可告警的闭环。其技术原理并不复杂:通过轻量级采集器读取文件,借助消息队列削峰填谷,再经解析管道结构化后写入检索引擎,最终在可视化工具体现价值。这类系统尤其适合日志量大、链路长的容器化或微服务场景,也是日常定位线上问题、分析系统瓶颈的基础设施。本文基于实际落地经验,详细拆解了ELK配合Kafka的完整架构,包括Filebeat多行

weixin_33834075的博客 243

Logstash将日志产生时间替换@timestamp

一、跟着官网学习一下date插件      日期过滤器用于从字段中解析日期,然后使用该日期或时间戳作为事件的logstash时间戳。例如,syslog事件通常具有这样的时间戳:Bash"Apr 17 09:32:01"       你可以使用日期格式MMM dd HH:mm:ss来解析这个。日期过滤器对于排序事件和回填旧数据尤为重要。 如果您在活动中没有找到正确的日期,那么稍后搜索它们可能会排序错...

零度的博客专栏 2万+

别再手动查日志了!用Docker Compose 5分钟搞定ELK全家桶(Elasticsearch 8.x + Kibana)

本文详细介绍了如何使用Docker Compose在5分钟内快速部署ELK 8.x全家桶(Elasticsearch + Kibana + Logstash),实现高效的日志监控分析平台搭建。通过容器化方案,开发者可以避免传统部署的复杂配置,快速构建可移植、资源可控的日志分析系统,显著提升运维效率。

weixin_30292843的博客 347

ELK日志分析平台-记录实际应用中碰到的问题

1、为什么@timestamp字段在终端的显示与在Kibana上的显示不一致? 原因:对于Elasticsearch内部,时间字段统一采用UTC时间进行管理,这也是运维领域的一个通识; 解决方案:但Kibana会读取浏览器的当前时区,然后在页面上转换时间字段的显示。建议接受这个设置。 2、解析日志时,tags字段为什么会出现_grokparsefailure和_dateparsefailure? 原因:若存在log内容与 grok/date插件中的match 语从句不匹配,logstash会自动在t

兔纸先森的后花园 983

Elasticsearch-新增数据时自动生成 @timestamp 时间字段

如果您觉得有用的话,记得给,写作不易啊^ _ ^。而且听说,实在白嫖的话,那欢迎常来啊!!!创建一个 Pipeline"description": "自动添加 @timestamp 字段","set": {"title": "jstat命令查看jvm的GC信息1","author": "哈喽sds",验证:“size”: 20。

杨杨杨~~的博客 947

[ENVI]-[高光谱遥感]-波谱沙漏分析工具的使用

图1-2-1查看特殊波段的坏波段图1-2-2在中添加坏波段ENVI波谱沙漏分析工具MNF变换。

m0_57992372的博客 1470

logstash处理@timestamp时区

input { stdin { } } filter { #ruby { # code => "event.set('timestamp', event.get('@timestamp') + 8*60*60)" # code => "event.set('aaa', event.get('@timestamp').time.localtime)" # code => "event.set('bbb', event.timestamp.time.localtime +

进击的豌豆的博客 2641

架构设计之架构治理

架构治理的本质是“用规则约束复杂性,用流程保障落地,用数据驱动优化”先定目标:明确量化的治理目标,避免盲目行动;立标准:建立覆盖分层、选型、接口、拆分的统一规范,奠定治理基础;强评审:通过架构评审把控设计环节,提前规避风险;全流程:将治理规则贯穿设计、开发、测试、部署、运维全生命周期;重保障:通过组织、流程、工具确保治理落地,而非“纸上谈兵”;持续迭代:随业务与技术演进优化治理规则,避免“一劳永逸”。

xiaolyuh的专栏 810

logstash如何将日志中字符串类型的时间转化成@timestamp

在ELK组合中我们在outputs/elasticsearch中常用的%{+YYYY.MM.dd}来创建索引,而这种写法是必须要读@timestamp这个字段的。默认情况下@timestamp字段显示的是当前时间,但我们可能需要记录的是日志中的字符串类型的时间,所以我们需要把日志中字符串类型的时间覆盖掉@timestamp中的当前时间。 创建配置文件 code.conf input {

桃花惜春风 3万+

双目视觉入门实战:用Matlab标定相机,再到Python OpenCV完成测距的完整链路

本文详细介绍了双目视觉技术的完整实现流程,从Matlab相机标定到Python OpenCV测距的全链路实践。重点解析了Matlab与OpenCV的参数转换技巧,以及立体校正、视差计算等关键步骤的代码实现,帮助开发者快速掌握双目测距系统的搭建方法。

weixin_29166013的博客 445

STM32实战:增量式PID控制气体流量(附完整代码与调参技巧)

本文详细解析了如何在STM32平台上实现气体流量控制的增量式PID算法。内容涵盖从系统硬件架构选型、增量式PID算法原理与代码实现,到ADC采样滤波、PWM驱动配置等关键外设驱动,并提供了完整的参数整定技巧与工程调优实战指南,帮助开发者构建稳定可靠的气体流量控制系统。

rose2的博客 619

搭建ELK环境 logstash 时间差8小时问题

公司线上日志是通过logstash接收并上传的,使用版本是logstash2.3,发现@timestamp经常少8个小时; 处理逻辑如下,无需修改插件源码 input { stdin {} } output { stdout { codec => rubydebug } } filter { date { match => ["message","UNIX_MS"]#m...

hxb_hexiaobo的博客 2718

BitLocker磁盘锁定解决方法

摘要:本文介绍了BitLocker加密磁盘被锁的两种情况及解决方法。对于系统盘锁定,建议在微软账户中查找48位恢复密钥;数据盘锁定可尝试密码或恢复密钥解锁。若密钥丢失,可通过IT支持或数据恢复服务尝试解决。预防措施包括妥善备份密钥到微软账户和离线位置,避免随意更改系统硬件配置。BitLocker安全性高,恢复密钥是解锁关键,提醒用户务必做好备份以防数据丢失。(148字)

yueke06442300的专栏 2676

Summarize日志聚合终极指南:ELK Stack与Splunk集成实践

在当今数据驱动的时代,**日志聚合**已成为监控和分析应用性能的关键技术。对于使用Summarize进行内容摘要处理的团队来说,有效的日志管理不仅能帮助调试问题,还能提供宝贵的业务洞察。本文将为你详细介绍如何将Summarize的日志系统与业界领先的**ELK Stack**和**Splunk**平台进行集成,构建完整的日志聚合解决方案。 ## 📊 Summarize日志系统概览 Summa

gitblog_00625的博客 1028

【AUTOSAR-E2E】-2.1-配置E2E:基于E2EPW配置一个RX接收的Signal Group(使用E2E Profile 2)

《共13页精讲》:此法也适用于E2E Profile 4/5/6/7/11/22 目录 1 检查CAN Matrix Arxml/DBC是否满足E2E需求 2 在DaVinci Developer中为Port添加E2E保护 3 在DaVinci Configurator settings设置 4 如何使用应用层的E2E保护 5 结尾 <--返回「Autosar_BSW高阶配置」总目录--> <--返回「Autosar_BSW高阶配置」专栏主页--> <--

「汽车电子助手」的博客 4417

File Load Error for Untitled.ipynb Unhandled error 解决方案

本文主要介绍了File Load Error for Untitled.ipynb Unhandled error 解决方案,希望能对使用jupyter notebook的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 1万+

JB3-6-ELK

ElasticSearch基础,倒排索引原理,Kibana容器,IK中文分词器,REST常用操作,LogStash,ELK日志收集,ELK同步MySQL,ElasticSearchRepository 等。

周航宇的博客 2541

ThingsBoard PE专业版解决方案技术文档——温度&湿度

温湿度解决方案

weixin_67440240的博客 818

【ELK】-8 logstash的filter模块详解

logstash的filter模块详解

ordinary的博客 295

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

kohya_ss日志聚合:ELK Stack集中式日志管理终极指南

kohya_ss作为一款强大的Stable Diffusion模型训练GUI工具,在AI绘画和模型微调领域广受欢迎。然而,随着训练任务的复杂化和多GPU集群的使用,如何有效管理和分析训练日志成为了一个重要挑战。本文将详细介绍如何为kohya_ss搭建ELK Stack集中式日志管理系统,帮助用户实现高效的日志聚合、监控和分析。 ## 📊 为什么需要日志聚合? 在kohya_ss训练过程中,会

gitblog_00463的博客 699

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

linux 日志 时间格式,ELK日志时间格式化

最近在使用elk收集日志的时候,发现日志顺序是错乱的,网上查了下,确实存在这种问题,日志的顺序错乱,会直接导致开发在通过elk查找日志上下文的时候,找不到对应正确的上下文片段,导致开发不能正确的定位问题,我在网上也查看了一些资料,说实话,这方便的资料很少。经过网上资料,再结合自己的测试,最后终于找到了解决方案。就是对es的@timestamp字段重新赋值,把日志的时间字段作为新的数值赋值给@tim...

weixin_32155269的博客 699

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

pypdf微服务监控:使用ELK Stack收集与分析服务日志

在微服务架构中,日志的收集与分析至关重要。pypdf作为处理PDF文件的强大工具,在微服务环境下的稳定运行需要有效的监控机制。本文将介绍如何使用ELK Stack(Elasticsearch、Logstash、Kibana)来收集和分析pypdf微服务的日志,帮助开发和运维人员快速定位问题、优化性能。 ## pypdf日志功能概述 pypdf项目中虽然没有直接提供日志相关的功能实现,但我们可以

gitblog_00739的博客 318

轻量级日志采集器集成ELK实战:优化分布式日志处理架构

日志处理是分布式系统可观测性的基石,其核心在于高效采集、传输与分析海量日志数据。ELK Stack作为经典解决方案,通过Elasticsearch、Logstash、Kibana的组合,实现了日志的集中存储、处理与可视化。然而,随着微服务与云原生架构的普及,传统ELK架构在资源消耗与采集灵活性方面面临挑战,特别是在资源受限的边缘节点或容器环境中。为此,引入轻量级、高性能的日志采集代理作为前端数据收集器,成为优化日志管道、实现逻辑前置与资源解耦的关键技术实践。这种架构通过将采集、解析、缓冲等职责分离,能够显著

weixin_34034670的博客 405

ELK+Filebeat+Kafka+ZooKeeper构建大数据日志分析平台

配置elasticsearch集群,除此处配置外,其他Elasticsearch节点均相同。配置logstash作为转发节点,获取kafka中日志,存储至elasticsearch中。验证数据是否发送至Elasticsearch,需要安装Kibana,安装后验证。配置kafka,除此项外,其他配置各节点均相同。启动Logstash服务,验证数据传递效果。解压Elasticsearch安装包。修改输入插件配置,从文件中读取信息。解压ZooKeeper安装包。解压Filebeat安装包。配置Filebeat。

m0_50978391的博客 1294

Linux日志系统全链路解析:从syslog到ELK/Loki的架构与实战

日志是系统可观测性的基石,它记录了软件运行时的关键事件与状态信息。其核心原理在于将程序运行过程中的离散事件,按照特定格式(如syslog标准)进行序列化并持久化存储,为问题诊断、安全审计和性能分析提供原始数据。在Linux生态中,这一价值通过rsyslog/journald等守护进程、以及grep/awk/sed等强大的文本处理工具得以实现,使得运维人员能够从海量数据中快速定位问题。随着系统规模扩大,集中式日志分析平台(如ELK栈或Loki)成为必然选择,它们通过收集、解析、索引和可视化,将分散的日志转化为

weixin_30681121的博客 367

ELK 企业日志分析系统

组件定位核心作用分布式搜索引擎、存储引擎存储结构化日志、毫秒级全文检索、聚合统计、分布式高可用Logstash服务器端数据处理管道日志采集、清洗、格式化、字段转换,统一输出至 ESKibanaWeb 可视化平台日志查询、图表展示、监控仪表盘、集群管理环境初始化:配置 hosts、JDK1.8;双节点 ES 集群部署,开启跨域,安装 head 插件管理集群;Apache 节点部署 Logstash,编写多套采集配置(系统日志、Apache 日志);

2603_95728365的博客 197
上一篇: ELK系列(四)、Logstash读取nginx日志写入ES中
下一篇: ELK系列(六)、修改Nginx日志为Json格式并使用Logstash导入至ES
王义凯_Rick
王义凯_Rick 领域专家: 大数据技术领域 领域专家: 大数据技术领域
博客等级 码龄14年 858粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王义凯_Rick

遇见即是缘,路过就给个评论吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值