0

我有一个弹性摄取管道,其中定义了 grok 处理器以及错误处理

{
  "my_ingest" : {
    "description" : "parse multiple patterns",
    "processors" : [
      {
        "grok" : {
          "field" : "message",
          "patterns" : [
            """^\[end  ] %{DATA:method} \'%{GREEDYDATA:url}' %{DATA:status} :: Duration: %{DATA:duration} ms""",
            """^\[start] %{DATA:method} \'%{GREEDYDATA:url}' :: Start Time:%{GREEDYDATA:starttime}""",
            "%{GREEDYDATA:message}"
          ],
          "on_failure" : [
            {
              "set" : {
                "field" : "failure",
                "value" : "{{_ingest.on_failure_processor_type }}-{{ _ingest.on_failure_message }}"
              }
            }
          ]
        }
      }
    ],
    "on_failure" : [
      {
        "set" : {
          "field" : "_index",
          "value" : "failedindex"
        }
      }
    ]
  }
}

我在我的 filebeat.yml 中指的是这个管道,当我在开发工具中进行模拟时,grok 过滤器会起作用。但是当我运行实际的日志记录时,我看不到日志语句。看起来它们无法被解析并且在 kibana 中不可见。我也没有看到创建的新索引,我希望看到在 on_failure 上定义的错误记录。有人可以建议或指点调试问题。

我如何从元数据中访问这个 on_failure_processor_type 和 on_failure_message ?

谢谢

4

1 回答 1

0

_simulate端点通常是调试的最佳起点。

如果这不能解决问题,请发布示例文档。否则我们将无能为力。

同样对于“我也没有看到创建的新索引”:您确定数据正在发送到 Elasticsearch 吗?来自 Filebeat 或您正在使用的任何日志的一些日志可能值得检查(或分享)。

于 2020-12-09T23:33:06.080 回答