Режимы логирования
По умолчанию запись логов ведётся в режиме 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
не удалять.