Режимы логирования
По умолчанию запись логов ведётся в режиме DEBUG – максимальное количество фиксируемых в логах событий.
Для изменения режима логирования необходимо:
На сервере с установленным ViQube-master открыть файл
/docker-volume/viqube/config/config.ini
на редактирование:sudo nano /docker-volume/viqube/config/config.ini
В секциях
[log.default]
и[log.web]
изменить значение поляlevel
на требуемое.
Возможные значения в порядке уменьшения количества записей в файл логов: DEBUG, WARNING, ERROR, FATAL.Перезапустить контейнер 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
не удалять.