忽略早于给定日期的传入logstash条目

泰德42

我希望Logstash在处理输入条目时,只删除早于N天的条目。

我假设我将使用date模块,并且显然是drop,但是我不知道如何连接它们。

pickypg

我知道进行日期级别比较的唯一方法是通过Ruby代码。您需要date过滤器来解析时间戳(这是它自己的问题)。

将日期解析到一个字段(例如event["@timestamp"])后,即可使用它来确定是否要忽略它:

5.0:

ruby {
  code => "event.cancel if (Time.now.to_f - event.get('@timestamp').to_f) > (60 * 60 * 24 * 5)"
}

5.x之前的版本:

ruby {
  code => "event.cancel if (Time.now.to_f - event['@timestamp'].to_f) > (60 * 60 * 24 * 5)"
}

在这种情况下,5N

另外,值得指出的是,这与Logstash恰好在运行的机器时间有关。如果不正确,则会影响日期数学。同样,如果源计算机的系统时钟错误,也可能是一个问题。

利用Alain的优点,您可以使用该存储区的滞后时间,除了基于它进行删除之外。

5.0:

ruby {
  code => "event.set('lag_seconds', Time.now.to_f - event.get('@timestamp').to_f))"
}

# 5 represents the number of days to allow
if [lag_seconds] > (60 * 60 * 24 * 5) {
  drop { }
}

5.x之前的版本:

ruby {
  code => "event['lag_seconds'] = Time.now.to_f - event['@timestamp'].to_f)"
}

# 5 represents the number of days to allow
if [lag_seconds] > (60 * 60 * 24 * 5) {
  drop { }
}

使用这种方法,您便可以建立索引lag_seconds,这是一个小数,从而可以分析索引中的滞后(如果该滞后进入ES或其他数据存储)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获取给定日期的Oracle最新条目

来自分类Dev

返回等于或早于给定日期的第一个日期?

来自分类Dev

给定日期的最大日期 - sql

来自分类Dev

如何获得给定日期的午夜?

来自分类Dev

给定日期后打开表格

来自分类Dev

给定日期的Javascript消息脚本

来自分类Dev

计算给定日期的整周数

来自分类Dev

将日期和月份与给定日期分开

来自分类Dev

检索两个给定日期之间的日期

来自分类Dev

在Python中从给定日期查找日期

来自分类Dev

列出两个给定日期之间的日期

来自分类Dev

如何从给定日期查找星期的开始日期?

来自分类Dev

计算包含给定日期的日期范围

来自分类Dev

Prolog,比较日期以查看给定日期之前

来自分类Dev

在两个给定日期之间搜索日期

来自分类Dev

如何计算给定日期的上周的最后日期?

来自分类Dev

将日期和月份与给定日期分开

来自分类Dev

选择给定日期和日期之间的记录。

来自分类Dev

如何获取特定周中给定日期的日期?

来自分类Dev

获取两个给定日期之间的总和

来自分类Dev

如何获得给定日期范围内的天数

来自分类Dev

获取给定日期的月份中的星期几

来自分类Dev

从给定日期循环数月和数年的简便方法

来自分类Dev

返回给定日期内的所有记录

来自分类Dev

给定日期中SVN中的文件

来自分类Dev

给定日期与今天之间的C ++天数

来自分类Dev

获取给定日期的gps周数

来自分类Dev

从给定日期获取包括每隔14天的数组

来自分类Dev

将天添加到给定日期jQuery