A Jobber Docker контейнер (выполняемые периоды c задачи) выводит на стандартный вывод, который захватывается Filebeat (с включенным флагом автоматического обнаружения контейнеров Docker) и затем отправляется в Logsta sh (внутри стека ELK) или напрямую в Elasticsearch.
Теперь на Kibana документ выглядит так:
@timestamp Jan 20, 2020 @ 20:15:07.752
...
agent.type filebeat
container.image.name jobber_jobber
...
message {
"job": {
"command":"curl http://my.service/run","name":"myperiodictask",
"status":"Good",
"time":"0 */5 * * * *"
},
"startTime":1579540500,
"stdout":"{\"startDate\":\"2020-01-20T16:35:00.000Z\",\"endDate\":\"2020-01-20T17:00:00.000Z\",\"zipped\":true,\"size\":3397}",
"succeeded":true,
"user":"jobberuser",
"version":"1.4"
}
...
Примечание: над полем 'message' находится простая строка отражающий json объект; приведенный выше формат предназначен для более четкой читаемости.
Моя цель - иметь возможность запрашивать Elasti c в полях сообщений, поэтому я могу фильтровать, например, по заданиям Jobber.
Как я могу это сделать? Я знаю, что Filebeat использует плагины и теги контейнеров для применения того или иного фильтра: есть ли что-нибудь для Джоббера? Если нет, то как это сделать?
Еще лучше иметь возможность использовать поля результата задачи Jobber (в поле 'stdout')! Не могли бы вы указать мне, как это осуществить?