日期处理器
编辑日期处理器编辑
从字段中解析日期,然后使用日期或时间戳作为文档的时间戳。默认情况下,日期处理器会将解析后的日期添加为一个名为 @timestamp
的新字段。您可以通过设置 target_field
配置参数来指定不同的字段。同一个日期处理器定义中支持多种日期格式。它们将按照定义处理器时相同的顺序依次尝试解析日期字段。
表 11. 日期选项
名称 | 必需 | 默认值 | 描述 |
---|---|---|---|
|
是 |
- |
要从中获取日期的字段。 |
|
否 |
@timestamp |
将保存解析日期的字段。 |
|
是 |
- |
预期日期格式的数组。可以是 Java 时间模式 或以下格式之一:ISO8601、UNIX、UNIX_MS 或 TAI64N。 |
|
否 |
UTC |
解析日期时使用的时区。支持 模板片段。 |
|
否 |
ENGLISH |
解析日期时使用的语言环境,与解析月份名称或星期几相关。支持 模板片段。 |
|
否 |
|
将日期写入 |
|
否 |
- |
处理器的描述。用于描述处理器的用途或其配置。 |
|
否 |
- |
有条件地执行处理器。请参阅 有条件地运行处理器。 |
|
否 |
|
忽略处理器的故障。请参阅 处理管道故障。 |
|
否 |
- |
处理处理器的故障。请参阅 处理管道故障。 |
|
否 |
- |
处理器的标识符。用于调试和指标。 |
以下示例根据 initial_date
字段将解析后的日期添加到 timestamp
字段
{ "description" : "...", "processors" : [ { "date" : { "field" : "initial_date", "target_field" : "timestamp", "formats" : ["dd/MM/yyyy HH:mm:ss"], "timezone" : "Europe/Amsterdam" } } ] }
timezone
和 locale
处理器参数是模板化的。这意味着它们的值可以从文档中的字段中提取。以下示例显示了如何从摄取文档中包含时区和语言环境值的现有字段 my_timezone
和 my_locale
中提取语言环境/时区详细信息。
{ "description" : "...", "processors" : [ { "date" : { "field" : "initial_date", "target_field" : "timestamp", "formats" : ["ISO8601"], "timezone" : "{{{my_timezone}}}", "locale" : "{{{my_locale}}}" } } ] }