Архитектура Kubernetes предоставляет три способа сбора журналов:
1.Используйте агент ведения журнала уровня узла, который выполняется на каждом узле.
Вы можете реализовать ведение журнала на уровне кластера, включив в каждый агент ведения журнала уровня узла.Агент ведения журналов - это специальный инструмент, который предоставляет журналы или отправляет журналы бэкэнду.Обычно агент ведения журнала - это контейнер, который имеет доступ к каталогу с файлами журналов из всех контейнеров приложений на этом узле.
Формат журналов зависит от настроек Docker.Вам необходимо установить параметр log-driver
в /etc/docker/daemon.json
на каждом узле.
Например,
{
"log-driver": "syslog"
}
или
{
"log-driver": "json-file"
}
- none -журналы для контейнера недоступны, и журналы докера не возвращают никакого вывода.
- json-файл - журналы отформатированы как JSON.Драйвер регистрации по умолчанию для Docker.
- syslog - записывает сообщения журнала в средство syslog.
Для получения дополнительных опций проверьте ссылку
2.Включите выделенный контейнер с коляской для регистрации в модуле приложения.
Контейнер с коляской можно использовать одним из следующих способов:
- Контейнер с коляской передает потоки приложения в журнал.свой собственный stdout.
- В контейнере sidecar запускается агент ведения журнала, который настроен на получение журналов из контейнера приложения.
Имея потоковые контейнеры sidecar в свои собственные потоки stdout и stderr, выможет использовать в своих интересах kubelet и агент регистрации, которые уже работают на каждом узле.Контейнеры коляски читают журналы из файла, сокета или журнала.Каждый отдельный контейнер с коляской печатает журнал в свой поток stdout или stderr.
3.Загрузка журналов непосредственно в бэкэнд из приложения.
Вы можете реализовать ведение журнала на уровне кластера, выставляя или отправляя журналы непосредственно из каждого приложения.
Для получения дополнительной информации вы можете проверить официальная документация Куберне