# Справочник контейнеров — когда и что смотреть в логах

## Контейнеры Мониторинга

Команды выполняются из директории `/opt/printum`.

|Контейнер|Описание|Когда анализировать (симптомы)|Цель анализа|Команда|
|:---|:---|:---|:---|:---|
|**printum_nginx**|HTTP-сервер и обратный прокси-сервер. Проксирует все HTTP-соединения от/до приложения, отдаёт статику.|- Ошибки при загрузке Личного кабинета или он не загружается.<br>- Ошибки при загрузке панели администратора Мониторинга или она не загружается.<br>- Принтеры не добавляются в Мониторинг или не обновляют данные.<br>- Не происходит синхронизация между Мониторингом и ПринтМенеджером.|- Выявить какие именно URL вызывают ошибки.<br>- Выявить коды ошибок.<br>- Выявить коды ошибок при запросах от сетевого агента.<br>- Выявить коды ошибок при запросах от ПринтМенеджера.|`cd /opt/printum docker-compose logs -f --tail=200 printum_nginx`|
|**printum_dashboard**|Логи Личного кабинета.|- При загрузке Личного кабинета происходят ошибки.<br>- Пользователь не может открыть страницу ЛК в браузере.|- Выявить какие именно URL вызывают ошибки.<br>- Выявить коды ошибок.<br>- Выявить какой IP-адрес пытается получить данные.|`cd /opt/printum docker-compose logs -f --tail=200 printum_dashboard`|
|**printum_worker-default  <br>printum_worker-high  <br>printum_worker-low**|Воркеры мониторинга. Три очереди Celery для выполнения фоновых задач: отправка писем, обработка данных от принтеров.|- Проблемы с отправкой писем.<br>- Проблемы с обработкой данных от принтеров.<br>- Не обновляется статус принтера.<br>- Не обновляется история замен.<br>- Проблемы с синхронизацией Мониторинга и ПринтМенеджера.<br>- Не обновляется информация по принтерам.<br>- Не загружаются справочники.<br>- Не приходят уведомления на почту.<br>- Данные в Мониторинге появляются с большой задержкой.<br>- Фоновые операции выполняются нестабильно или не завершаются.|- Выявить в какое время была запущена очередная задача.<br>- Выявить в какое время была завершена очередная задача.<br>- Выявить время выполнения задачи.<br>- Выявить наличие ошибок по периодическим задачам.|`cd /opt/printum docker-compose logs -f --tail=200 printum_worker-default docker-compose logs -f --tail=200 printum_worker-high docker-compose logs -f --tail=200 printum_worker-low`|
|**printum_scheduler**|Планировщик задач для Celery. Выполняет задачи мониторинга по расписанию.|- Не выполняются задачи по расписанию (например, не запускается синхронизация с доменом).<br>- Не приходят уведомления на почту.<br>- Не обновляются данные, которые должны обновляться по расписанию.|- Выявить, запускается ли задача по расписанию.<br>- Выявить ошибки планировщика при постановке задач в очередь.|`cd /opt/printum docker-compose logs -f --tail=200 printum_scheduler`|
|**printum_backend**|API мониторинга. Все не фоновые задачи.|- Не работает отправка писем.<br>- Проблемы с созданием локаций.<br>- Проверка обмена данными с Локальным агентом.<br>- Ошибки при работе Личного кабинета (действия не выполняются).|- Выявить ошибки обработки API-запросов.<br>- Определить причины возврата кодов 4xx/5xx.<br>- Выявить некорректные входные данные запросов.<br>- Определить, на каком этапе происходит ошибка (валидация / логика / БД).|`cd /opt/printum docker-compose logs -f --tail=200 printum_backend`|
|**printum_clickhouse**|Столбцовая система управления базами данных. Обычно смотреть не нужно.|- Проверка запуска сервиса.<br>- Наличие ошибок запуска БД.|- Проверить наличие ошибок запуска БД.|`cd /opt/printum docker-compose logs -f --tail=200 printum_clickhouse`|
|**printum_redis**|Брокер сообщений мониторинга.|- Проверка запуска сервиса.<br>- Наличие ошибок запуска сервиса.|- Проверить наличие ошибок запуска сервиса.|`cd /opt/printum docker-compose logs -f --tail=200 printum_redis`|
|**printum_postgres**|База данных мониторинга.|- Проверка запуска сервиса.<br>- Наличие ошибок запуска БД.|- Проверить наличие ошибок запуска БД.|`cd /opt/printum docker-compose logs -f --tail=200 printum_postgres`|

