时间戳过滤

简介

processor_timestamp_filter_native插件根据时间戳过滤事件,丢弃不在指定时间范围内的事件。插件支持从事件的时间戳字段或事件自身的__time__字段获取时间戳,并根据配置的上界和下界进行过滤。

源代码:ProcessorTimestampFilterNative.cpparrow-up-right

版本

Stable

版本说明

  • 推荐版本:【待发布】

配置参数

参数

类型

是否必填

默认值

说明

Type

string

/

插件类型。固定为processor_timestamp_filter_native

SourceKey

string

""

时间字段名。如果为空,则使用事件自身的__time__字段(即事件时间戳)。如果指定了字段名,则从该字段读取时间戳字符串。时间戳格式必须为数字(秒、毫秒或纳秒),处理时会进行检查。

TimestampPrecision

string

"second"

时间戳精度。可选值: - "second":秒级时间戳 - "millisecond":毫秒级时间戳 - "nanosecond":纳秒级时间戳 该参数同时影响SourceKey字段的时间戳解析和UpperBoundLowerBound的精度。

UpperBound

Long

max timestamp

上界时间戳。超过该时间的事件将被丢弃。默认值为最大时间戳值(即不过滤)。

LowerBound

Long

0

下界时间戳。早于该时间的事件将被丢弃。默认值为0。

使用说明

  1. 时间戳来源

    • 如果SourceKey为空,插件使用事件自身的__time__字段(事件时间戳)进行过滤。

    • 如果SourceKey不为空,插件从指定字段读取时间戳字符串。时间戳必须是纯数字格式。

  2. 时间戳精度

    • TimestampPrecision参数同时影响SourceKey字段的时间戳解析和UpperBoundLowerBound的精度。

    • 例如,如果TimestampPrecision"millisecond",则SourceKey字段的值会被视为毫秒级时间戳,UpperBoundLowerBound的值也会被当作毫秒级时间戳处理。

  3. 边界处理

    • 时间戳等于LowerBoundUpperBound的事件会被保留(闭区间)。

    • 时间戳小于LowerBound或大于UpperBound的事件会被丢弃。

  4. 错误处理

    • 如果SourceKey字段不存在,事件会被保留(不丢弃)。

    • 如果SourceKey字段的值无法识别为有效的时间戳,事件会被保留(不丢弃)。

样例

样例1:使用事件时间戳过滤

采集文件/home/test-log/app.log,只保留时间戳在指定范围内的事件。

  • 输入

  • 采集配置

  • 输出

样例2:使用字段时间戳过滤

采集包含时间戳字段的日志,根据时间戳字段进行过滤。

  • 输入

  • 采集配置

  • 输出

样例3:使用毫秒级时间戳过滤

处理包含毫秒级时间戳的日志。

  • 输入

  • 采集配置

  • 输出

Last updated