Где находятся логи приложения
Общая информация
В Kubernetes приложение Zakroma работает в контейнерах. Логи сервисов не пишутся в локальные файлы, а отправляются в стандартный вывод (stdout и stderr).
Благодаря этому их можно просматривать и собирать с помощью встроенных инструментов kubectl
, либо через систему централизованного логирования.
Доступ к логам
Для получения логов используется команда kubectl logs
.
Примеры:
1# Логи подов zakroma-storage-gateway 2kubectl -n zakroma-storage logs deployment/zakroma-storage-gateway 3 4# Логи подов zakroma-storage-core 5kubectl -n zakroma-storage logs deployment/zakroma-storage-core 6 7# Логи пода zds-0 8kubectl -n dev-zakroma-storage-zds logs pod/zds-0
При необходимости можно добавить опцию -f
для «живого» просмотра:
1kubectl -n zakroma-storage logs -f deployment/zakroma-storage-core
Централизованный сбор
Рекомендуется использовать DaemonSet-агент (например, Fluent Bit, Vector или Filebeat) для доставки логов из stdout/stderr в централизованное хранилище (Loki, Elasticsearch, OpenSearch).
В таком случае доступ к логам осуществляется через UI (Grafana/Kibana) или через API хранилища логов.
Ротация и хранение
- Ротация логов контейнеров осуществляется самим Kubernetes/CRI (containerd/docker).
- Параметры хранения задаются на уровне ноды (
/var/log/containers
и/var/log/pods
) и ограничены настройками kubelet/containerd (например,log-rotation-size
,log-rotation-max-files
). - В продуктиве рекомендуется централизованный сбор, т.к. локальные контейнерные логи ограничены по размеру и времени.