Я работаю над системой, которая доставляет электронную почту, SMS и т. Д. Я публикую журналы приложений в Kibana по конвейеру ELK.
Логи выглядят примерно так:
{
"@timestamp": "2019-06-11T13:52:57.842914+00:00",
"severity": "debug",
"messageId": "ABC",
"message": "delivered successfully",
}
{
"@timestamp": "2019-06-11T13:52:57.842914+00:00",
"severity": "debug",
"messageId": "ABC",
"message": "delivered successfully",
}
{
"@timestamp": "2019-06-11T13:52:57.842914+00:00",
"severity": "debug",
"messageId": "XYZ",
"message": "delivered successfully",
}
{
"@timestamp": "2019-06-11T13:52:57.842914+00:00",
"severity": "debug",
"messageId": "DEF",
"message": "delivered successfully",
}
{
"@timestamp": "2019-06-11T13:52:57.842914+00:00",
"severity": "debug",
"messageId": "DEF",
"message": "delivered successfully",
}
{
"@timestamp": "2019-06-11T13:52:57.842914+00:00",
"severity": "debug",
"messageId": "DEF",
"message": "delivered successfully",
}
Мое требование - создать фильтр Kibana для отображения всех сообщений, которые доставляются более одного раза (т. Е. «Доставлено успешно» сообщается для них более одного раза, как для идентификаторов «ABC» и «DEF» выше).
Я пытаюсь добавить фильтр, который может возвращать что-то вроде:
ABC - 2
DEF - 3
, а также для заданного временного диапазона, мы можем получить общее количество таких сообщений: что составляет 2
для приведенного выше случая.
Я пытался поэкспериментировать с использованием match
с проверкой регулярных выражений вместе с aggs
компонентом Elasticsearch DSL, но пока не достиг успеха.
Любая идея / примеры того, как это сделать, будут высоко оценены.