Архитектура и логика взаимодействия компонентов Printum
Page Type: Overview Component: Printum Domain: Architecture Product Versions: All OS: Not applicable Status: Draft Related Components:
- Мониторинг
- ПринтМенеджер
- Сетевой агент
- Локальный агент
Архитектура и логика взаимодействия компонентов Printum
Printum состоит из набора модулей, которые вместе обеспечивают мониторинг печатающих устройств и управление заданиями. Понимание архитектуры необходимо для правильного внедрения, диагностики и проектирования отказоустойчивых конфигураций. Этот обзор описывает роли основных компонентов и то, как они взаимодействуют между собой.
Два функциональных домена
Условно возможности Printum делятся на две крупные части:
- Мониторинг – сбор телеметрии. Мониторинг отвечает за опрос устройств, сбор данных через протокол SNMP (версии 1/2/3), хранение статистики и построение отчётов. Он не вмешивается в процесс печати; его задача – наблюдать и хранить данные.
- Управление печатью (ПринтМенеджер) – обработка заданий. Сервер управления печатью контролирует процессы печати, маршрутизирует задания по правилам, выполняет авторизацию пользователей и применяет политики (очереди, правила экономии тонера, квоты и т. п.).
Хотя эти модули представлены как равноправные, на практике управление печатью опирается на мониторинг. Мониторинг – это фундамент, без которого невозможна работа ПринтМенеджер. Сервер управления печатью подключается к Мониторинг, наследуя информацию об устройствах, пользователях и инфраструктуре.
Компоненты системы
Мониторинг
-
Сервер мониторинга (Мониторинг) – ядро системы. Он хранит базу данных, каталог устройств и пользователей, принимает данные от агентов и предоставляет API другим компонентам. Установка любой конфигурации Printum начинается с развёртывания Мониторинг.
-
Сетевой агент – служба, которая сканирует IP‑сети, обнаруживает принтеры и МФУ по SNMP и периодически опрашивает их. В типичных установках хватает одного сетевого агента; его можно запускать на том же сервере, что и Мониторинг. При больших парках принтеров допускается несколько агентов.
-
Локальный агент – программа, устанавливаемая на рабочих станциях. Она мониторит локальные очереди печати, что позволяет собирать статистику для USB‑принтеров и фиксировать, кто и что отправил на печать. Тот же модуль может работать как мониторинг USB‑принтеров: в этом случае агент фильтрует события только от локально подключённых устройств.
ПринтМенеджер (ПринтМенеджер)
Сервер управления печатью подключается к Мониторинг и использует его данные. ПринтМенеджер отвечает за:
- авторизацию пользователей на принтерах (карта, PIN);
- виртуальные очереди печати и маршрутизацию заданий;
- применение правил (цвет/чёрно‑белое, ограничение страниц, квоты, печать только после авторизации);
- хранение теневых копий печатных заданий (при включении соответствующих опций);
- интеграцию с почтовым сервером (отправка сканов) и внешними системами.
ПринтМенеджер может работать в двух режимах:
- С клиентом – на рабочие станции устанавливается виртуальный драйвер Printum и службы управления. Клиент формирует PDF и отправляет его на сервер. После авторизации задание отправляется на принтер. Клиент обеспечивает функции экономии тонера и автоматическое управление локальными очередями.
- Без клиента – на станциях пользователей нет ПО Printum; они печатают на виртуальный принтер, настроенный администратором (обычно Generic PS или драйвер производителя). Задания поступают на сервер напрямую. Такой режим упрощает внедрение там, где установить клиент невозможно, но лишает возможностей экономии тонера и автоматического разворачивания прямых очередей.
Интеграция с доменом
Printum интегрируется с Active Directory/LDAP. Мониторинг считывает пользователей и группы из домена. Настройка фильтров позволяет импортировать только нужные группы. Принтеры, добавленные в Мониторинг, автоматически появляются в ПринтМенеджер – администратору не нужно заводить устройства вручную.
Потоки данных
- Обнаружение устройств: сетевой агент сканирует сеть, находит принтеры по SNMP и отправляет данные в Мониторинг. Локальный агент мониторит USB‑устройства и очереди.
- Сбор статистики: Мониторинг хранит данные об ошибках, счётчиках, уровнях расходных материалов и состояниях устройств. При необходимости можно добавить локальные агенты для сбора статистики в разрезе пользователей.
- Управление печатью: пользователи отправляют задания в виртуальный принтер Printum (через клиент или без него). ПринтМенеджер получает задание, применяет правила и отправляет его на физический принтер после авторизации. В рамках распределённой архитектуры может быть несколько серверов управления печатью, все они подключаются к одному Мониторинг.
Распределённая архитектура
Printum поддерживает сценарии с несколькими ПринтМенеджер. Каждый из них независим, нет иерархии «главный–подчинённый». Серверы управления печатью размещаются в филиалах, чтобы обеспечить печать даже при потере связи с центральным Мониторинг. В этом случае:
- локальный ПринтМенеджер обслуживает пользователей своего филиала;
- при обрыве связи статистика и новые пользователи не синхронизируются, но печать, копирование и сканирование продолжают работать;
- после восстановления канала данные синхронизируются.
Для высокой доступности в централизованном ЦОД рекомендуется использовать кластер из минимум трёх ПринтМенеджер с балансировщиком нагрузки и отдельным отказоустойчивым хранилищем базы данных и файлов (см. отдельную статью «Отказоустойчивость и деградация»).
Вывод
Мониторинг – основа системы Printum. Все остальные функции строятся на его базе. Сетевой агент и локальный агент наполняют Мониторинг данными, ПринтМенеджер использует эту информацию для контроля печати, авторизации и применения политик. Правильно спроектированная архитектура учитывает связи между компонентами и обеспечивает отказоустойчивость и масштабирование.