logstash使用之日期处理
来源:互联网 发布:思派网络 编辑:程序博客网 时间:2024/05/20 19:49
概述
日期插件Date filter plugin
用于对logstash接收到的字段中的日期进行处理,可以使用处理后的日期作为logstash的timestamp
.
日期进行处理后,可以在kibana中用于统计和分析.
参考
logstash帮助文档
简单使用
input{ stdin{ }}filter{ date{ match => ["message","yyyyMMdd"] }}output{ stdout{codec => rubydebug}}
- 从标准控制台接收输入
- 使用
date
插件过滤,这里是一个简单的配置,使用match
对message
字段中的内容进行时间转化,默认将转化后的结果放到了@timestamp
中. - 使用标准控制台输出,输出使用了
rubydebug
插件,目的是输出调试结果看起来方便,内容也全面一些.
使用效果:
20171124{ "@version" => "1", "host" => "localhost", "@timestamp" => 2017-11-23T16:00:00.000Z, "message" => "20171124"}20171120{ "@version" => "1", "host" => "localhost", "@timestamp" => 2017-11-19T16:00:00.000Z, "message" => "20171120"}
如上,20171124
和20171120
是控制台输入的,其余内容时rubydebug
插件输出的内容.可以看到:
* 输入的内容默认保存在了message
字段中
* @timestamp
随着message中的日期而改变了.
* @timestamp
虽然改变了,但是和设置的时间不一样.
date
插件默认的是将时间转化为 Zulu/UTC
标准时间,也就是说,上面的时间我设置的是20171120
,指的是当前时区的时间的20171120 00:00:00
但是,到了logstash中,被转为标准时间,也就是当前时区的时间-8
小时,为20171119 16:00:00
.
选项
date
插件特有的选项如下:
local
string
类型- 没有默认值
用于指定本地方言,比如设置为
en
,en-US
等.主要用于解析非数字的月,和天,比如Monday
,May
等.如果是时间日期都是数字的话,不用关心这个值.match
array
类型- 默认为
[]
用于将指定的字段按照指定的格式解析.比如:
match => ["createtime", "yyyyMMdd","yyyy-MM-dd"]
第一个值为字段名,其余值为解析的格式,如果有多个可能的格式,可以设置多个.
tag_on_failure
- array类型
- 默认为
["_dateparsefailure"]
添加一个值到
tags
字段中,如果日期解析失败.target
- string类型
- 默认为
@timestamp
用于指定转化后的日期保存的字段名
timezone
- string类型
- 没有默认值
用于为要被解析的时间指定一个时区,值为时区的
canonical ID
,可以在这里看到可以使用的值.一般不用设置,因为会根据当前系统的时区获取这个值.
这里设置的时区并不是logstash最终储存的时间的时区,logstash最终储存的时间为UTC标准时间.
比如这里设置时间为
20171120
:- 如果时区为
Asia/Shanghai
那么转化后的时间为2017-11-19T16:00:00.000Z
; - 如果时区为
Europe/Vienna
那么转化后的时间为2017-11-19T23:00:00.000Z
;
总结
提供一个解析通用的日期配置:
filter{ date{ match => ["fieldName", "yyyyMMdd","yyyy-MM-dd"] target => "fieldName1" timezone => "Asia/Shanghai" }}
- logstash使用之日期处理
- ELK日志处理之使用logstash收集log4J日志
- ELK日志处理之使用logstash收集log4J日志
- ELK日志处理之使用logstash收集log4J日志
- logstash使用之简单使用
- logstash使用之json输入输出
- 日志搜集处理框架------[Logstash]使用详解
- logstash使用之输入阶段和过滤阶段处理数据的区别
- [日志处理工作之五]整合logstash,kafka
- JS之日期处理
- python之日期处理
- Java之日期处理
- Logstash使用ruby和正则进行字符串处理
- logstash 处理多行
- logstash 处理tomcat日志
- logstash 格式处理
- logstash 时间处理
- logstash处理时区问题
- PHP 全局变量
- 谷歌大脑计划研究员Chris Olah的博客
- 客户端如何删除根证书
- 如何让已经收录的内容更有seo价值
- Python 数组指令
- logstash使用之日期处理
- 短信发送
- 【实例讲解】JS中形参、实参可以不一致
- 常用链接
- 何为技术领导力
- 第5章 子类与继承
- jQuery 鼠标滚轮插件 mousewheel
- 整理AndroidStudio常用快捷方式
- java微服务架构的分布式事务解决方案