# ПринтМенеджер — справка по компоненту

## Назначение

ПринтМенеджер — опциональный модуль управления печатью. Подключается к Мониторингу и обеспечивает управление заданиями, авторизацию на МФУ, правила, квоты, архив документов.

## Основные функции

- Хранение заданий в персональной очереди пользователя
- Авторизация на МФУ по карте, PIN или доменной учётной записи
- Сбор статистики печати, копирования, сканирования по пользователям и отделам с последующей отправкой в Мониторинг
- Зашифрованный архив документов
- Правила печати и квоты
- Сканирование в почту и сетевую папку

## Где настраивается

Панель администратора ПринтМенеджера:
```
https://<адрес>:8080/config/
```

## Учётные данные по умолчанию

- Логин: printum / Пароль: printum

## Путь установки и ключевые файлы

| Файл                                 | Назначение             |
| ------------------------------------ | ---------------------- |
| /opt/printmanager/.env               | Переменные окружения   |
| /opt/printmanager/.version           | Версия ПринтМенеджера  |
| /opt/printmanager/docker-compose.yml | Docker-стек            |
| /opt/printmanager/logs.sh            | Скрипт сбора логов     |
| /opt/printmanager/backup.sh          | Скрипт создания бэкапа |

## Контейнеры Docker

| Контейнер                       | Роль                                                                                     |
| ------------------------------- | ---------------------------------------------------------------------------------------- |
| printmanager_web                | Панель администратора, NGINX.                                                            |
| printmanager-app                | Выполнение приложений ПМ, django-приложение панели администратора.                       |
| printmanager-celery             | Фоновые задачи: синхронизация, импорт, статистика.                                       |
| printmanager-celery-print-queue | Обработка прямой и отложенной очереди бесклиентской печати.                              |
| printmanager-cups               | Сервер печати CUPS — обработка и отправка заданий.                                       |
| printmanager-scheduler          | Планировщик задач.                                                                       |
| printmanager-redis              | Redis-брокер.                                                                            |
| printmanager-redis-sentinel     | Часть Redis, существует только в схеме с балансировкой.                                  |
| printmanager-converter-server   | TCP-конвертер сервер для работы внешней авторизации.                                     |
| printmanager-ftpd               | Временное хранилище для обмена файлами сканирования\копирования с некоторыми принтерами. |
| printmanager-db                 | База данных PostgreSQL.                                                                  |

## Когда используется

ПринтМенеджер устанавливается для управления процессами авторизации во встроенных приложениях, печати, копирования и сканирования, сбора статистики по пользователям и отделам, архиву документов, квотам и правилам.

Может работать совместно с Мониторингом на одном сервере (конфигурация Сингл) или на отдельном сервере (Сплит). Для высокой доступности — несколько узлов в конфигурации Кластер Active-Active. Для удалённых площадок — Филиальный ПМ.

---

## Связанные компоненты

- Мониторинг — управляющий центр; ПринтМенеджер синхронизируется с ним раз в час.
- Клиент ПМ — устанавливается на рабочие станции, отправляет задания на ПМ.
- Docker — среда выполнения контейнеров ПМ.
- HAProxy — балансировщик нагрузки в кластерной конфигурации.
- NFS — общее хранилище заданий в кластерной конфигурации.

---

## Типовые проблемы

| Проблема                                        | Причина                                                     | Решение                                                                                |
| ----------------------------------------------- | ----------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| Задания не появляются в очереди печати          | Клиент ПМ не подключается к серверу, неверный токен доступа | Проверить PM_ACCESS_TOKEN в настройках Клиента ПМ; убедиться, что порт 8080 доступен   |
| Файл недоступен при отложенной печати (кластер) | NFS-хранилище недоступно или неверно настроено              | Проверить DRIVER_OPTS_DEVICE, DRIVER_OPTS_O, DRIVER_OPTS_TYPE в /opt/printmanager/.env |
| FATAL: sorry, too many clients already          | Превышен лимит подключений к PostgreSQL                     | Увеличить max_connections по формуле: (3×N + 70) × T                                   |

---

## Что диагностировать перед эскалацией

- Уточнить версию ПринтМенеджера:
```
cat /opt/printmanager/.version
```

- Проверить статус контейнеров (активны, неактивны, перезапускаются):
```
cd /opt/printmanager && docker-compose ps
```

- Собрать логи:
```
sudo bash /opt/printmanager/logs.sh
```

- Проверить свободное место на диске сервера и самые объёмные каталоги в разделе /:
```
sudo df -h
sudo du -h --max-depth=1 / | sort -hr
```

- Доступность БД и NFS (в кластерной конфигурации)

## Связанные страницы

- [Синхронизация Мониторинга и ПринтМенеджера](http://wiki.printum.io/books/1-arxitektura-i-koncepcii/page/sinxronizaciia-monitoringa-i-printmenedzera)
- [Клиент ПМ — справка по компоненту](http://wiki.printum.io/books/2-komponenty-sistemy/page/klient-pm-spravka-po-komponentu-aX6)