我有一个弹性摄取管道,其中定义了 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 ?
谢谢