【问题标题】:ElasticSearch ingest pipeline with Grok pattern DATESTAMP_RFC2822具有 Grok 模式 DATESTAMP_RFC2822 的 ElasticSearch 摄取管道
【发布时间】:2019-09-20 10:13:11
【问题描述】:

在模拟 ElasticSearch 摄取管道以处理 Thu, 19 Sep 2019 20:28:58 GMT 形式的时间戳时,Grok 使用 DATESTAMP_RFC2822 pattern 失败。

关于我在这里缺少什么有什么建议吗?

例子:

POST _ingest/pipeline/_simulate
{
  "pipeline" :
  {
    "description": "testing...",
    "processors" : [
      {
        "grok" : {
          "field" : "message",
          "patterns" : [
            "%{DATESTAMP_RFC2822:initial_date}"
          ],
          "on_failure" : [
            {
              "set" : {
                "field" : "error",
                "value" : "{{ _ingest.on_failure_message }}"
              }
            },
            {
              "set" : {
                "field" : "grok_error",
                "value" : true
              }
            }
          ]
        }
      }
    ]
  },
  "docs": [
    {
      "_index": "index",
      "_id": "1",
      "_source": {
        "message": "Thu 19 Sep 2019 20:28:58 GMT"
      }
    }
  ]
}

...结果:

"Provided Grok expressions do not match field value: [Thu 19 Sep 2019 20:28:58 GMT]",

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    日期过滤器无法解析时区名称。 您可以使用 %{DAY}、%{MONTHDAY} %{MONTH} %{YEAR} %{TIME} %{WORD}

    WORD 将匹配任何单词(不一定是时区)。 如果您使用任何特定的时区,您可以将 WORD 替换为该时区。

    【讨论】:

      猜你喜欢
      • 2018-07-24
      • 1970-01-01
      • 2018-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-07
      • 2021-09-03
      相关资源
      最近更新 更多