База знаний BILLmanager
Режим фокусировки

Как оптимизировать логи платформы

Вопрос

Логи платформы занимают много места. Как сократить объём логов? 

Ответ

Следующие рекомендации позволят оптимизировать логи платформы.

Уменьшение уровня логирования

Уменьшите уровень логирования. Чем выше уровень логирования, тем более подробная информация пишется в лог, и тем больше места занимают лог-файлы. Подробнее см. в статье Логирование в BILLmanager.

Автоматическое удаление логов

Настройте автоматическое удаление старых логов (ротацию):

  1. Откройте раздел Настройки → Настройки системы → блок Настройка хранения логов.
  2. Установите нужные значения в следующих полях:
    • Хранить журнал, дней — сколько дней будут храниться логи в журнале операций billmgr.journal.

      Вы можете отредактировать значение:

      • через веб-интерфейс по инструкции выше;
      • через конфигурационный файл /usr/local/mgr5/etc/billmgr.conf. За хранение логов в журнале операций отвечает параметр ExpireLogsDays. Значение параметра по умолчанию — 365. Подробнее см. в статье Конфигурационный файл.
    • Хранить логи, дней — сколько дней будут храниться логи в архиве.
  3. Нажмите Ок, чтобы сохранить изменения. 
    Подробнее о журнале операций и настройке ротации см. в статье Журналирование.

Ротация журнала операций billmgr.journal

Настройте ручную ротацию журнала операций billmgr.journal с помощью утилиты mv. 

Ротация через mv позволяет сохранить текущий журнал и продолжить запись в новый файл без перезапуска платформы. Ротация может потребоваться, если:

  • настроек хранения данных недостаточно, чтобы сдерживать рост журнала (подробнее о настройках см. в разделе Автоматическое удаление логов);
  • необходимо сохранять копии журнала за отдельные периоды (например, ежедневно);
  • размер файла журнала превысил допустимый лимит и влияет на работу платформы.

Все команды из этого раздела выполняются на сервере с платформой. Подробнее о подключении по SSH см. в статье Настройка рабочего места.

Чтобы проверить размер файла, выполните команду:

du -h /usr/local/mgr5/var/billmgr.journal
Пример вывода
200G	/usr/local/mgr5/var/billmgr.journal

Если размер файла превышает допустимый, настройте ротацию. Если превышения нет, вы можете настроить ротацию заранее, чтобы ограничить предельный размер файла.

Чтобы настроить ротацию, переместите файл журнала:

  1. Остановите процессы ядра:
    killall core
    Команда обеспечит, чтобы в момент перемещения файла в журнал ничего не записывалось. Это исключит потерю данных. После перемещения платформа продолжит работу автоматически.
  2. Переместите файл журнала:
    mv /usr/local/mgr5/var/billmgr.journal /usr/local/mgr5/var/logs/billmgr.journal-$(date +%G-%m-%d-%H-%M-%S)
    Пояснения:
    • /usr/local/mgr5/var/billmgr.journal — исходный файл журнала;
    • /usr/local/mgr5/var/logs/billmgr.journal-$(date +%G-%m-%d-%H-%M-%S) — путь и имя, под которым сохраняется перемещённый журнал. $(date ...) подставляет текущую дату и время в формате ГГГГ-ММ-ДД-ЧЧ-ММ-СС, чтобы каждое имя файла было уникальным. Например, для 18 сентября 2026 года 14:30:00 файл будет называться billmgr.journal-2026-09-18-14-30-00.

После выполнения команды:

    • текущий журнал переносится в папку /usr/local/mgr5/var/logs/;
    • старый журнал сохраняется полностью;
    • платформа автоматически создаёт новый пустой файл billmgr.journal и пишет все следующие события в него. 

Если billmgr.journal превысил допустимый размер (например, около 200 ГБ) и переместить его нет возможности, оставьте только последние записи. Например, последние 100 строк:

Внимание!
В результате действий ниже будут удалены все записи журнала, кроме последних записей, указанных в команде.
  1. Сохраните последние записи журнала во временный файл:
    tail -n 100 /usr/local/mgr5/var/billmgr.journal > /tmp/billmgr_tail.tmp
    Пояснения:
    • -n 100 — количество последних записей, которые останутся в журнале операций (в примере — 100);
    • /usr/local/mgr5/var/billmgr.journal — файл журнала операций;
    • /tmp/billmgr_tail.tmp — временный файл, куда сохраняются последние 100 строк журнала.
  2. Перезапишите сохранённые записи обратно в billmgr.journal:
    cat /tmp/billmgr_tail.tmp > /usr/local/mgr5/var/billmgr.journal
  3. Удалите временный файл:
    rm /tmp/billmgr_tail.tmp
    В итоге в журнале операций останутся только последние 100 записей. Это уменьшит размер файла.