logstash默认timestamp时间戳值修改为日志中提取的时间

Posted zhangphil

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了logstash默认timestamp时间戳值修改为日志中提取的时间相关的知识,希望对你有一定的参考价值。

logstash中的timestamp时间戳时间由logtash在采集到日志时间时候自动设置,有些时候,需要把这个默认的timestamp时间修改为日志数据中提取到的时间,使两者一致。可以通过配置文件实现:

filter 
	grok 
		match => [ 
			"message", "\\[%DATA:logtime\\] " 
		]
		
		break_on_match => false
	

	date 
		match=> ["logtime","yyyy-MM-dd HH:mm:ss.SSS"]
		target=>"@timestamp"
	

上述配置的grok将匹配每一行日志中开始的[]里面的数据作为时间放入到logtime中,然后在date里面,将按照yyyy-MM-dd HH:mm:ss.SSS的日期时间格式把时间最终覆盖系统默认的timestamp中。

也可以通过ruby代码实现把自己提取到的日志时间作为系统默认的时间戳:

filter 

	ruby 
		code => "
				event.set('@timestamp',event.get('this_is_my_log_time'))
				"
	

开发者涨薪指南 48位大咖的思考法则、工作方式、逻辑体系

以上是关于logstash默认timestamp时间戳值修改为日志中提取的时间的主要内容,如果未能解决你的问题,请参考以下文章

logstash 默认时间少8小时的修改办法

logstash默认@timestamp时间戳时间与本地时间相差8小时

logstash默认@timestamp时间戳时间与本地时间相差8小时

Pyspark:to_timestamp返回不正确的时间戳值[重复]

将时间戳值插入雪花表

Logstash替换字符串,解析json数据,修改数据类型,获取日志时间