## Контейнеры ПринтМенеджера

Команды выполняются из директории `/opt/printmanager`.

|Контейнер|Описание|Когда анализировать (симптомы)|Цель анализа|Команда|
|:---|:---|:---|:---|:---|
|**printmanager_web**|Админка ПМ, nginx. Проксирует все HTTP-соединения для ПринтМенеджера.|- Не происходит синхронизация между Мониторингом и ПринтМенеджером.|- Выявить какие именно URL вызывают ошибки.<br>- Выявить коды ошибок.|`cd /opt/printmanager docker-compose logs -f --tail=200 printmanager_web`|
|**printmanager-celery**|Все фоновые задачи ПМ. Обрабатывает интеграцию с Мониторингом, задания печати, встроенные приложения.|- Не импортируются принтеры из Мониторинга.<br>- Не отправляется статистика печати в Мониторинг.<br>- Задания печатаются с большой задержкой или не печатаются вовсе.<br>- Печатается только часть задания.<br>- Ошибки установки или деинсталляции встроенного приложения.|- Выявить ошибки при интеграции с Мониторингом.<br>- Выявить ошибки при печати заданий.<br>- Выявить ошибки при установке встроенного приложения.<br>- Выявить ошибки при соединении с CUPS.|`cd /opt/printmanager docker-compose logs -f --tail=200 printmanager-celery`|
|**printmanager-celery-print-queue**|Очередь бесклиентской печати. Проверяет CUPS на наличие новых заданий и отправляет их на обработку и печать.|- Задания не попадают в очередь печати или попадают с большой задержкой.|- Выявить ошибки соединения с CUPS.<br>- Выявить ошибки при обработке заданий из CUPS.<br>- Выявить ошибки соединения с принтерами.|`cd /opt/printmanager docker-compose logs -f --tail=200 printmanager-celery-print-queue`|
|**printmanager-scheduler**|Планировщик задач для Celery ПМ. Механизм отправки задач по расписанию.|- Задания перестали приходить в очередь печати.<br>- Задания гостевой печати перестали приходить в очередь.<br>- Задания печати через почту перестали приходить в очередь.<br>- У заданий образы документов не появляются.|- Выявить, запускается ли задача по расписанию.<br>- Выявить ошибки планировщика при постановке задач в очередь.|`cd /opt/printmanager docker-compose logs -f --tail=200 printmanager-scheduler`|
|**printmanager-app**|Основной контейнер ПМ. Django-приложение административной панели. Обрабатывает все HTTP-обращения, принтеры, клиентов.|- Проблемы с печатью / копированием / сканированием.<br>- Проблемы с авторизацией.<br>- Задания не приходят на устройство, хотя в ПринтМенеджере есть.<br>- Проверка обмена данными с Клиентом ПМ.|- Выявить ошибки обработки API-запросов.<br>- Определить причины возврата кодов 4xx/5xx.<br>- Выявить некорректные входные данные запросов.<br>- Определить, на каком этапе происходит ошибка (валидация / логика / БД).|`cd /opt/printmanager docker-compose logs -f --tail=200 printmanager-app`|
|**printmanager-converter-server**|TCP-конвертер-сервер. Принимает запросы по TCP и передаёт их в app по HTTP.|- Проблемы с авторизацией по TCP.|- Выявить, приходит ли сообщение от конвертера.<br>- Выявить какой номер карты приходит от конвертера.|`cd /opt/printmanager docker-compose logs -f --tail=200 printmanager-converter-server`|
|**printmanager-ftpd**|Временное хранилище для обмена файлами сканирования/копирования с принтерами.|- Проблема с заданием копирования (сканирование выполнялось, но документ не распечатался).<br>- Задание сканирования не появилось в ПМ или нет его образа.|- Выявить ошибки при выполнении процесса обработки образа документа заданий сканирования и копирования.|`cd /opt/printmanager docker-compose logs -f --tail=200 printmanager-ftpd`|
|**printmanager-db**|База данных ПринтМенеджера.|- Проверка запуска сервиса.<br>- Наличие ошибок запуска БД.|- Проверить наличие ошибок запуска БД.|`cd /opt/printmanager docker-compose logs -f --tail=200 printmanager-db`|
|**printmanager-cups**|Контейнер сервера печати. Обрабатывает всю отложенную печать (клиентская, бесклиентская, через почту).|- Задания не распечатываются.<br>- Недоступна панель CUPS по порту 1631.|- Выявить ошибки работы сервиса.<br>- Выявить ошибки принтеров в CUPS.<br><br>_Примечание: Unable to encrypt connection: A TLS fatal alert has been received. — не является ошибкой системы._|`cd /opt/printmanager docker-compose logs -f --tail=200 printmanager-cups`|
|**printmanager-redis**|Redis ПринтМенеджера. Брокер сообщений.|- _Сингл:_ проверка запуска сервиса.<br>- _Отказоустойчивая конфигурация:_ ноды ПринтМенеджера недоступны.|- _Сингл:_ наличие ошибок запуска сервиса.<br>- _Отказоустойчивая конфигурация:_ ошибки при переключении с master на slave.|`cd /opt/printmanager docker-compose logs -f --tail=200 printmanager-redis`|
|**printmanager-redis-sentinel**|Redis Sentinel ПМ. Существует только в схеме с балансировкой нагрузки.|- Ноды ПринтМенеджера недоступны.|- Выявить наличие ошибок при переключении с master на slave.|`cd /opt/printmanager docker-compose logs -f --tail=200 printmanager-redis-sentinel`|

