Logstash学习--Filter

date过滤器

date过滤器的用途是从某些字段中解析出时间,然后用这个时间作为事件(event)的时间戳。

但是要从某个字段中解析时间,要告诉date时间的格式,这样它才能根据指定的格式获取时间。

比如说某字段的数据格式是这样的:

"Apr 17 09:32:01"

你要告诉date,你去哪个字段上解析时间,并且时间的格式是:

MMM dd HH:mm:ss

时间戳对一个事件很重要,可以帮助你实现sortingbackfilling
如果用户没有指定这个filter,那么logstash会在输入的时候自动为事件设置时间戳。

date过滤器的配置语法:

date {
}

date中可以设置的参数:

1. add_field

哈希类型,默认是空{}。
如果执行成功,将在事件中增加新的字段。新增的字段可以是动态的值,也可以使用某个已存在的字段的值。

filter {
  date {
    add_field => { "foo_%{somefield}" => "Hello world, from %{host}" }
  }
}
# You can also add multiple fields at once:
filter {
  date {
    add_field => {
      "foo_%{somefield}" => "Hello world, from %{host}"
      "new_field" => "new_static_value"
    }
  }
}

2. add_tag

数组类型,默认是空[]。

如果执行成功,会在事件中增加新的tag,新增的tag可以是动态的或者引用事件原始的值。

filter {
  date {
    add_tag => [ "foo_%{somefield}" ]
  }
}
# You can also add multiple tags at once:
filter {
  date {
    add_tag => [ "foo_%{somefield}", "taggedy_tag"]
  }
}

3. match

数组类型,默认是空[]。

这个字段告诉date从哪个字段中解析时间戳数据,该字段存储时间的格式。
如果该字段有多种时间的格式也是可以的。

match => [ "logdate", "MMM dd YYY HH:mm:ss",
          "MMM  d YYY HH:mm:ss", "ISO8601" ]

4. remove_tag

5. remove_field

6. tag_on_failure

数据类型为数组,默认值为:["_dateparsefailure"]

当match不成功的时间,会在tags 字段中增加tag_on_failure的值。

7. target

数据类型字符串,默认是为@timestamp
把match到的时间更新到target指定的字段,默认是@timestamp字段。

参考链接

Logstash-Filter官方文档

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值