#elastic-stack #ingest
#эластичный стек #ввод
Вопрос:
У меня есть эластичный входной конвейер с процессором 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 из метаданных?
Спасибо
Ответ №1:
_simulate
Конечная точка, как правило, является лучшей отправной точкой для отладки.
Если это не решит проблему, пожалуйста, опубликуйте образец документа. В противном случае мы не сможем там помочь.
Также для «я также не вижу созданного нового индекса»: вы уверены, что данные отправляются в Elasticsearch? Некоторые журналы из Filebeat или того, что вы используете, могут стоить проверки (или общего доступа).