Настройка режима логирования в ViQube
Режимы логирования
По умолчанию запись логов ведётся в режиме DEBUG - максимальное количество фиксируемых в логах событий.
Для изменения режима логирования необходимо:
На сервере с установленным ViQube-master открыть файл /docker-volume/viqube/config/config.ini на редактирование.
sudo nano /docker-volume/viqube/config/config.iniВ секциях [log.default] и [log.web] изменить значение поля level на требуемое.
Перезапустить контейнер ViQube:
docker service update --init visiology_viqube-master
Ротация логов
За ротацию логов отвечает утилита logrotate. Запускается раз в час через cron.
Конфиг по-умолчанию
/viqube/apiLog/viqube_api.log
/viqube/log/viqube.log
{
su root root
size 300M
maxage 60
notifempty
missingok
copytruncate
dateext
dateformat _%Y_%m_%d-%H_%M_%S
postrotate
logfile=$1;
rotatedfile=$(find ${logfile}_*[0-9]);
gzip $rotatedfile;
endscript
}
С помощью переменной окружения LOG_ROTATE в контейнер можно передать другие настройки. Для этого нужно отредактировать файл viqube.yml и перезапустить run.sh.
Ротируем логи каждые 5 мегабайт, храним две недели
version: "3.2"
services:
viqube:
...
environment:
- CONFIG_FILE=/mnt/volume/config.ini
- SNAPSHOT=auto.snapshot
- VPROXY_URL=${PLATFORM_URL}
- GDB_ENABLED=1
- |
LOG_ROTATE=
su root root
size 5M
maxage 14
notifempty
missingok
copytruncate
dateext
dateformat _%Y_%m_%d-%H_%M_%S
postrotate
logfile=$$1;
rotatedfile=$$(find $${logfile}_*[0-9]);
gzip $$rotatedfile;
endscript
restart: always
network_mode: ${PROJECT_NAME:-visiology}_overlayСимволы $ заменены на $$ – это нужно для того, чтобы докер не считал это шаблонными строками
Ротировать надо из-под рута: строчку
su root rootне удалятьViQube держит лог постоянно открытым, строчку
copytruncateне удалять