VK WorkSpace On-Premise logo
Помощь
Обновлена 20 октября 2026 г. в 14:33

Как собирать серверные логи

Назначение документа

В документе описаны команды, с помощью которых можно собирать серверные логи Почты. Также описано, как собирать логи при возникновении ошибок.

Какие логи нужно собирать в первую очередь

При кластерной инсталляции команды ниже нужно выполнять на всех серверах и виртуальных машинах, где установлена Почта.

Посмотреть версию продукта:

curl -s localhost:8888/api/v1/products/list | jq -r .products.mail.version

Посмотреть состояние сервисов Почты:

systemctl | grep onprem

Получить неработающие сервисы Почты:

systemctl | grep onprem | grep -v run

Получить информацию о состоянии контейнеров:

docker ps -a

Получить неработающие контейнеры:

docker ps -a | grep Exit

Посмотреть информацию о сети Почты:

docker network inspect mail-on-premise-net

Получить информацию о дисках и созданных на них разделах:

lsblk

Посмотреть список всех файловых систем по именам устройств, занятое и свободное пространство, точки монтирования:

df -m

Посмотреть время работы, количество текущих пользователей в системе и нагрузку за последние 1, 5 и 15 минут:

uptime

Собрать в архив сообщения ядра:

dmesg -H | gzip  > dmesg.logs.gz

Получить глобальные системные журналы ВМ:

tar -czvf messages.logs.gz  /var/log/messages*

Как собирать логи в случае ошибок

При сборе логов может быть рассмотрено 3 случая:

  1. Ошибку не получается воспроизвести.

    journalctl --utc --since="2 days ago" --no-pager -u onpremise-container-* |gzip > 20230320.logs.gz

    Запустите команду на всех серверах, она соберет логи за последние 2 дня и сложит их в папку «2023», название папки и количество дней можно изменять.

  2. Ошибку не получается воспроизвести, но известна дата. Например, позавчера:

    journalctl --utc --since="2 days ago" --until="yesterday" --no-pager -u onpremise-container-* |gzip > /tmp/`date +"%Y%m%d"`"-"`hostname`.logs.gz

    Запустите команду на каждом сервере.

  3. Ошибку можно воспроизвести повторно. Запустите сбор логов на каждом из серверов:

    journalctl --utc --no-pager -fu onpremise-container-* |gzip > /tmp/`date +"%Y%m%d"`"-"`hostname`.logs.gz

    Воспроизведите ошибку и остановите сбор логов.

При проблемах с установщиком

journalctl -u deployer --no-pager | gzip > deployer.log.gz

При проблемах с панелью администатора

В этом случае нужно собрать логи контейнеров biz-celery-beat*, bizf* со всех ВМ:

journalctl -u biz-celery-beat1 --no-pager | gzip > biz-celery-beat1.log.gzjournalctl -u bizf1 --no-pager | gzip > bizf1.log.gz

При проблемах с синхронизацией писем

Если наблюдаются проблемы с синхронизацией писем между MS Exchange и Почтой, то нужно собрать логи контейнеров picker*, rimap*, mpop*:

journalctl -u picker1 --no-pager | gzip > picker1.log.gzjournalctl -u rimap1 --no-pager | gzip > rimap1.log.gzjournalctl -u mpop1 --no-pager | gzip > mpop1.log.gz

При обращении в поддержку нужно также собрать заголовки проблемных писем.

Сбор логов при проблемах с авторизацией через SSO по IMAP

В этом случае нужно собрать журналы сервисов контейнера pub-imap*. Перед тем как воспроизводить проблему, нужно:

  1. В файле /opt/mailOnPremise/dockerVolumes/pub-imapN/conf/config.yaml поменять:

    log:  level: warn

    на

    log:  level: debug
  2. В файле /opt/mailOnPremise/dockerVolumes/pub-imapN/conf/nginx/mail.imap.conf добавить строку:

    error_log                       /dev/stdout debug;

    После строки:

    access_log                      /dev/stdout all;
  3. Перезапустить все контейнеры pub-imap*:

    systemctl restart onpremise-container-pub-imap1

После этого нужно:

  1. Воспроизвести проблему.
  2. Собрать журналы сервисов onpremise-container-pub-imap* и onpremise-container-pub-imap-clauth*.
  3. Передать поддержке архив с логами сервисов.

Технический писатель: Груздев Никита

Была ли статья полезна?