Состав каталога журналов
Общая информация
Расположение: /var/log.
По умолчанию под каталог журналов при установке выделяется 80 Гбайт.
80 Гбайт выделяется при условии, что размер блочного устройства, на которое установлен узел, не менее 120 Гбайт.
Ротирование
Журналы на контроллере и узлах автоматически ротируются. Это происходит каждые сутки с помощью службы logrotate.
Ротации подвергаются файлы журналов, достигшие размера 100 Мбайт. Дополнительно к текущему файлу журнала хранится
один несжатый и максимум 4 сжатых архива, более старые архивы удаляются. Посмотреть или изменить конфигурацию ротации можно командой log rotate config
.
Состав каталога журналов
-
Журналы всех узлов (только на контроллере). Подробное описание в разделе Стек журналирования.
-
Статистика всех узлов (только на контроллере). Подробное описание в разделе Стек статистики.
-
Журналы сервисов узла: /var/log/.
-
Журналы дампов аварийных отказов процессов: /var/log/crash/.
-
Журналы общих сервисов Space: /var/log/veil/.
-
Журналы CLI Space: /var/log/veil/cli/.
С версии SpaceVM 6.5.7 изменился формат хранения журналов CLI. Ранее журнал был один на всех пользователей и имел вид cli.log. С версии 6.5.7 журнал для каждого пользователя CLI отдельный и имеет вид cli-uid.log, где uid — user id пользователя. Список uid ssh-пользователей узла доступен по команде CLI
uids
. -
Журналы супервизора узла Space: /var/log/veil/node/.
-
Журналы супервизора контроллера Space (только на контроллере): /var/log/veil/controller/.
-
Резервная копия базы данных контроллера Space (только на контроллере): /var/log/veil/controller/db_backup/.
-
Архивы журнала контроллера Space (только на контроллере): /var/log/veil/controller/journal/.
Расчет размера каталога журналов на контроллере
Размеры каталога журналов всех узлов и статистики всех узлов сильно зависят от размера инфраструктуры и времени хранения.
Базовый размер /var/log в режиме установки Preceed равен 80 Гбайт. Если оставить 10 Гбайт под журналы сервисов Space и системные журналы, останется 70 Гбайт.
Условный расчет выполняется следующим образом:
150 Mбайт * количество серверов * 15 дней + 200 Мбайт * количество серверов * 30 дней = 8250 Мбайт * количество серверов
При 70 Гбайтах получается 8 серверов. По умолчанию места хватает на 8 серверов на 15 дней хранения статистики и 30 дней хранения журналов.
Общая условная формула для расчёта:
(количество серверов * количество дней * 350 Mбайт + 10000 Мбайт) / 1000
Возможные действия при переполнении каталога журналов
-
Проверить вывод команды
df -h
. -
При необходимости переконфигурировать ротацию журналов:
log rotate config
-
Запустить в CLI команду для выполнения очистки устаревших ротированнных журналов:
log rotate purge
-
Уменьшить время хранения статистики:
system statistics set_storage_retention
-
Уменьшить время хранения журналов:
log rotate config
-
Очистить хранилище журналов с помощью CLI команды:
log clear
-
Для корректной работы может потребоваться перезапустить часть сервисов: redis, controller-db (postgresql), node-engine, controller-engine.
-
Запустить в CLI команду:
system autotest
-
Принудительно ротировать файлы журналов можно командой:
log rotate start
Возможные причины переполнения раздела журналов
Перед очисткой необходимо выяснить причины переполнения журналов и принять меры по настройке систем журналирования и ротирования или устранению причины генерации большого количества журналов.
Возможные причины:
-
Увеличилось количество узлов и, соответственно, размер журналируемых данных на контроллере. Рекомендуется уменьшить количество времени хранения журналов loki с помощью команды:
loki [storage_retention|set_storage_retention 72]
-
Увеличилось количество узлов и, соответственно, размер собираемой статистики на контроллере. Рекомендуется уменьшить количество времени хранения статистики prometheus с помощью команды:
system statistics [set_storage_retention]
-
Происходит непрерывное журналирование ошибок одним из компонентов ПО. Это может быть как прикладное ПО, так и ошибки оборудования, например, BMC платы или процессора. Необходимо локализовать сервис, узнать, куда записываются данные (файл журналов или syslog), и принять меры по устранению.