## Агенты и Клиент ПМ

Агенты и клиенты ПМ не являются Docker-контейнерами. Логи доступны через системный журнал или файлы логов.

|Компонент|Описание|Когда анализировать (симптомы)|Цель анализа|Команда / расположение логов|
|:---|:---|:---|:---|:---|
|**Сетевой агент**|Сканирование сети и сбор данных с сетевых устройств.|- Устройство не появляется в разделе «Инвентаризация — Устройства».|- Выявить ошибки запуска сервиса.<br>- Выявить ошибки опроса устройства.<br>- Выявить ошибки сканирования сети.|`cat /opt/printum-agent/agent.log`|
|**Локальный агент Windows**|Мониторинг заданий печати на ОС Windows.|- Устройство не появляется в Личном кабинете.<br>- Не передаётся статистика по устройству.|- Выявить ошибки запуска сервиса.<br>- Выявить ошибки передачи данных.|`eventvwr` → Журналы Windows → Приложение → источник _ServicePrintum_|
|**Локальный агент Linux**|Мониторинг заданий печати на ОС Linux.|- Устройство не появляется в Личном кабинете.<br>- Не передаётся статистика по устройству.|- Выявить ошибки запуска сервиса.<br>- Выявить ошибки передачи данных.|`sudo journalctl -u printum-jtm.service`|
|**Клиент ПМ Windows**|Отправка заданий на печать на ОС Windows.|- Задание не появляется в очереди или не печатается на принтере для прямой печати.<br>- Принтеры не появляются на АРМ.|- Выявить ошибки запуска сервиса.<br>- Выявить ошибки передачи данных.|`eventvwr` → Журналы Windows → Приложение → источник _Print Manager Client_|
|**Клиент ПМ Linux**|Отправка заданий на печать на ОС Linux.|- Задание не появляется в очереди или не печатается на принтере для прямой печати.<br>- Принтеры не появляются на АРМ.|- Выявить ошибки запуска сервиса.<br>- Выявить ошибки передачи данных.|`sudo journalctl -u printum-printmanager-client.service`|