date
The date
处理器会向事件添加一个默认时间戳,解析时间戳字段,并将时间戳信息转换为国际标准化组织 (ISO) 8601 格式。此时间戳信息可用作事件时间戳。
配置
下表描述了可用于配置 date
处理器的选项。
选项 | 必需 | 类型 | 描述 |
---|---|---|---|
match | 有条件地 | 匹配 | 日期匹配配置。此选项不能与 from_time_received 同时定义。没有默认值。 |
from_time_received | 有条件地 | 布尔型 | 当为 true 时,事件元数据中的时间戳(即源接收事件的时间)将添加到事件数据中。此选项不能与 match 同时定义。默认值为 false 。 |
date_when | 否 | 字符串 | 指定 date 处理器应在什么条件下执行匹配。默认值为无条件。 |
to_origination_metadata | 否 | 布尔型 | 当为 true 时,匹配的时间也会作为 Instant 的实例添加到事件的元数据中。默认值为 false 。 |
destination | 否 | 字符串 | 用于存储由 date 处理器解析的时间戳的字段。可与 match 和 from_time_received 一起使用。默认值为 @timestamp 。 |
输出格式 | 否 | 字符串 | 确定添加到事件的时间戳的格式。默认值为 yyyy-MM-dd'T'HH:mm:ss.SSSXXX 。 |
source_timezone | 否 | 字符串 | 用于解析日期(包括无法从值中提取时区或偏移量的情况)的时区。如果时区或偏移量是值的一部分,则忽略该时区。所有可用时区的列表包含在 数据库时区列表的 TZ database name 列中。 |
destination_timezone | 否 | 字符串 | 用于在 destination 字段中存储时间戳的时区。所有可用时区的列表包含在 数据库时区列表的 TZ database name 列中。 |
区域设置 | 否 | 字符串 | 用于解析日期的区域设置。常用于解析月份名称 (MMM )。该值可以包含 IETF BCP 47 中的语言、国家/地区或变体字段,例如 en-US ,或者 locale 对象的字符串表示,例如 en_US 。区域设置字段的完整列表,包括语言、国家/地区和变体,可以在 语言子标签注册表中找到。默认值为 Locale.ROOT 。 |
匹配
选项 | 必需 | 类型 | 描述 |
---|---|---|---|
key | 是 | 字符串 | 表示要匹配模式的事件键。如果配置了 match ,则为必需。 |
模式 | 是 | 列表 | 键的时间戳值可能具有的模式列表。这些模式基于字母和符号序列。patterns 支持 Java DatetimeFormatter 参考中列出的所有模式。时间戳值还支持 epoch_second 、epoch_milli 和 epoch_nano 值,它们表示自纪元以来的秒数、毫秒数和纳秒数。纪元值始终使用 UTC 时区。 |
指标
下表描述了常见的抽象处理器指标。
指标名称 | 类型 | 描述 |
---|---|---|
recordsIn | 计数器 | 表示记录进入管道组件的指标。 |
recordsOut | 计数器 | 表示记录从管道组件流出的指标。 |
timeElapsed | 计时器 | 表示管道组件执行期间经过时间的指标。 |
The date
处理器包含以下自定义指标。
dateProcessingMatchSuccessCounter
:返回与match configuration
选项指定的一个或多个模式匹配的记录数。dateProcessingMatchFailureCounter
:返回与patterns match
配置选项指定的任何模式都不匹配的记录数。
示例:向事件添加默认时间戳
以下 date
处理器配置可用于在应用于所有事件的 @timestamp
字段中添加默认时间戳。
- date:
from_time_received: true
destination: "@timestamp"
示例:解析时间戳以转换其格式和时区
以下 date
处理器配置可用于解析应用于 dd/MMM/yyyy:HH:mm:ss
的时间戳值,并将其写入 yyyy-MM-dd'T'HH:mm:ss.SSSXXX
格式。
- date:
match:
- key: timestamp
patterns: ["dd/MMM/yyyy:HH:mm:ss"]
destination: "@timestamp"
output_format: "yyyy-MM-dd'T'HH:mm:ss.SSSXXX"
source_timezone: "America/Los_Angeles"
destination_timezone: "America/Chicago"
locale: "en_US"