忽略早于给定日期的传入 logstash 条目
ignore incoming logstash entries that are older than a given date
我希望 Logstash 在处理输入条目时简单地删除超过 N 天的条目。
我假设我会使用 the date module and obviously drop,但我不知道如何连接它们。
我知道进行日期级别比较的唯一方法是通过 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)"
}
在这种情况下,5
是 N
。
此外,值得指出的是,这是相对于 Logstash 恰好是 运行 的机器时间而言的。如果它不准确,则会影响日期数学。同样,如果源机器的系统时钟是错误的,那么它也可能是一个问题。
借鉴阿兰的好点,除了基于它的掉落之外,你还可以使用这个商店的滞后时间。
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 或其他一些数据存储,您可以分析索引中的滞后。
我希望 Logstash 在处理输入条目时简单地删除超过 N 天的条目。
我假设我会使用 the date module and obviously drop,但我不知道如何连接它们。
我知道进行日期级别比较的唯一方法是通过 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)"
}
在这种情况下,5
是 N
。
此外,值得指出的是,这是相对于 Logstash 恰好是 运行 的机器时间而言的。如果它不准确,则会影响日期数学。同样,如果源机器的系统时钟是错误的,那么它也可能是一个问题。
借鉴阿兰的好点,除了基于它的掉落之外,你还可以使用这个商店的滞后时间。
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 或其他一些数据存储,您可以分析索引中的滞后。