В KUMA предусмотрены следующие типы журналов:
Журналы установщика
KUMA автоматически создает файлы с журналами установки, изменения конфигурации или удаления.
Журналы хранятся в папке ./log/ в директории установщика. В названии файла журнала используется дата и время запуска соответствующего скрипта.
Названия формируются в следующих форматах:
При каждом запуске скрипта установки, изменения конфигурации или удаления KUMA создает новый файл. Ротация или автоматическое удаление журналов не предусмотрено.
Журнал содержит строки файла инвентаря, использованного при вызове соответствующей команды, и журнал ansible. Для каждой задачи последовательно отображается время запуска задачи (Вторник 31 октября 2023 10:29:14 +0300), время выполнения предыдущей задачи (0:00:02.611) и общее время с момента запуска установки, изменения конфигурации или удаления (0:04:56.906).
Пример:
TASK [Add columns to the replicated table] ***************************************
Вторник 31 октября 2023 10:29:14 +0300 (0:00:02.611) 0:04:56.906 *******
Журналы компонентов
По умолчанию для всех компонентов KUMA в журнале регистрируются только ошибки. Чтобы получать детализированные данные в журналах, следует настроить в параметрах компонента режим Отладка.
Журнал пополняется, пока не достигнет размера 5 ГБ. По достижении 5 ГБ журнал архивируется и события начинают записываться в новый журнал. Архивы хранятся в папке с журналами в течение 7 дней, по истечении 7 дней архив удаляется. Одновременно на сервере хранится не более четырех заархивированных журналов. При появлении нового архива журнала, если архивов становится больше четырех, самый давний архив удаляется.
Режим Отладка доступен для следующих компонентов:
Ядро |
Как включить: в веб-интерфейсе KUMA в разделе Параметры → Общие → Параметры Ядра → Отладка. Где хранятся:
Если KUMA установлена в отказоустойчивой конфигурации, см. ниже раздел Просмотр журналов Ядра в Kubernetes. |
Сервисы:
|
Как включить: в параметрах сервиса с помощью переключателя Отладка. Где хранятся: в директории установки сервиса. Например, /opt/kaspersky/kuma/<имя сервиса>/log/<имя сервиса>. Журналы сервисов можно скачать в веб-интерфейсе KUMA в разделе Ресурсы → Активные сервисы, выбрав нужный сервис и нажав на кнопку Журнал. Журналы на машинах Linux можно просмотреть с помощью команды journalctl и tail. Например:
|
Ресурсы:
|
Как включить: в параметрах сервиса, к которому привязан ресурс, с помощью переключателя Отладка. Где хранятся: журналы хранятся на машине, на которой установлен сервис, использующий требуемый ресурс. Детализированные данные для ресурсов можно посмотреть в журнале сервиса, к которому привязан ресурс. |
Просмотр журналов Ядра в Kubernetes
Файлы журналов Ядра архивируются, по достижении 100 Мб записывается новый журнал. Одновременно хранится не более пяти файлов. При появлении нового журнала, если файлов становится больше пяти, самый старый файл удаляется.
На рабочих узлах можно просмотреть журналы контейнеров и подов, размещенных на этих узлах, в файловой системе узла.
Например:
/var/log/pods/kuma_core-deployment-<UID>/core/*.log
/var/log/pods/kuma_core-deployment-<UID>/mongodb/*.log
Чтобы просмотреть журналы всех контейнеров пода core:
k0s kubectl logs -l app=core --all-containers -n kuma
Чтобы просмотреть журнал определенного контейнера:
k0s kubectl logs -l app=core -c <имя_контейнера> -n kuma
Чтобы включить просмотр журналов в реальном времени, добавьте ключ -f:
k0s kubectl logs -f -l app=core --all-containers -n kuma
Чтобы просмотреть журналы "предыдущего" пода, который был замещен новым, например, при восстановлении после критической ошибки или после повторного развертывания, добавьте ключ --previous:
k0s kubectl logs -l app=core -c core -n kuma --previous
Для доступа к журналам с других хостов, не входящих в кластер, необходим файл k0s-kubeconfig.yml с реквизитами доступа, который создается при установке KUMA, и локально установленная утилита управления кластером kubectl.
Контроллер кластера или балансировщик трафика, указанные в параметре server файла k0s-kubeconfig.yml, должны быть доступны по сети.
Путь к файлу необходимо экспортировать в переменную: export KUBECONFIG=/<путь к файлу>/k0s-kubeconfig.yml
Для просмотра журналов можно использовать kubeclt, например:
kubectl logs -l app=core -c mongodb -n kuma