Настройка режима логирования в ViQube

Режимы логирования

По умолчанию запись логов ведётся в режиме DEBUG – максимальное количество фиксируемых в логах событий.

Для изменения режима логирования необходимо:

  1. На сервере с установленным ViQube-master открыть файл /docker-volume/viqube/config/config.ini на редактирование:

    sudo nano /docker-volume/viqube/config/config.ini 
  2. В секциях [log.default] и [log.web] изменить значение поля level на требуемое.

    Возможные значения в порядке уменьшения количества записей в файл логов: DEBUG, WARNING, ERROR, FATAL.

  3. Перезапустить контейнер 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
  1. Символы $ заменены на $$ – это нужно для того, чтобы докер не считал это шаблонными строками.
  2. Ротировать надо из-под рута: строчку su root root не удалять.
  3. ViQube держит лог постоянно открытым, строчку copytruncate не удалять.