Сохранение метаданных модуля во внешнем инструменте анализа журналов

#elasticsearch #kubernetes #logging #prometheus #fluentd

Вопрос:

В настоящее время мы сохраняем все журналы Kubernetes в центральном инструменте анализа журналов. Мы используем fluentbit для отправки журналов.

Хотя мы можем извлекать и анализировать журналы, отправленные контейнерами в stdout, мы не можем найти информацию, показанную в блоках, когда мы их описываем ( kubectl describe pod somepod ). Мы также хотим сохранить эту информацию, так как она показывает Exit Code и Reason для завершенного модуля. Например, коды выхода 137 и убитый.

Наличие этой информации в «Прометее» также было бы обоснованным. В «Прометее» мы видим, что некоторая информация присутствует, kube_pod_container_status_terminated_reason но «код выхода» отсутствует.

Как это можно было сделать?

Комментарии:

1. Пожалуйста, проясните вашу проблему. У вас есть проблемы с OOMKilled или вообще с журналами? Каков ваш результат при выполнении kubectl describe pod somepod ? Что именно вы хотите сохранить?

2. Привет. В качестве примера был приведен убитый. Мы хотели бы иметь в elasticsearch информацию, отображаемую при выполнении команды «описать» любого данного модуля. Похоже, что часть этой информации на самом деле присутствует в prometheus, например, kube_pod_container_status_terminated_reason, но «код выхода» отсутствует.

3. Не могли бы вы, пожалуйста, показать, как именно сейчас выглядят эти журналы и каков ожидаемый результат?