# 8. Справочник

Переменные, порты, драйверы, форматы, атрибуты

# Справочник переменных .env

# Переменные .env Мониторинга

## Описание

Файл конфигурации Мониторинга находится по пути `/opt/printum/.env`. Переменные задаются при установке через параметры команды `install.sh` и могут быть изменены вручную после установки с последующим перезапуском контейнеров.

---

## Подключение к базам данных

<table id="bkmrk-%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F%D0%97%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF"><thead><tr><th>Переменная</th><th>Значение по умолчанию</th><th>Описание</th></tr></thead><tbody><tr><td>`POSTGRESQL_HOST`</td><td>встроенный</td><td>Адрес сервера PostgreSQL (при подключении к внешней БД)</td></tr><tr><td>`POSTGRESQL_PORT`</td><td>`5432`</td><td>Порт PostgreSQL</td></tr><tr><td>`POSTGRESQL_DATABASE`</td><td>`printum`</td><td>Имя базы данных</td></tr><tr><td>`POSTGRESQL_USER`</td><td>`postgres`</td><td>Пользователь PostgreSQL</td></tr><tr><td>`POSTGRESQL_PASSWORD`</td><td>—</td><td>Пароль пользователя PostgreSQL</td></tr><tr><td>`POSTGRESQL_SSLMODE`</td><td>—</td><td>Режим SSL-соединения: `allow`, `prefer`, `require`, `verify-ca`, `verify-full`</td></tr><tr><td>`POSTGRESQL_CERT_CA`</td><td>—</td><td>Абсолютный путь до CA-сертификата (при `verify-ca` или `verify-full`)</td></tr><tr><td>`CLICKHOUSE_HOST`</td><td>встроенный</td><td>Адрес сервера ClickHouse (при подключении к внешней БД)</td></tr><tr><td>`CLICKHOUSE_PORT`</td><td>`8123`</td><td>Порт ClickHouse</td></tr><tr><td>`CLICKHOUSE_DATABASE`</td><td>`printum`</td><td>Имя базы данных ClickHouse</td></tr><tr><td>`CLICKHOUSE_USER`</td><td>`default`</td><td>Пользователь ClickHouse</td></tr><tr><td>`CLICKHOUSE_PASSWORD`</td><td>—</td><td>Пароль пользователя ClickHouse</td></tr><tr><td>`CLICKHOUSE_SSL`</td><td>`False`</td><td>Включить SSL для подключения к ClickHouse (`True` / `False`)</td></tr><tr><td>`CLICKHOUSE_CERT_CA`</td><td>—</td><td>Путь до CA-сертификата ClickHouse</td></tr></tbody></table>

---

## Сетевые настройки и hostname

<table id="bkmrk-%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F%D0%97%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF-1"><thead><tr><th>Переменная</th><th>Значение по умолчанию</th><th>Описание</th></tr></thead><tbody><tr><td>`MON_HOSTNAME`</td><td>—</td><td>IP-адрес или hostname сервера Мониторинга. Используется при установке по доменному имени</td></tr><tr><td>`IP_ADDRESS`</td><td>—</td><td>IP-адрес сервера. Используется при установке по IP-адресу (альтернатива `MON_HOSTNAME`)</td></tr></tbody></table>

---

## Шифрование конфигурационного файла

<table id="bkmrk-%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F%D0%97%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF-2"><thead><tr><th>Переменная</th><th>Значение по умолчанию</th><th>Описание</th></tr></thead><tbody><tr><td>`ENV_VAULT_PASSWORD`</td><td>—</td><td>Пароль для шифрования файла `.env`. Задаётся при установке для активации шифрования конфигурации</td></tr></tbody></table>

---

## Хранение архива печати

<table id="bkmrk-%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F%D0%97%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF-3"><thead><tr><th>Переменная</th><th>Значение по умолчанию</th><th>Описание</th></tr></thead><tbody><tr><td>`ARCHIVE_FREE_SPACE`</td><td>—</td><td>Размер свободного места (МБ), ниже которого запускается очистка архива</td></tr><tr><td>`ARCHIVE_SIZE_DELETE`</td><td>—</td><td>Объём (МБ), который освобождается при переполнении хранилища</td></tr><tr><td>`ARCHIVE_CHECKS_PERIOD_HOURS`</td><td>—</td><td>Интервал (ч) между проверками свободного места</td></tr></tbody></table>

---

## Почтовая очередь печати (Print Mailbox)

<table id="bkmrk-%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F%D0%97%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF-4"><thead><tr><th>Переменная</th><th>Значение по умолчанию</th><th>Описание</th></tr></thead><tbody><tr><td>`PRINT_MAILBOX_HOST`</td><td>—</td><td>Адрес IMAP-сервера</td></tr><tr><td>`PRINT_MAILBOX_PORT`</td><td>—</td><td>Порт IMAP-сервера</td></tr><tr><td>`PRINT_MAILBOX_NAME`</td><td>—</td><td>Адрес почтового ящика для приёма заданий на печать</td></tr><tr><td>`PRINT_MAILBOX_PASSWORD`</td><td>—</td><td>Пароль для почтового приложения (не пароль от самой почты)</td></tr><tr><td>`PRINT_MAILBOX_USE_SSL`</td><td>—</td><td>Включить шифрование SSL (`True` / `False`)</td></tr><tr><td>`PRINT_MAILBOX_USE_TLS`</td><td>—</td><td>Включить шифрование TLS (`True` / `False`)</td></tr></tbody></table>

---

## SMB-хранилище сканов

<table id="bkmrk-%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F%D0%97%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF-5"><thead><tr><th>Переменная</th><th>Значение по умолчанию</th><th>Описание</th></tr></thead><tbody><tr><td>`SMB_HOSTNAME`</td><td>—</td><td>Hostname или IP-адрес сервера с сетевой папкой</td></tr><tr><td>`SMB_USERNAME`</td><td>—</td><td>Имя пользователя для записи в сетевую папку</td></tr><tr><td>`SMB_PASSWORD`</td><td>—</td><td>Пароль пользователя для записи в сетевую папку</td></tr><tr><td>`SCAN_SMB_ENCRYPT`</td><td>—</td><td>Включить шифрование SMB (требуется SMBv3+)</td></tr><tr><td>`STORAGE_SMB_ENCRYPT`</td><td>—</td><td>Включить шифрование для SMB-хранилища архива</td></tr></tbody></table>

---

## Диагностика и логирование

<table id="bkmrk-%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F%D0%97%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF-6"><thead><tr><th>Переменная</th><th>Значение по умолчанию</th><th>Описание</th></tr></thead><tbody><tr><td>`DEBUG`</td><td>`False`</td><td>Включить режим отладки (`True` для диагностики)</td></tr><tr><td>`LOG_LEVEL`</td><td>`INFO`</td><td>Уровень детализации логов: `DEBUG`, `INFO`, `WARNING`, `ERROR`</td></tr></tbody></table>

---

## Смена паролей

При смене паролей необходимо обновить соответствующие переменные в `.env` файле и перезапустить контейнеры:

```
sudo docker-compose down
sudo docker-compose up -d
```

<table id="bkmrk-%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-c"><thead><tr><th>Переменная</th><th>Описание</th></tr></thead><tbody><tr><td>`CLICKHOUSE_PASSWORD`</td><td>Пароль ClickHouse</td></tr><tr><td>`REDIS_URL`</td><td>Строка подключения Redis с паролем: `redis://:NEW-PASSWORD@redis:6379/0`</td></tr><tr><td>`REDIS_PASSWORD`</td><td>Пароль Redis</td></tr><tr><td>`CACHEOPS_REDIS`</td><td>Строка подключения Redis для кэша: `redis://:NEW-PASSWORD@redis:6379/1`</td></tr></tbody></table>

# Переменные .env ПринтМенеджера

Описание Файл конфигурации ПринтМенеджера находится по пути /opt/printmanager/.env . Просмотреть текущее содержимое: sudo cat /opt/printmanager/.env После изменения переменных необходимо перезапустить контейнеры: sudo docker-compose down sudo docker-compose up -d Подключение к базе данных PostgreSQL Переменная Пример значения Описание DATABASE_URL postgres://postgres:postgres@10.0.130.213:5432/printmanager Строка подключения к PostgreSQL в формате URL DATABASE_HOSTNAME 10.0.130.213 IP-адрес или доменное имя сервера PostgreSQL DATABASE_PORT 5432 Порт PostgreSQL DATABASE_TABLESPACE — Табличное пространство (если отличается от значения по умолчанию) DATABASE_PASSWORD — Пароль базы данных (при смене пароля) POSTGRESQL_PASSWORD — Пароль PostgreSQL (при смене пароля) Redis Переменная Пример значения Описание REDIS_URL redis://redis:6379/0 Строка подключения к Redis REDIS_ROLE master Роль узла Redis: master или slave REDIS_SENTINEL_LIST 10.0.132.98,10.0.132.97,10.0.132.96 Список адресов Redis Sentinel (через запятую) REDIS_MASTER_HOSTNAME 10.0.132.98 Адрес мастер-узла Redis NFS (кластерная конфигурация) Переменная Пример значения Описание VOLUME_PATH /opt/printmanager/volumes Путь к директории томов DRIVER_OPTS_TYPE nfs Тип драйвера хранилища: nfs или none DRIVER_OPTS_O addr=10.0.130.213,nolock,soft,rw Опции монтирования NFS. Для принудительного указания версии протокола добавить nfsvers=4 DRIVER_OPTS_DEVICE :/scratch Путь к директории на NFS-сервере (с ведущим : ) NFS_ADDR — IP-адрес или hostname NFS-сервера (в скрипте массового развёртывания) NFS_PATH — Полный путь к директории на NFS-сервере NFS_TLS 0 Шифрованное соединение с NFS: 1 / true для включения NFS_STUNNEL_PORT — Порт для stunnel при использовании NFS TLS Сетевые настройки Переменная Пример значения Описание EXT_HOSTNAME pm.test Домен или адрес балансировщика (внешний адрес ПринтМенеджера) PM_HOSTNAME 10.0.132.97 Адрес текущего сервера ПринтМенеджера PM_HTTP_PORT 8010 Порт HTTP-подключения к панели администрирования ПринтМенеджер PM_HTTPS_PORT 8080 Порт HTTPS-подключения к панели администрирования ПринтМенеджер SSL/TLS сертификаты Переменная Описание SSL_CERT Полный путь до сертификата SSL_KEY Полный путь до закрытого ключа сертификата SSL_CERT_CA Полный путь до корневого CA-сертификата Клиент ПринтМенеджера (Linux) Переменная Описание PRINTMANAGER_BASE_URL Адрес сервера ПринтМенеджер: http://адрес:8010 (без сертификата) или https://адрес:8080 (с сертификатом) PRINTMANAGER_ACCESS_TOKEN Токен доступа ПринтМенеджера Политики печати Переменная Описание ALLOW_BYPASS_PRINTING Защита от обхода системы управления печатью. При отключении клиентская и бесклиентская прямая печать не работают Смена паролей Переменная Описание DATABASE_URL Обновить строку подключения: postgres://postgres:NEW-PASSWORD@db:5432/printmanager CUPS_PASSWORD Пароль CUPS FTP_SCAN_PASSWORD Пароль FTP для доставки сканов

# Сетевые порты

# Таблица сетевых портов Принтум

Описание Перечень портов TCP/IP, необходимых для работы всех компонентов Принтум в любой схеме установки. Дополнительно все используемые внешние ресурсы (базы данных ClickHouse, PostgreSQL, домены, NFS) должны иметь открытые порты для подключения серверов Принтум к ним. Не используйте адреса из пула 10.28.32.0/26 — они зарезервированы внутренней сетью Принтум. Основные порты Порт Протокол Направление Назначение 80 TCP / HTTP К серверу, от пользовательских АРМ Личный кабинет (нешифрованное подключение) 443 TCP / HTTPS К серверу, от пользовательских АРМ Личный кабинет (шифрованное подключение) 80 TCP / HTTP К МФУ и МФУ, от сервера Настройка и установка встроенных приложений на МФУ 443 TCP / HTTPS К МФУ и МФУ, от сервера Настройка и установка встроенных приложений на МФУ (шифрованное) 8000 TCP / HTTP К серверу Мониторинга, от АРМ и от ПринтМенеджера Панель администрирования Мониторинга; синхронизация между компонентами 8001 TCP / HTTPS К серверу Мониторинга, от АРМ и от ПринтМенеджера Панель администрирования Мониторинга (шифрованное); синхронизация между компонентами 8010 TCP / HTTP К серверу ПринтМенеджера, от АРМ, МФУ и Мониторинга Панель администрирования ПринтМенеджера; синхронизация между компонентами 8080 TCP / HTTPS К серверу ПринтМенеджера, от АРМ, МФУ и Мониторинга Панель администрирования ПринтМенеджера (шифрованное); синхронизация между компонентами 1631 TCP / IPP К серверу, от пользовательских АРМ CUPS в ПринтМенеджере; отправка на прямой печати 161, 162 UDP / SNMP К МФУ и МФУ, от сервера (в обе стороны) Сетевой агент мониторинга; настройка встроенных приложений 22 TCP / SSH К серверу, от АРМ администратора Удалённая настройка, установка, обновление системы 25 TCP / SMTP К почтовому серверу, от сервера Отправка писем и уведомлений 993 TCP / IMAP К почтовому серверу, от сервера Постановка документов в очередь печати через почтовый ящик FTP (доставка сканов) Порт Протокол Направление Назначение 20, 21 TCP / FTP К серверу, от МФУ Инициация FTP-соединения и передача данных в активном режиме; доставка заданий сканирования 30000–30199 TCP / FTP пассивный К серверу, от МФУ Передача данных по FTP в пассивном режиме; доставка заданий сканирования Порты взаимодействия с МФУ Порт Протокол Направление Назначение 631 TCP / IPP К МФУ, от сервера Взаимодействие сервера управления печатью и МФУ 9100 TCP / RAW К МФУ, от сервера Взаимодействие сервера управления печатью и МФУ 8090 TCP / HTTP Внутрисерверное Прямое скачивание файлов из CUPS (нешифрованное) 8091 TCP / HTTPS Внутрисерверное Прямое скачивание файлов из CUPS (шифрованное) 7776, 7777 TCP К серверу, от TCP-конвертеров При использовании TCP-конвертера; авторизация встроенных приложений на МФУ Специфичные порты по вендорам МФУ Порт Протокол Направление Назначение 57627 TCP К МФУ, от сервера Встроенные приложения МФУ HP 7627 TCP / SOAP К МФУ, от сервера Встроенные приложения МФУ HP (SOAP через HTTP) 50003 TCP К МФУ, от сервера Встроенные приложения МФУ Konica Minolta 50443 TCP К МФУ, от сервера Встроенные приложения МФУ Konica Minolta Кластерная конфигурация Порт Протокол Направление Назначение 6379, 26379 TCP Между серверами Принтум Кластер Redis Sentinel 7000 TCP / HTTPS К серверу с балансировщиком Техническая панель HAProxy для администратора Вспомогательные и syslog Порт Протокол Направление Назначение 514, 1514, 1468 TCP / UDP От сервера Мониторинга к syslog-серверу Выгрузка событий журнала ИБ в syslog 32768–60999 TCP (эфемерные) От серверов Принтум к внешним компонентам Динамические порты для исходящих соединений (инициатор соединения) — ICMP В любых направлениях Ping и диагностика Доступ для онлайн-установки и обновления Доступ к репозиторию Принтум: https://s3.printum.io (порт 443 ) При использовании облачной версии: доступ к dev.printum.io на порт 443

# Архитектурная схема и сетевые порты

---
title: Архитектурная схема и сетевые порты
slug: arhitekturnaya-skhema-i-setevye-porty
tags: [архитектура, порты, схема, компоненты, сетевая доступность, firewall]
domain: Architecture
type: Reference
audience: partner-engineer
product_versions: "4.x"
status: ready
related_components: [Мониторинг, ПринтМенеджер, Балансировщик, Клиент ПМ, Сетевой агент]
related_pages:
  - kak-obnovit-printum
  - trebovaniya-k-ssl-sertifikatam
---

# Архитектурная схема и сетевые порты

## Компоненты системы

| Компонент | Где устанавливается | Назначение |
|---|---|---|
| Мониторинг (М) | Сервер | Центральный узел: хранит конфигурацию, пользователей, устройства, статистику |
| ПринтМенеджер (ПринтМенеджер) | Сервер | Управляет печатью, сканированием, авторизацией на МФУ |
| Сетевой агент | Сервер М (или отдельный) | Опрашивает устройства по SNMP, собирает счётчики и статусы |
| Локальный агент | АРМ пользователя | Мониторинг локальных (USB) МФУ |
| Клиент ПМ | АРМ пользователя | Формирует задания печати и отправляет на ПринтМенеджер |
| Встроенное приложение | МФУ | Авторизация пользователей, управление заданиями на устройстве |
| TCP-конвертер | Сеть (внешнее устройство) | Внешняя авторизация по карте для МФУ без встроенного приложения |
| HAProxy (балансировщик) | Отдельный сервер | Балансировка нагрузки между несколькими ПринтМенеджер |

---

## Типовые конфигурации

**Singlenode** — М и ПринтМенеджер на одном сервере. Подходит для пилотов и небольших инсталляций.

**Split** — М на одном сервере, ПринтМенеджер на другом. Разделение нагрузки.

**Балансировщик** — один М и несколько ПринтМенеджер за HAProxy. Для высоконагруженных и отказоустойчивых инсталляций.

**Филиальная сеть** — центральный М и несколько ПринтМенеджер в разных локациях. Каждый ПринтМенеджер обслуживает своих пользователей и МФУ.

---

## Взаимодействие компонентов

```
АРМ пользователя
  └─ Клиент ПМ ──────────────────────→ ПринтМенеджер (8080)
  └─ Бесклиентский принтер ──────────→ ПринтМенеджер / CUPS (1631)

МФУ
  └─ Встроенное приложение ──────────→ ПринтМенеджер (7776/7777)
  └─ SNMP ───────────────────────────→ Сетевой агент (161 UDP)

ПринтМенеджер
  └─ синхронизация ──────────────────→ Мониторинг (8001)
  └─ задание на МФУ ─────────────────→ МФУ (631 / 9100)
  └─ скан на email ──────────────────→ SMTP-сервер (25)
  └─ скан в папку ───────────────────→ SMB-сервер

Мониторинг
  └─ журнал ИБ ──────────────────────→ Syslog (514/1514)

TCP-конвертер
  └─ авторизация ────────────────────→ ПринтМенеджер (7776/7777)
```

---

## Сетевые порты — singlenode

| Порт | Протокол | Направление | Назначение |
|---|---|---|---|
| 8000 | HTTP | АРМ → М | Личный кабинет (нешифрованный) |
| 8001 | HTTPS | АРМ → М, ПринтМенеджер → М | Личный кабинет и API Мониторинга |
| 8080 | HTTPS | АРМ → ПринтМенеджер, Клиент ПМ → ПринтМенеджер | Панель администратора ПринтМенеджер, API |
| 8010 | HTTP | Клиент ПМ → ПринтМенеджер | API ПринтМенеджер (нешифрованный) |
| 1631 | HTTPS | АРМ → ПринтМенеджер | Веб-интерфейс CUPS |
| 7776, 7777 | TCP/WS | Встроенное приложение → ПринтМенеджер, TCP-конвертер → ПринтМенеджер | Авторизация и управление на МФУ |
| 161 | UDP | Сетевой агент → МФУ | SNMP-опрос устройств |
| 162 | UDP | МФУ → М | SNMP-ловушки (trap) |
| 631 | IPP | ПринтМенеджер → МФУ | Отправка заданий на печать (IPP) |
| 9100 | TCP | ПринтМенеджер → МФУ | Отправка заданий на печать (RAW/JetDirect) |
| 20, 21 | FTP | МФУ → ПринтМенеджер | Доставка заданий сканирования (активный режим) |
| 30000–30199 | FTP | МФУ → ПринтМенеджер | Доставка заданий сканирования (пассивный режим) |
| 8090 | HTTP | Внутренний | Прямое скачивание файлов из CUPS (нешифрованный) |
| 8091 | HTTPS | Внутренний | Прямое скачивание файлов из CUPS (шифрованный) |
| 25 | SMTP | ПринтМенеджер → SMTP-сервер | Отправка писем и уведомлений |
| 993 | IMAP | ПринтМенеджер → почтовый сервер | Гостевая печать через почтовый ящик |
| 22 | SSH | АРМ администратора → сервер | Установка, обновление, диагностика |
| 514, 1514, 1468 | TCP/UDP | М → Syslog | Журнал ИБ |
| 32768–60999 | TCP | Сервер → внешние компоненты | Динамические (эфемерные) порты |

---

## Дополнительные порты — встроенные приложения по вендорам

| Порт | Направление | Вендор |
|---|---|---|
| 7627 | ПринтМенеджер → МФУ | HP (SOAP через HTTP) |
| 57627 | ПринтМенеджер → МФУ | HP |
| 50003 | ПринтМенеджер → МФУ | Konica Minolta |
| 50443 | ПринтМенеджер → МФУ | Konica Minolta |

---

## Дополнительные порты — балансировщик

| Порт | Направление | Назначение |
|---|---|---|
| 6379, 26379 | Между серверами ПринтМенеджер | Redis Sentinel (кластер хранилища задач) |
| 7000 | АРМ → балансировщик | Панель администратора HAProxy |

---

## Что открыть на firewall при внедрении

**Минимальный набор для singlenode:**

От АРМ пользователей к серверу: `8080`, `8010`, `1631`, `7776`, `7777`

От МФУ к серверу: `7776`, `7777`, `20-21`, `30000-30199`

От сервера к МФУ: `161` (UDP), `631`, `9100`

От сервера к внешним ресурсам: `25` (SMTP), `993` (IMAP, если гостевая печать через почту)

**При использовании балансировщика** дополнительно открыть между серверами ПринтМенеджер: `6379`, `26379`.

---

## Актуальная архитектурная схема

Полная графическая схема с детализацией внутренних компонентов предоставляется по запросу:
**support@printum.io**

В запросе указать: конфигурация (singlenode / балансировщик / филиальная сеть), цель запроса (согласование с ИБ, проектирование, ТЗ).

---

## Связанные страницы

- [Требования к SSL-сертификатам для Printum](trebovaniya-k-ssl-sertifikatam)
- [Как обновить Printum](kak-obnovit-printum)
- [Как работает отказоустойчивый ПринтМенеджер](kak-rabotaet-otkazoustoychivyy-printmanager)
- [Как работает филиальная архитектура Printum](kak-rabotaet-filialnaya-arhitektura-printum)

# Атрибуты доменов

# Атрибуты доменов — справочник

## Назначение

Справочник атрибутов LDAP для сопоставления с полями пользователей Printum. Используйте эту таблицу при настройке раздела **«Атрибуты»** в карточке домена (Настройки → Интеграции → Домены).

---

## Таблица атрибутов по контроллерам домена

<table id="bkmrk-%D0%9F%D0%BE%D0%BB%D0%B5-printumactive-d"><thead><tr><th>Поле Printum</th><th>Active Directory</th><th>FreeIPA / Samba DC / РЕД АДМ</th><th>ALD Pro</th></tr></thead><tbody><tr><td>Логин (username)</td><td>`sAMAccountName`</td><td>`uid`</td><td>`uid`</td></tr><tr><td>Идентификатор в домене (unique\_id)</td><td>`objectSid`</td><td>`uidNumber`</td><td>`uidNumber`</td></tr><tr><td>Фамилия (last\_name)</td><td>`sn`</td><td>`sn`</td><td>`sn`</td></tr><tr><td>Имя (first\_name)</td><td>`givenName`</td><td>`givenName`</td><td>`givenName`</td></tr><tr><td>Отчество (patronymic)</td><td>`personalTitle`</td><td>`personalTitle`</td><td>`rbtamiddlename`</td></tr><tr><td>Email (email)</td><td>`mail`</td><td>`mail`</td><td>`mail`</td></tr><tr><td>Доменные группы (domain\_groups)</td><td>`memberOf`</td><td>`memberOf`</td><td>`memberOf`</td></tr><tr><td>Должность (position)</td><td>`title`</td><td>`title`</td><td>`title`</td></tr><tr><td>Путь к папке (smb\_path)</td><td>`homeDirectory`</td><td>`homeDirectory`</td><td>`homeDirectory`</td></tr><tr><td>Срок действия аккаунта (account\_expires\_at)</td><td>`accountExpires`</td><td>`krbPrincipalExpiration`</td><td>`krbPasswordExpiration`</td></tr><tr><td>Параметры УЗ (user\_account\_control)</td><td>`UserAccountControl`</td><td>—</td><td>—</td></tr><tr><td>Аккаунт заблокирован (account\_lock)</td><td>—</td><td>`nsAccountLock`</td><td>`nsAccountLock`</td></tr></tbody></table>

---

## Примечания

- **ALD Pro:** нет разделения между группами и отделами — все отделы импортируются как группы.
- **FreeIPA / Samba DC / РЕД АДМ** используют одинаковые атрибуты, кроме срока действия аккаунта.
- Обязательные поля: Логин, Фамилия, Имя, Идентификатор в домене, Email.

---

## Связанные страницы

- [Интеграция с Active Directory](http://wiki.printum.io/books/4-integracii/page/integraciia-s-active-directory)
- [Интеграция с FreeIPA](http://wiki.printum.io/books/4-integracii/page/integraciia-s-freeipa)
- [Интеграция с Samba DC и РЕД АДМ](http://wiki.printum.io/books/4-integracii/page/integraciia-s-samba-dc-i-red-adm)
- [Интеграция с ALD Pro](http://wiki.printum.io/books/4-integracii/page/integraciia-s-ald-pro)
- [Настройка атрибутов домена](http://wiki.printum.io/books/4-integracii/page/nastroika-atributov-domena)

# Глоссарий

Термины и определения системы Принтум

# Глоссарий — термины мониторинга Принтум

Об этом глоссарии Глоссарий содержит термины, используемые в модуле Мониторинга Принтум. Понятия расположены от общих к частным. Локации Локации — один из способов группировки устройств в Мониторинге. Локация может соответствовать: региону или городу; этажу или кабинету; отделу или площадке. Технически локация задаётся набором IP-адресов или диапазонов IP-адресов. Устройство относится к локации, если его IP попадает в один из указанных диапазонов. Устройства Устройства в Мониторинге — любое оборудование, которое отвечает на SNMP-запросы: МФУ и МФУ; камеры, роутеры и другое сетевое оборудование. МФУ В документации Принтум под «МФУ» понимается любая печатающая техника: МФУ; МФУ; плоттеры. Серийный номер МФУ Серийный номер — уникальный идентификатор конкретного устройства. В Мониторинге серийный номер используется как основной идентификатор устройства . Это значит, что при смене IP-адреса (например, при переезде в другой кабинет) вся накопленная статистика сохраняется — устройство продолжает идентифицироваться по серийному номеру, а не по IP. Счётчик отпечатков Счётчик отпечатков — суммарное количество страниц, напечатанных устройством за всё время. Аналог одометра автомобиля. Счётчик получается от устройства по SNMP и не обнуляется при замене расходных материалов. Детали Детали — комплектующие МФУ и МФУ, имеющие ограниченный ресурс: картриджи; фотобарабаны; ролики; печки (фьюзеры); блоки проявки; бункеры отработанного тонера. Детали делятся на два класса: Расходные материалы — как правило, меняются пользователем. Ресурсные запчасти — как правило, меняются сервисным инженером. Расходные материалы Расходные материалы — детали с ограниченным сроком службы, обычно заменяемые пользователем. Примеры: картриджи, тонеры, фотобарабаны, бункеры отработанного тонера. Ресурсные запчасти Ресурсные запчасти — детали с ограниченным сроком службы, обычно заменяемые сервисным инженером. Примеры: ролики, печки (фьюзеры), блоки проявки. Ресурс детали Ресурс детали — максимальное количество страниц, которое деталь должна отработать. Обычно указывается производителем при 5–6% заполнении листа. Фактический ресурс зависит от условий эксплуатации, типа бумаги, типа печати, используемых расходных материалов и нагрузки на устройство. Оставшийся ресурс детали Оставшийся ресурс — количество страниц, которое деталь должна отработать до достижения максимального ресурса. Значение может: получаться непосредственно от устройства по SNMP; рассчитываться системой на основе счётчика отпечатков. Артикул Артикул — уникальный идентификатор модели детали. По артикулу система определяет конкретный тип расходного материала или запчасти. Альтернативные картриджи Альтернативные картриджи — несколько типов картриджей, совместимых с одним устройством. Примеры: стартовый, стандартный, повышенной ёмкости. В один момент времени в устройстве может использоваться только один из вариантов. Вендор Вендор — производитель оборудования. Примеры: HP, Canon, Xerox, Kyocera. В Мониторинге Принтум настройки интерпретации SNMP-данных организованы по иерархии «вендор → линейка → модель». Синонимы деталей Синонимы используются для сопоставления деталей, если устройство передаёт текстовое описание вместо конкретного артикула. Примеры: toner , waste toner box , fuser , roller .

# Технические концепции

# Как работают RFID и NFC картридеры

# Как работают RFID и NFC картридеры

## Назначение

Картридеры используются для идентификации пользователя по бесконтактной карте.
В контексте Принтум — для авторизации на МФУ.

## Основные стандарты

| Стандарт | Частота | Тип карты | Дальность |
|---|---|---|---|
| EM-Marine (EM4100/EM4102) | 125 кГц | Пассивная, read-only | до 10 см |
| HID Prox | 125 кГц | Пассивная, read-only | до 10 см |
| MIFARE Classic | 13,56 МГц | Пассивная, ISO 14443-A | до 10 см |
| MIFARE DESFire | 13,56 МГц | Пассивная, ISO 14443-A | до 10 см |
| HID iCLASS | 13,56 МГц | Пассивная | до 10 см |
| NFC (ISO 18092 / ISO 14443) | 13,56 МГц | Пассивная/активная | до 20 см |

## Принцип считывания

Ридер генерирует переменное электромагнитное поле.
Карта — пассивное устройство: она получает энергию через индуктивную связь и возвращает ответ с UID или шифрованными данными.

```text
Ридер  →  RF-поле (13,56 МГц или 125 кГц)  →  Карта
Карта  →  модулированный сигнал с UID        →  Ридер
```

Ридер передаёт UID (или расшифрованные данные) по одному из интерфейсов:
- Wiegand 26/34/37 — стандарт для СКУД и МФУ;
- USB HID — эмуляция клавиатуры;
- RS-232 / RS-485 — последовательный интерфейс;
- OSDP — современный защищённый протокол.

## Почему карта иногда не читается

| Причина | Объяснение |
|---|---|
| Несовпадение стандарта | Ридер 125 кГц не читает MIFARE (13,56 МГц) |
| Слишком большое расстояние | Превышена рабочая дальность ридера |
| Помехи | Металлические поверхности экранируют поле |
| Повреждённая антенна карты | Физическое повреждение внутренней катушки |
| Конфликт UID | На заводских MIFARE Classic UID может совпасть у разных карт |
| Блокировка сектора | MIFARE Classic: сектор заперт неизвестным ключом |
| Карта в чехле с другими картами | Коллизия при антиколлизионной процедуре |

## Связь с авторизацией в Принтум

ПринтМенеджер получает UID карты от ридера и сопоставляет его с учётной записью пользователя.
Сопоставление может быть выполнено:
- через синхронизацию из LDAP/AD (атрибут карты в профиле пользователя);
- через Личный кабинет — пользователь самостоятельно привязывает карту.

После идентификации пользователь получает доступ к своим заданиям на МФУ.

# Протоколы сетевой печати — IPP, RAW, LPD

Протоколы сетевой печати — IPP, RAW, LPD Обзор Протокол Порт RFC Тип соединения IPP 631 RFC 8011 HTTP/HTTPS (двунаправленный) RAW (JetDirect) 9100 — TCP (однонаправленный поток) LPD/LPR 515 RFC 1179 TCP (устаревший) IPP (Internet Printing Protocol) IPP построен поверх HTTP (порт 631) или HTTPS (IPPS, порт 443/631). Возможности: двунаправленная коммуникация: МФУ сообщает статус задания, уровень тонера и ошибки; аутентификация (Basic, Digest, Negotiate); шифрование через TLS; управление очередью: пауза, отмена, приоритет; поддержка IPP Everywhere — печать без установки драйверов. IPP используется в macOS (CUPS), Android, Windows 10+. RAW (JetDirect / порт 9100) Простой TCP-поток: клиент открывает соединение на порт 9100 и передаёт PDL (PCL, PostScript, PDF). Особенности: нет встроенной обратной связи о статусе; максимальная совместимость — поддерживают практически все МФУ; минимальные накладные расходы протокола; драйвер на стороне клиента формирует полный PDL. LPD/LPR Протокол 1980-х годов (RFC 1179). Используется в legacy-окружениях. Особенности: порт 515, TCP; очередь задаётся именем (queue name); ограниченные возможности управления; не поддерживает шифрование. Когда что использовать Ситуация Рекомендуемый протокол Современный МФУ, нужен статус задания IPP Максимальная совместимость, legacy-устройство RAW (9100) Печать из UNIX/Linux без CUPS LPD/LPR Защищённая сеть, нужно шифрование IPPS (IPP over TLS) Как Принтум использует эти протоколы ПринтМенеджер принимает задания от клиентов через установленные порты. Для отправки задания на физическое устройство ПринтМенеджер использует RAW (порт 9100) или IPP в зависимости от конфигурации МФУ. Протокол зависит от вендора и задаётся в карточке устройства (вкладка «Драйвер»). Для большинства устройств используется socket (порт 9100, аналог RAW): HP, Kyocera, Pantum, Sharp, Sindoh. Konica Minolta и Xerox поддерживают socket и ipp . Avison, Brother, Epson, Lexmark, Ricoh — socket и http . Протокол обновляется автоматически при изменении в интерфейсе и применяется после синхронизации. в Принтум.

# Как работает SNMP в контексте мониторинга принтеров

Как работает SNMP в контексте мониторинга МФУ Что такое SNMP SNMP (Simple Network Management Protocol) — протокол для мониторинга и управления сетевыми устройствами. Работает по UDP, порт 161 (агент) и 162 (trap-сообщения). Версии Версия Аутентификация Шифрование Статус SNMPv1 Community string (plaintext) Нет Устаревший SNMPv2c Community string (plaintext) Нет Широко используется SNMPv3 Имя пользователя + пароль AES/DES Рекомендуется Community string Community string в SNMPv1/v2c — текстовая строка, выполняющая роль пароля. public — стандартное read-only значение; private — стандартное read-write значение; Передаётся в открытом виде (нет шифрования). Важно: многие устройства поставляются с дефолтными community strings. Их следует изменить. OID и MIB OID (Object Identifier) — иерархический идентификатор объекта мониторинга. .1.3.6.1.2.1.43.11.1.1.9.1.1 — уровень тонера (Printer MIB, RFC 3805) .1.3.6.1.2.1.43.10.2.1.4.1.1 — счётчик страниц .1.3.6.1.2.1.1.1.0 — sysDescr (описание устройства) MIB (Management Information Base) — база описаний OID. Для МФУ: Printer-MIB (RFC 3805), Host Resources MIB (RFC 2790). Операции SNMP Операция Описание GET Запрос значения одного OID GET-NEXT / GET-BULK Обход дерева OID SET Изменение значения (требует write-доступа) TRAP / INFORM Уведомление от устройства (push) Почему устройства иногда не отвечают Причина Решение Неверный community string Проверить настройки устройства SNMP отключён на устройстве Включить в настройках МФУ Брандмауэр блокирует UDP 161 Открыть порт Устройство поддерживает только SNMPv3, запрашивается v2c Привести версии в соответствие Устройство перегружено и не успевает ответить Увеличить timeout на стороне менеджера IP-фильтр на устройстве Добавить IP сервера мониторинга в разрешённые Как Принтум использует SNMP Принтум опрашивает МФУ по SNMP для получения: текущего статуса устройства (готов, ошибка, офлайн); уровней расходных материалов (тонер, барабан); счётчиков страниц; информации о лотках и бумаге. Принтум поддерживает SNMP v1, v2c и v3 . По умолчанию устройства опрашиваются по SNMP v1/v2c (community string). Для SNMP v3 необходимо отдельно указать логин и пароль — в параметрах сканирования сети в панели администратора Мониторинга (либо в карточке конкретного устройства). При наличии учётных данных v3 все устройства локации переводятся на опрос только по SNMP v3. и как настраивается community string для устройства. Почему разные вендоры показывают разные данные Стандарт Printer MIB (RFC 3805) определяет структуру данных, но не способ их передачи. Производители реализуют его по-своему, что приводит к различиям в поведении устройств. Производители по-разному реализуют Printer MIB (RFC 3805). Одни передают оставшийся ресурс в процентах, другие — в страницах, третьи не передают вообще и возвращают -1 или 0 . Некоторые устройства передают некорректные значения ( 253 , 254 ) — Принтум их игнорирует. Принтум компенсирует отсутствие данных: если устройство не передаёт ресурс детали — Принтум рассчитывает его самостоятельно по счётчику отпечатков. Расчётные значения помечаются символом * , чтобы отличать их от данных, полученных напрямую от устройства. Разные детали используют разные счётчики: чёрный тонер — общий счётчик отпечатков, цветной тонер — счётчик цветных отпечатков, ролик АПД — счётчик АПД. Это нормальное поведение — не баг системы, а особенность реализации SNMP конкретными вендорами.

# Как работает Kerberos — основы для инженера Принтум

# Как работает Kerberos — основы для инженера Принтум

## Назначение

Kerberos — сетевой протокол аутентификации на основе тикетов (RFC 4120).
Позволяет пользователям доказывать свою идентичность сервисам без передачи пароля по сети.

## Основные компоненты

| Компонент | Описание |
|---|---|
| KDC (Key Distribution Center) | Центр выдачи тикетов, обычно совмещён с AD |
| AS (Authentication Service) | Выдаёт TGT после проверки пароля |
| TGS (Ticket Granting Service) | Выдаёт тикеты сервисов на основе TGT |
| TGT (Ticket Granting Ticket) | Первичный тикет, подтверждает личность пользователя |
| ST (Service Ticket) | Тикет для доступа к конкретному сервису |
| Realm | Административный домен Kerberos (обычно = DNS-домен, UPPER CASE) |

## Процесс аутентификации

```text
1. Клиент  →  AS:   AS-REQ (имя пользователя)
2. AS      →  Клиент: AS-REP (TGT, зашифрован ключом KDC)
3. Клиент  →  TGS:  TGS-REQ (TGT + имя сервиса)
4. TGS     →  Клиент: TGS-REP (Service Ticket)
5. Клиент  →  Сервис: AP-REQ (Service Ticket)
6. Сервис  →  Клиент: AP-REP (подтверждение)
```

## Почему вход прозрачный (SSO)

После получения TGT (шаги 1–2, выполняются при входе в Windows/Linux) все последующие обращения к сервисам
(шаги 3–6) происходят автоматически — пользователь не вводит пароль повторно.

TGT имеет срок жизни — как правило, 8–10 часов (настраивается в политиках домена).
По истечении требуется повторная аутентификация или продление (renewal).

## Ключевые свойства

- Пароль пользователя **никогда** не передаётся по сети.
- Используется симметричное шифрование (AES-256 в современных реализациях).
- Все тикеты ограничены по времени (timestamp + skew до 5 минут).
- Расхождение системных часов более 5 минут приводит к ошибке `KRB_AP_ERR_SKEW`.

## Связь с SSO в Принтум

Принтум может использовать Kerberos/GSSAPI для прозрачной аутентификации пользователей
в среде Active Directory — пользователь, вошедший в домен, получает доступ к сервисам Принтум
без повторного ввода пароля.

TODO: уточнить — поддерживается ли Kerberos SSO напрямую или только через промежуточный IdP (например, ADFS/Keycloak).

# Как работает SAML 2.0 — основы для инженера Принтум

# Как работает SAML 2.0 — основы для инженера Принтум

## Назначение

SAML 2.0 (Security Assertion Markup Language) — стандарт обмена данными аутентификации и авторизации
между IdP и SP на основе XML (OASIS, 2005).

## Основные роли

| Роль | Описание | Пример |
|---|---|---|
| IdP (Identity Provider) | Аутентифицирует пользователя и выдаёт assertions | ADFS, Keycloak, Okta, Azure AD |
| SP (Service Provider) | Принимает assertions и предоставляет доступ | Принтум, веб-приложение |
| Пользователь (User Agent) | Браузер, который перенаправляется между IdP и SP | Браузер пользователя |

## Типы assertions

| Тип | Содержимое |
|---|---|
| Authentication assertion | Кто пользователь, когда и как аутентифицирован |
| Attribute assertion | Атрибуты пользователя (email, группы, роль) |
| Authorization assertion | Права доступа (используется редко) |

## SP-initiated flow (наиболее распространён)

```text
1. Пользователь  →  SP:    обращается к защищённому ресурсу
2. SP            →  Браузер: HTTP 302, AuthnRequest (SAML Request)
3. Браузер       →  IdP:   перенаправление с AuthnRequest
4. IdP           →  Пользователь: форма входа (если нет сессии)
5. IdP           →  Браузер: HTTP 200 + форма с SAML Response (POST binding)
6. Браузер       →  SP:    POST с SAML Response (assertion)
7. SP            →  Пользователь: доступ разрешён
```

## Bindings

| Binding | Механизм передачи |
|---|---|
| HTTP Redirect | AuthnRequest передаётся в URL (GET), подписывается query string |
| HTTP POST | Response передаётся в теле формы (Base64-encoded XML) |
| HTTP Artifact | Ссылка на assertion; SP забирает напрямую у IdP |

## Безопасность

- Assertions подписываются IdP с помощью X.509-сертификата.
- SP проверяет подпись перед обработкой.
- Assertion содержит `NotBefore` и `NotOnOrAfter` — временное окно действия.
- Для защиты от replay-атак используется `InResponseTo` и однократное использование assertion ID.

## Связь с SSO в Принтум

Принтум (в роли SP) может принять аутентификацию от корпоративного IdP по SAML 2.0.
Пользователь, уже вошедший в корпоративный IdP, получает доступ к Личному кабинету без ввода пароля.

TODO: уточнить — какие атрибуты assertion Принтум использует для сопоставления пользователя (NameID, email, UPN).

# Как работает LDAP — основы для инженера Принтум

# Как работает LDAP — основы для инженера Принтум

## Назначение

LDAP (Lightweight Directory Access Protocol, RFC 4511) — протокол доступа к каталогу.
Чаще всего используется для хранения учётных записей пользователей (Microsoft Active Directory, OpenLDAP, FreeIPA).

## Порты

| Режим | Порт |
|---|---|
| LDAP (plaintext / StartTLS) | 389 |
| LDAPS (TLS с первого байта) | 636 |
| AD Global Catalog | 3268 / 3269 (LDAPS) |

## Структура каталога (DIT)

Каталог — дерево записей (Directory Information Tree).

```text
dc=example,dc=com
├── ou=Users
│   ├── cn=Ivan Petrov
│   └── cn=Anna Sidorova
├── ou=Groups
│   └── cn=PrintUsers
└── ou=Computers
    └── cn=WS001
```

| Атрибут | Расшифровка | Пример |
|---|---|---|
| DC | Domain Component | `dc=example,dc=com` |
| OU | Organizational Unit | `ou=Users` |
| CN | Common Name | `cn=Ivan Petrov` |
| DN | Distinguished Name | `cn=Ivan Petrov,ou=Users,dc=example,dc=com` |
| SN | Surname | `sn=Petrov` |
| UID | User ID (OpenLDAP) | `uid=ipetrov` |
| sAMAccountName | Логин Windows (AD) | `ipetrov` |
| userPrincipalName | UPN (AD) | `ipetrov@example.com` |

## Bind (аутентификация)

Bind — операция аутентификации клиента на LDAP-сервере.

| Тип | Описание |
|---|---|
| Simple bind | DN + пароль в открытом виде (требует TLS) |
| Anonymous bind | Без аутентификации (ограниченный доступ) |
| SASL / GSSAPI | Kerberos или другие механизмы |

Сервис, читающий каталог, выполняет bind с отдельной учётной записью (service account / bind DN).

## Фильтры поиска

Фильтры определяют, какие записи возвращает запрос.

| Фильтр | Значение |
|---|---|
| `(objectClass=user)` | Все объекты типа user |
| `(sAMAccountName=ipetrov)` | Конкретный пользователь |
| `(&(objectClass=person)(mail=*))` | Все люди с заполненным email |
| `(\|(ou=IT)(ou=Finance))` | Записи из OU IT или Finance |
| `(memberOf=cn=PrintUsers,ou=Groups,dc=example,dc=com)` | Члены группы PrintUsers |

## Как Принтум использует LDAP

Принтум подключается к LDAP/AD для:
- синхронизации учётных записей пользователей;
- получения атрибутов (имя, email, номер карты, группы);
- проверки членства в группах для управления доступом;
- аутентификации пользователей через bind с их учётными данными.

Синхронизация выполняется периодически. При отказе LDAP Принтум продолжает работу
с последними синхронизированными данными (degraded mode).

TODO: уточнить — какие именно атрибуты AD/LDAP синхронизируются в Принтум и как часто выполняется синхронизация.

# Как работает HAProxy в кластере Принтум

# Как работает HAProxy в кластере Принтум

## Назначение

HAProxy (Отказоустойчивая конфигурация Proxy) — программный балансировщик нагрузки и прокси уровней L4/L7. В кластере Принтум используется для распределения запросов между узлами ПринтМенеджера.

## Алгоритмы балансировки

<table id="bkmrk-%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%9A%D0%BE"><thead><tr><th>Алгоритм</th><th>Описание</th><th>Когда применять</th></tr></thead><tbody><tr><td>`roundrobin`</td><td>Запросы распределяются поочерёдно</td><td>Однородная нагрузка, равноценные узлы</td></tr><tr><td>`leastconn`</td><td>Запрос идёт к узлу с наименьшим числом соединений</td><td>Долгоживущие соединения</td></tr><tr><td>`source`</td><td>Хэш по IP клиента, клиент всегда попадает на один узел</td><td>Sticky sessions без cookies</td></tr><tr><td>`uri`</td><td>Хэш по URI</td><td>Кэшируемые сервисы</td></tr><tr><td>`random`</td><td>Случайный выбор из N лучших</td><td>Упрощённое распределение</td></tr><tr><td>`first`</td><td>Первый доступный узел в порядке списка</td><td>Active-passive</td></tr></tbody></table>

## Health Check

HAProxy периодически проверяет доступность backend-узлов.

<table id="bkmrk-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-tcp-che"><thead><tr><th>Тип</th><th>Описание</th></tr></thead><tbody><tr><td>TCP check</td><td>Проверяет только открытие TCP-соединения</td></tr><tr><td>HTTP check</td><td>Отправляет HTTP-запрос, проверяет статус ответа</td></tr><tr><td>Agent check</td><td>Опрашивает внешний агент на узле для получения веса</td></tr></tbody></table>

Параметры проверки:

- `inter` — интервал между проверками (например, 2s);
- `rise` — количество успешных проверок для возврата в пул;
- `fall` — количество неудачных проверок для исключения из пула.

## Failover

```text
Штатная работа:
  Клиент → HAProxy → [PM1] [PM2]

Отказ PM1:
  HAProxy детектирует неудачу health check (после N попыток)
  PM1 помечается DOWN
  Все новые запросы → PM2

Восстановление PM1:
  HAProxy детектирует успех health check (после M попыток)
  PM1 возвращается в пул
  Запросы снова распределяются между PM1 и PM2

```

Во время failover активные соединения к PM1 прерываются — клиент получает ошибку или retry.

## Sticky Sessions

Если ПринтМенеджер хранит сессионное состояние локально, необходима привязка клиента к узлу:

- `cookie` — HAProxy вставляет cookie с идентификатором узла;
- `source` — привязка по IP.

В Active-Active кластере Принтум сессионное состояние хранится в Redis — sticky sessions не требуются.

## Роль HAProxy в Active-Active конфигурации Принтум

```text
                ┌─────────┐
Клиент ПМ ──→  │  HAProxy │
                └────┬────┘
           ┌─────────┴─────────┐
           ▼                   ▼
    ПринтМенеджер 1     ПринтМенеджер 2
           │                   │
           └────────┬──────────┘
                    ▼
              Shared Redis
              Shared NFS

```

- Оба узла активны, обрабатывают запросы одновременно.
- HAProxy распределяет входящие HTTP-запросы (Клиент ПМ, API, Встроенное приложение).
- При отказе одного узла HAProxy автоматически направляет весь трафик на второй.

В стандартной конфигурации используется алгоритм **Round Robin** с включением **Sticky Session**. Параметры таймаутов: сервера — 30 сек, клиента — 30 сек, соединения — 5 сек. Повторы (retries) не требуются. Принтум.

# Как работает Redis Sentinel

# Как работает Redis Sentinel

## Назначение

Redis Sentinel — система мониторинга и автоматического failover для Redis. Обеспечивает высокую доступность без ручного вмешательства при отказе мастера.

## Топология

```text
┌───────────┐     репликация     ┌───────────┐
│  Мастер   │ ─────────────────► │  Реплика  │
└───────────┘                    └───────────┘
      ▲                                ▲
      │          мониторинг            │
┌─────┴──────────────────────────┐    │
│  Sentinel 1  Sentinel 2  Sentinel 3 │
└────────────────────────────────┘

```

Минимальная рекомендуемая конфигурация: **3 Sentinel-процесса** (нечётное число для кворума).

## Кворум (quorum)

Кворум — минимальное количество Sentinel-узлов, которые должны согласиться, что мастер недоступен, прежде чем начнётся выборы нового мастера.

<table id="bkmrk-%D0%9F%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80-%D0%A0%D0%B5%D0%BA%D0%BE%D0%BC%D0%B5%D0%BD%D0%B4%D0%B0%D1%86%D0%B8"><thead><tr><th>Параметр</th><th>Рекомендация</th></tr></thead><tbody><tr><td>Число Sentinel</td><td>3</td></tr><tr><td>Кворум</td><td>2</td></tr></tbody></table>

Если кворум не достигнут, failover не выполняется — защита от split-brain.

## Выборы мастера

1. Sentinel-ы обнаруживают, что мастер не отвечает в течение `down-after-milliseconds`.
2. Каждый Sentinel помечает мастер как **SDOWN** (субъективно недоступен).
3. Когда `quorum` Sentinel-ов помечают мастер — он становится **ODOWN** (объективно недоступен).
4. Один из Sentinel-ов избирается **лидером** через алгоритм Raft.
5. Лидер выбирает лучшую реплику для повышения до мастера.

## Критерии выбора новой реплики

- Реплика должна быть online.
- Предпочитается реплика с наименьшим `slave-priority`.
- При равном приоритете — с наибольшим `replication_offset` (меньше отставание).
- При равном offset — с наименьшим runid (детерминированный выбор).

## Процесс failover

```text
1. Лидер отправляет SLAVEOF NO ONE выбранной реплике → она становится мастером
2. Остальные реплики переключаются на нового мастера (SLAVEOF <new-master>)
3. Клиенты получают уведомление через Pub/Sub или переспрашивают адрес мастера
4. Старый мастер (после восстановления) становится репликой нового

```

## Взаимодействие клиентов

Клиент подключается к Sentinel для получения адреса текущего мастера:

```text
SENTINEL get-master-addr-by-name <master-name>
→ возвращает IP:PORT актуального мастера

```

Redis-клиенты с поддержкой Sentinel (Jedis, StackExchange.Redis, redis-py) делают это автоматически.

## Роль Redis Sentinel в кластере ПринтМенеджера

Redis используется в кластере Принтум для:

- хранения пользовательских сессий;
- очередей заданий между узлами ПринтМенеджера;
- кэширования данных конфигурации.

Redis Sentinel обеспечивает автоматическое переключение при отказе Redis-мастера, чтобы оба узла ПринтМенеджера сохраняли доступ к данным.

В стандартной конфигурации разворачиваются **3 Sentinel-процесса** — по одному на каждый узел ПринтМенеджера (переменная REDIS\_SENTINEL\_LIST содержит 3 IP-адреса). TODO: уточнить точное значение кворума — в документации явно не указано. в стандартной конфигурации Принтум.

# Зачем нужен NFS в кластерной конфигурации

Зачем нужен NFS в кластерной конфигурации Назначение NFS (Network File System) — сетевой протокол для совместного доступа к файловой системе (RFC 7530 для v4). В кластере Принтум используется как общее хранилище заданий печати. Версии NFS Версия Статус Ключевые особенности NFSv3 Широко используется Stateless, UDP/TCP, порт 2049 NFSv4 Рекомендуется Stateful, только TCP, порт 2049, ACL, Kerberos NFSv4.1/4.2 Современный pNFS, параллельный доступ, улучшенная производительность Принцип работы NFS-сервер экспортирует директорию: /exports/printum-jobs NFS-клиенты (узлы ПринтМенеджера) монтируют её: mount -t nfs nfs-server:/exports/printum-jobs /var/printum/jobs Оба клиента видят одну и ту же файловую систему: ПринтМенеджер 1: /var/printum/jobs/ ←─── один каталог ───→ ПринтМенеджер 2 Почему задания нужно хранить централизованно В Active-Active кластере любой узел может получить запрос от любого пользователя. Без общего хранилища: Пользователь отправил задание через ПринтМенеджер 1. Он подходит к МФУ и его запрос попадает на ПринтМенеджер 2. ПринтМенеджер 2 не видит задания — release-печать невозможна. С NFS: Задание сохраняется в общую директорию. Любой узел читает задание и отправляет его на МФУ. Роль NFS в Active-Active кластере Принтум ┌──────────────────────────────────┐ │ NFS-сервер │ │ /exports/printum-jobs │ └──────────────┬───────────────────┘ │ NFS mount ┌──────────┴──────────┐ ▼ ▼ ПринтМенеджер 1 ПринтМенеджер 2 /var/printum/jobs /var/printum/jobs (одна и та же физическая директория) Файлы заданий создаются и читаются через единую точку монтирования. HAProxy определяет, какой узел обработает запрос release, но оба могут прочитать задание. NFS-сервер должен быть отказоустойчивым сам по себе (например, HA NFS с DRBD, Pacemaker или Ceph). Производительность и надёжность Аспект Рекомендация Сеть Выделенная сеть хранилищ (10 Гбит/с) или отдельный VLAN NFS-опции монтирования rsize=1048576,wsize=1048576,hard,intr,timeo=600 Блокировки (locks) NFSv4 использует встроенные блокировки; NFSv3 требует rpc.lockd Отказ NFS При недоступности NFS (hard mount) операции I/O зависают — критично для ПринтМенеджер Рекомендуемая версия NFS — 4 (nfsvers=4). Допустимые значения nfsvers: 3, 4, 4.2. Стандартные опции монтирования: addr=NFS_ADDR,nolock,soft,rw . Для явного указания версии: addr=NFS_ADDR,nolock,soft,rw,nfsvers=4 — задаётся в переменной DRIVER_OPTS_O в файле .env ПринтМенеджера.

# Как устроен SNMP и что Принтум получает от принтеров

Кратко SNMP (Simple Network Management Protocol) — протокол опроса сетевых устройств. Принтум использует SNMP для получения данных от МФУ и МФУ без установки агентов на устройства. Как устроена информация в МФУ Каждый МФУ содержит базу данных объектов — MIB (Management Information Base) . Каждый объект в MIB имеет уникальный адрес — OID (Object Identifier) . OID — это числовой путь, например: 1.3.6.1.2.1.43.11.1.1.9.1.1 Структура OID иерархична — как путь в файловой системе: 1.3.6.1 — интернет 1.3.6.1.2 — management 1.3.6.1.2.1 — mib-2 (стандартные объекты) 1.3.6.1.2.1.43 — Printer MIB (RFC 3805) 1.3.6.1.2.1.43.11 — prtMarker (данные о расходных материалах) Что можно получить по OID Данные OID-ветка Примечание Модель устройства 1.3.6.1.2.1.25.3.2.1.3 hrDeviceDescr Серийный номер 1.3.6.1.2.1.43.5.1.1.17 prtGeneralSerialNumber Счётчик отпечатков 1.3.6.1.2.1.43.10.2.1.4 prtMarkerLifeCount Оставшийся ресурс тонера 1.3.6.1.2.1.43.11.1.1.9 prtMarkerSuppliesLevel Максимальный ресурс 1.3.6.1.2.1.43.11.1.1.8 prtMarkerSuppliesMaxCapacity Статус устройства 1.3.6.1.2.1.25.3.5.1.1 hrPrinterStatus IP-адрес 1.3.6.1.2.1.4.20.1.1 ipAdEntAddr Версии SNMP Версия Аутентификация Когда использовать SNMPv1 Community string (открытый текст) Старые устройства SNMPv2c Community string (открытый текст) Большинство современных устройств SNMPv3 Логин + пароль + шифрование Повышенные требования к безопасности Принтум поддерживает SNMPv1 и SNMPv2c. Community string по умолчанию: public . Почему разные вендоры показывают разные данные Стандарт Printer MIB (RFC 3805) описывает общую структуру. Но производители реализуют его по-своему: Одни передают оставшийся ресурс в процентах. Другие — в страницах. Третьи не передают вообще и возвращают -1 или 0 . Некоторые устройства передают некорректные значения ( 253 , 254 ). Принтум компенсирует это: Если устройство передаёт данные — использует их напрямую. Если не передаёт — рассчитывает самостоятельно по счётчику отпечатков. Расчётные значения помечаются символом * . Как проверить SNMP вручную Команда snmpwalk позволяет просмотреть все данные устройства: snmpwalk -v 2c -c public <ip-адрес-МФУ> Получить конкретный OID: snmpget -v 2c -c public <ip> 1.3.6.1.2.1.43.10.2.1.4.1.1 Это полезно при диагностике — если snmpwalk не отвечает, устройство не будет обнаружено Сетевым агентом. Связанные страницы Как рассчитывается ресурс деталей МФУ не обнаружен при сетевом сканировании Сетевой агент — справка по компоненту

# Встроенное приложение

Совместимость встроенного приложения с МФУ различных вендоров

# Совместимость встроенного приложения с МФУ

## Важная информация о совместимости

Встроенные приложения Printum разрабатываются под **платформу** печатающих устройств, а не под конкретные модели. Производители МФУ указывают, какие модели поддерживают ту или иную платформу — именно эти модели включены в список совместимости.

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

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

## Таблица платформ по вендорам

| Вендор | Платформа | Минимальная версия | Способ установки | Примечания |
|--------|-----------|-------------------|-----------------|------------|
| HP | OXPd | 1.7 (для Pro-моделей) | По кнопке из Личного кабинета | Устройство должно поддерживать все сервисы платформы OXPd. Устройства, поддерживающие только часть сервисов, требуют дополнительного тестирования. На устройствах OfficeJet Pro требуется OPS-сервер. |
| Xerox | EIP | 2.5 | По кнопке из Личного кабинета | Аутентификация работает на аппаратах с EIP 1.0 и выше. Аппарат должен поддерживать подключение USB-ридера. |
| Kyocera | HyPAS | 2.1.3 | Установка с флешки | На устройствах с более старой версией платформы может быть доступна только часть функционала. Для работы со считывателями карт требуется Kyocera Card Authentication Kit. |
| Ricoh | SmartSDK | 2.5 | Загрузка файла на МФУ | Работает с панелями управления Smart Operation Panel (SOP) G 2/2.5. |
| Lexmark | LeSF | 4 | Загрузка файла на МФУ | — |
| Fplus | LeSF | 4 | Загрузка файла на МФУ | Платформа идентична Lexmark. |
| Sharp | OSA | 3.5 | По кнопке из Личного кабинета | Требуется покупка дополнительных модулей: APPLICATION COMMUNICATION MODULE (MX-AMX2) и EXTERNAL ACCOUNT MODULE (MX-AMX3). |
| Pantum | PEDK | — | Загрузка файла на МФУ | — |
| Konica Minolta | OpenAPI / IWS | — | По кнопке из Личного кабинета | Требуется уточнение минимальной версии. |
| Brother | BSI | — | Загрузка файла на МФУ | Требуется уточнение минимальной версии. |
| Epson | Open Platform | — | Загрузка файла на МФУ | Требуется уточнение минимальной версии. |
| Avision | — | — | Загрузка файла на МФУ | Требуется уточнение платформы и версии. |
| Sindoh | Konica Minolta (прошивка) | — | TODO: уточнить | Для установки приложения на МФУ Sindoh необходимо сначала установить прошивку Konica Minolta. |
| Гравитон | — | — | Загрузка файла на МФУ | Требуется уточнение. |

## Детали по вендорам

### HP

Для корректной работы встроенного приложения устройство должно поддерживать все сервисы платформы HP OXPd.

На устройствах Pro требуется OXPd версии 1.7. Более поздние версии OXPd не поддерживаются. Службы OXPd Pro (OPS) необходимы для включения решений OXPd на устройствах OfficeJet Pro. Перед настройкой решений на этих устройствах необходимо установить и запустить сервер OPS.

### Xerox

Для корректной работы устройство должно поддерживать платформу Xerox EIP 2.5 и выше. Аутентификация может работать на аппаратах с EIP 1.0 и выше.

Аппарат также должен поддерживать подключение USB-ридера. Некоторые старые аппараты, поддерживающие EIP, не позволяют подключить ридер — для авторизации по картам в этом случае нужно использовать специальное оборудование.

В некоторых случаях на устройства, не указанные в таблице совместимости, может быть установлена обновлённая прошивка с поддержкой нужной версии платформы. Уточняйте версию платформы у поставщика оборудования или у специалистов технической поддержки.

### Kyocera

Для корректной работы на МФУ или МФУ должна быть платформа HyPAS 2.1.3 или выше. На устройствах с более старой версией платформы может быть доступна только часть функционала, требуется дополнительное тестирование.

Для работы МФУ и встроенного приложения со считывателями карт авторизации для всего модельного ряда Kyocera требуется приобретение Kyocera Card Authentication Kit.

### Ricoh

Приложение работает на платформах SmartSDK версии 2.5 и выше с панелями управления Smart Operation Panel (SOP) G 2/2.5.

### Lexmark

Для корректной работы устройство должно поддерживать платформу LeSF 4 и выше.

### Fplus

Для корректной работы устройство должно поддерживать платформу LeSF 4 и выше.

### Sharp

Для корректной работы устройство должно поддерживать платформу OSA 3.5 и выше.

Необходима покупка дополнительных модулей:
- **APPLICATION COMMUNICATION MODULE (MX-AMX2)** — комплект для обработки функций сканирования и печати.
- **EXTERNAL ACCOUNT MODULE (MX-AMX3)** — комплект для управления информацией аутентификации.

### Pantum

Для корректной работы устройство должно поддерживать платформу PEDK.

### Sindoh

Для установки приложения Printum на МФУ Sindoh необходимо сначала установить прошивку Konica Minolta.

### Brother, Epson, Konica Minolta, Avision, Гравитон

Минимальные требования к версии платформы уточняются. Обратитесь в техническую поддержку Printum.

# Совместимость встроенного приложения Printum с МФУ

# 

### Важная информация о совместимости

Наши встроенные приложения разрабатываются под *платформу* печатающих устройств, а не под конкретные модели. Производители МФУ указывают, какие модели поддерживают ту или иную платформу — и именно эти модели мы включаем в список совместимости.

Мы тестируем работу приложения на референсных устройствах данной платформы. Однако из\-за большого количества моделей и возможных отличий в прошивках или аппаратной реализации фактическое поведение приложения на отдельных устройствах может отличаться.

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

### HP

| Для корректной работы встроенного приложения, устройство должно поддерживать все сервисы платформы OXPd. \* Поддерживает только часть сервисов платформы НР OXPd, требуется дополнительное тестирование. Может потребоваться разработка дополнительного приложения. |
| :---- |
| \*\* На устройствах Pro требуется OXPd версии 1.7. Более поздние версии OXPd не поддерживаются. Службы OXPd Pro (OPS) необходимы для включения решений OXPd на устройствах OfficeJet Pro. Перед настройкой решений на этих устройствах необходимо установить и запустить сервер OPS. |

### Xerox

Для корректной работы встроенного приложения, устройство должно поддерживать платформу Xerox EIP 2.5 и выше. Аутентификация может работать на аппаратах с EIP 1.0 и выше.

Также аппарат должен поддерживать подключение USB-ридера. Некоторые старые аппараты, хотя и поддерживают EIP, не позволяют подключить ридер (для авторизации по картам нужно использовать специальное оборудование).

В таблице ниже представлены устройства, которые поддерживают платформу Xerox EIP 2.5 и выше. 

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

### Lexmark

Для корректной работы встроенного приложения, устройство должно поддерживать платформу LeSF 4 и выше.

### Ricoh	

Приложение работает на платформах SmartSDK версии 2.5 и выше с панелями управления Smart Operation Panel (SOP) G 2/2.5.

### Fplus

Для корректной работы встроенного приложения, устройство должно поддерживать платформу LeSF 4 и выше.

### Brother

Требуется уточнение

### Epson

Требуется уточнение

### Konica Minolta

Требуется уточнение

### Avision

Требуется уточнение

### Kyocera

Для корректной работы встроенного приложения на МФУ или МФУ должна быть платформа HyPAS 2.1.3. или выше. На устройствах с более старой версией платформ может быть доступна только часть функционала, требуется дополнительное тестирование.  
Для работы МФУ и встроенного приложения со считывателями карт авторизации для всего модельного ряда Kyocera требуется приобретения Kyocera Card Authentication Kit.

### Sharp

Для корректной работы встроенного приложения, устройство должно поддерживать платформу OSA 3.5 и выше.

Необходима покупка дополнительных модулей:

* Модуль связи приложения (APPLICATION COMMUNICATION MODUL MX-AMX2): комплект, используемый приложением для обработки функций сканирования и печати.  
* Модуль внешней учетной записи (EXTERNAL ACCOUNT MODULE MX-AMX3): комплект, используемый приложением для управления информацией аутентификации.

### Pantum

Для корректной работы встроенного приложения, устройство должно поддерживать платформу PEDK.

### Sindoh 

Для установки приложения Printum на МФУ Sindoh необходимо сначала установить прошивку Konica Minolta.

### Гравитон 

Требуется уточнение

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

---
title: Справочник контейнеров — где искать логи
slug: spravochnik-konteinerov-gde-iskat-logi
tags: [логи, контейнеры, docker, диагностика, справочник]
domain: Troubleshooting
type: Reference
audience: partner-engineer
product_versions: "4.x"
status: Draft
related_components: [Мониторинг, ПринтМенеджер, Клиент ПМ, Сетевой агент, Локальный агент]
related_pages:
  - kak-diagnostirovat-problemy-pechati-po-etapam-puti-zadaniia
  - model-diagnostiki-printum
---

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

## Когда использовать

При диагностике проблем в Принтум — чтобы быстро определить, логи какого контейнера
смотреть в зависимости от симптома.

---

## Мониторинг

Контейнеры расположены в `/opt/printum/`. Команда для просмотра логов:

```bash
cd /opt/printum && sudo docker-compose logs <контейнер> --tail=200
```

| Контейнер | Назначение | Когда смотреть | Что искать в логах |
|---|---|---|---|
| `printum_nginx` | HTTP/TCP-прокси; проксирует все соединения к приложению, отдаёт статику | Ошибки при загрузке Личного кабинета или панели администратора; МФУ не добавляются в Мониторинг; нет синхронизации с ПринтМенеджером | URL с ошибками; коды 4xx/5xx; ошибки запросов от Сетевого агента и ПринтМенеджера |
| `printum_dashboard` | Личный кабинет (фронтенд) | Ошибки при открытии Личного кабинета в браузере | URL с ошибками; коды ответов; IP-адреса, вызывающие ошибки |
| `printum_worker-default`<br>`printum_worker-high`<br>`printum_worker-low` | Celery-воркеры — фоновые задачи Мониторинга: отправка писем, обработка данных от МФУ | Не приходят письма; не обновляется статус МФУ или ресурс деталей; данные появляются с задержкой; нет синхронизации с ПринтМенеджером | Время запуска и завершения задач; ошибки периодических задач; задачи без завершения |
| `printum_scheduler` | Планировщик Celery — отправляет задачи в очереди по расписанию | Задачи по расписанию не выполняются (синхронизация с доменом, уведомления, обновление данных) | Факт запуска задачи по расписанию; ошибки постановки в очередь |
| `printum_backend` | API Мониторинга — все синхронные запросы | Ошибки в Личном кабинете (действия не выполняются); проблемы с локациями; обмен данными с Локальным агентом | Ошибки API-запросов; коды 4xx/5xx; проблемы валидации или логики |
| `printum_clickhouse` | ClickHouse — аналитическая БД | Нет статистики печати; проверка запуска сервиса | Ошибки запуска БД |
| `printum_redis` | Redis — брокер сообщений Мониторинга | Проверка работоспособности сервиса | Ошибки запуска сервиса |
| `printum_postgres` | PostgreSQL — основная БД Мониторинга | Проверка работоспособности сервиса | Ошибки запуска БД |

---

## ПринтМенеджер

Контейнеры расположены в `/opt/printmanager/`. Команда для просмотра логов:

```bash
cd /opt/printmanager && sudo docker-compose logs <контейнер> --tail=200
```

| Контейнер | Назначение | Когда смотреть | Что искать в логах |
|---|---|---|---|
| `printmanager_web` | Nginx — панель администратора ПринтМенеджера | Нет синхронизации с Мониторингом | URL с ошибками; коды 4xx/5xx |
| `printmanager-celery` | Celery — фоновые задачи ПринтМенеджера: импорт МФУ, статистика, печать | МФУ не импортируются из Мониторинга; задания печатаются с задержкой или не печатаются; ошибки установки Встроенного приложения | Ошибки интеграции с Мониторингом; ошибки печати; ошибки соединения с CUPS |
| `printmanager-celery-print-queue` | Очередь бесклиентской печати — опрашивает CUPS на наличие новых заданий | Задания не попадают в очередь или попадают с задержкой | Ошибки соединения с CUPS; ошибки обработки заданий из CUPS |
| `printmanager-scheduler` | Планировщик Celery ПринтМенеджера | Задания перестали приходить в очередь; задания гостевой или почтовой печати не обрабатываются; образы документов не появляются | Факт запуска задачи; ошибки постановки в очередь |
| `printmanager-app` | **Основной контейнер** — Django-приложение; обрабатывает все HTTP-запросы, авторизацию, МФУ, Клиент ПМ | Проблемы с печатью, сканированием, копированием; проблемы с авторизацией; задания не доходят до МФУ; обмен с Клиентом ПМ | Ошибки API-запросов; коды 4xx/5xx; ошибки валидации/логики/БД |
| `printmanager-converter-server` | TCP-конвертер — принимает TCP-запросы и передаёт в `printmanager-app` по HTTP | Проблемы с авторизацией по TCP (считыватели карт) | Приходит ли сообщение от конвертера; номер карты от конвертера |
| `printmanager-ftpd` | Временное FTP-хранилище файлов сканирования/копирования | Задание копирования выполнено, но не распечатано; образ задания сканирования не появился в ПринтМенеджере | Ошибки обработки образа документа |
| `printmanager-db` | PostgreSQL — БД ПринтМенеджера | Проверка работоспособности сервиса | Ошибки запуска БД |
| `printmanager-cups` | CUPS — сервер печати; обрабатывает всю отложенную печать | Задания не распечатываются; недоступна панель CUPS (порт 1631) | Ошибки работы сервиса; ошибки МФУ в CUPS. _Примечание:_ `Unable to encrypt connection: A TLS fatal alert` — не ошибка системы, означает что клиент не является доверенным |
| `printmanager-redis` | Redis — брокер ПринтМенеджера | Single: проверка сервиса. HA: ноды ПринтМенеджера недоступны | Single: ошибки запуска. HA: ошибки переключения master→slave |
| `printmanager-redis-sentinel` | Redis Sentinel — только в схеме с балансировщиком | Ноды ПринтМенеджера недоступны | Ошибки переключения master→slave |

---

## Агенты и Клиент ПМ

| Компонент | Назначение | Когда смотреть | Где логи |
|---|---|---|---|
| Сетевой агент | Сканирование сети и сбор данных с МФУ по SNMP | МФУ не появляется в разделе «Инвентаризация → Устройства» | `journalctl -u printum-network-agent` (Linux) |
| Локальный агент (Windows) | Мониторинг заданий печати на Windows | МФУ не появляется в Личном кабинете; нет статистики | Просмотр событий Windows → Приложение |
| Локальный агент (Linux) | Мониторинг заданий печати на Linux | МФУ не появляется в Личном кабинете; нет статистики | `journalctl -u printum-local-agent` |
| Клиент ПМ (Windows) | Отправка заданий на печать с Windows АРМ | Задание не появляется в очереди; МФУ не появляются на АРМ | `C:\ProgramData\printum\logs\` |
| Клиент ПМ (Linux) | Отправка заданий на печать с Linux АРМ | Задание не появляется в очереди; МФУ не появляются на АРМ | `/var/log/printum/printmanager_client.log` |

---

## Что приложить к заявке в ТП

Команды для сбора всех логов одной копипастой:

**Мониторинг:**

```bash
cd /opt/printum
bash logs.sh
# Или вручную:
sudo docker-compose logs --tail=500 > /tmp/monitoring_logs_$(date +%Y%m%d_%H%M).txt 2>&1
cat .version
```

**ПринтМенеджер:**

```bash
cd /opt/printmanager
bash logs.sh
# Или вручную:
sudo docker-compose logs --tail=500 > /tmp/pm_logs_$(date +%Y%m%d_%H%M).txt 2>&1
cat .version
```

**Конкретный контейнер:**

```bash
# Мониторинг
cd /opt/printum && sudo docker-compose logs <контейнер> --tail=500

# ПринтМенеджер
cd /opt/printmanager && sudo docker-compose logs <контейнер> --tail=500
```

**Клиент ПМ (Linux):**

```bash
cat /var/log/printum/printmanager_client.log
```

К заявке приложить:
- Вывод `logs.sh` (или файлы логов)
- Вывод `cat .version` (версия компонента)
- Описание симптома и шагов воспроизведения
- ОС сервера
- Модель МФУ (если проблема связана с конкретным устройством)

# Глоссарий Printum

# Глоссарий Printum

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

Данный глоссарий определяет единые термины, названия компонентов и сокращения, используемые в документации системы мониторинга и управления печатью Printum.

Использование единых терминов:
- упрощает сопровождение системы;
- снижает неоднозначность в документации и поддержке;
- облегчает диагностику проблем;
- обеспечивает единый язык взаимодействия между заказчиком, партнёром и технической поддержкой.

---

# Компоненты системы

## Основные компоненты Printum

| Компонент                    | Назначение                                                                                                                                                                   |
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Мониторинг                   | Система инвентаризации и мониторинга печатающих устройств, сбора данных по SNMP и их аналитики                                                                               |
| ПринтМенеджер                | Система управления заданиями печати, копирования и сканирования, позволяет собирать статистику по пользователям и подразделениям, вести архив, управлять квотами и правилами |
| Клиент ПМ                    | Компонент, устанавливаемый на рабочую станцию пользователя. Перехватывает задания печати, конвертирует их и передаёт в ПринтМенеджер                                         |
| Агент                        | Компонент, выполняющий сбор и передачу данных между устройствами и серверной частью системы                                                                                  |
| Локальный агент              | Компонент для мониторинга заданий печати, отправленных на принтеры и МФУ, подключенных по USB                                                                                |
| Сетевой агент                | Компонент для обнаружения устройств в сети, SNMP-опроса и передачи данных в Мониторинг                                                                                       |
| Встроенное приложение        | Приложение, устанавливаемое на МФУ для авторизации пользователя, управления заданиями и безопасного выпуска печати, копированием и сканированием                             |
| Внешнее средство авторизации | TCP-конвертер, к которому подключается картридер, для реализации функционала отложенной печати на устройствах, не поддерживающих установку встроенных приложений             |
| Личный кабинет               | Веб-интерфейс пользователя для работы с устройствами, пользователями, заданиями, настройками и управления складом                                                            |
| Сервер печати                | Компонент, принимающий и отправляющий на принтер или МФУ задания печати с использованием нужных драйверов                                                                    |
| Очередь печати               | Механизм хранения и обработки заданий перед отправкой на устройство                                                                                                          |
| Драйвер печати               | Программный компонент, обеспечивающий взаимодействие операционной системы с устройством печати                                                                               |
| Карточка устройства          | Набор параметров и характеристик устройства, используемый системой                                                                                                           |
| Правила печати               | Автоматизированные действия, применяемые к заданиям при выполнении заданных условий                                                                                          |
| Архив заданий                | Хранилище информации о выполненных заданиях печати, копирования и сканирования                                                                                               |
| Альтернативные картриджи     | Разные типы картриджей, совместимые с одной моделью устройства, но не используемые одновременно                                                                              |
| Вендор                       | Производитель оборудования или программного обеспечения                                                                                                                      |
| Серийный номер устройства    | Уникальный идентификатор конкретного устройства                                                                                                                              |
| Артикул                      | Уникальный идентификатор модели детали или расходного материала                                                                                                              |
| Синонимы деталей             | Дополнительные значения, используемые для сопоставления деталей при отсутствии точного артикула                                                                              |
| Плоттер                      | Широкоформатное печатающее устройство                                                                                                                                        |

---

# Инфраструктурные компоненты

Технические компоненты инфраструктуры Printum. Названия приводятся без перевода.

| Компонент             | Назначение                                             |
| --------------------- | ------------------------------------------------------ |
| PostgreSQL            | Основная реляционная база данных системы               |
| ClickHouse            | СУБД для хранения "сырых" данных мониторинга по SNMP   |
| Redis                 | Брокер сообщений и система кэширования                 |
| Docker                | Платформа контейнеризации сервисов Printum             |
| Docker Compose        | Средство управления набором Docker-контейнеров         |
| Nginx                 | Веб-сервер и обратный прокси                           |
| HAProxy               | Балансировщик нагрузки в отказоустойчивой конфигурации |
| Celery                | Система выполнения фоновых задач                       |
| Scheduler             | Планировщик фоновых задач                              |
| API                   | Программный интерфейс взаимодействия компонентов       |
| SNMP                  | Протокол сетевого мониторинга устройств                |
| LDAP                  | Протокол доступа к службе каталогов                    |
| Active Directory (AD) | Служба каталогов Microsoft                             |
| CUPS                  | Система печати для Linux и UNIX-подобных ОС            |
| SMTP                  | Протокол отправки электронной почты                    |
| DNS                   | Система доменных имён                                  |
| PKI                   | Инфраструктура открытых ключей                         |
| TLS/SSL               | Технологии защищённого сетевого взаимодействия         |

---

# Термины системы

## Общие термины

| Термин                        | Определение                                                                                                      |
| ----------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| Отложенная печать             | Режим, при котором задание хранится в очереди ПринтМенеджера до подтверждения печати пользователем на устройстве |
| Безопасная печать             | Печать, требующая подтверждения пользователя перед выпуском задания                                              |
| Бесклиентская печать          | Способ печати без установки Клиента ПМ на рабочую станцию                                                        |
| Прямая печать                 | Отправка задания непосредственно на устройство без хранения в очереди ПринтМенеджера                             |
| Гостевая печать               | Печать для пользователей без учётной записи в домене организации                                                 |
| Печать через почту            | Механизм отправки заданий печати по электронной почте                                                            |
| Задание печати                | Документ или набор документов, отправленных на печать                                                            |
| Выпуск задания                | Подтверждение пользователем печати задания на устройстве                                                         |
| Очередь заданий               | Список заданий, ожидающих обработки или печати                                                                   |
| Инвентаризация                | Сбор информации об устройствах и инфраструктуре печати                                                           |
| Мониторинг устройства         | Сбор технической информации и состояния устройства                                                               |
| Статистика печати             | Данные об объёмах и параметрах печати пользователей и устройств                                                  |
| Синхронизация                 | Обмен данными между компонентами системы                                                                         |
| Авторизация                   | Подтверждение личности пользователя                                                                              |
| Аутентификация                | Проверка подлинности учётных данных пользователя                                                                 |
| LDAP-синхронизация            | Импорт пользователей и групп из службы каталогов                                                                 |
| SSO                           | Технология единого входа                                                                                         |
| Квота                         | Ограничение на объём печати для пользователя или подразделения                                                   |
| Ролевая модель                | Правила, определяющие права пользователя                                                                         |
| Локация                       | Группировка устройств по географическому или организационному признаку                                           |
| Группа устройств              | Объединение устройств по произвольному признаку                                                                  |
| Роль                          | Набор прав доступа пользователя                                                                                  |
| Тонер                         | Порошковый расходный материал для лазерной печати                                                                |
| Картридж                      | Узел устройства, содержащий тонер и фотобарабан                                                                  |
| Фотобарабан                   | Компонент устройства, участвующий в формировании изображения                                                     |
| Расходные материалы           | Детали с ограниченным сроком службы, заменяемые пользователем                                                    |
| Ресурсные запчасти            | Детали с ограниченным сроком службы, заменяемые сервисным инженером                                              |
| Ресурс детали                 | Максимальный срок службы детали, выраженный в количестве страниц                                                 |
| Критичное событие             | Состояние устройства, препятствующее нормальной работе                                                           |
| Предупреждение                | Событие, требующее внимания, но не блокирующее работу системы                                                    |
| Событие                       | Зарегистрированное системой действие или изменение состояния                                                     |
| Журнал событий                | История зарегистрированных системой событий                                                                      |
| Лог                           | Техническая запись о работе компонента системы                                                                   |
| Отказоустойчивая конфигурация | Конфигурация системы, обеспечивающая продолжение работы при отказе отдельных компонентов                         |
| Кластер                       | Группа серверов, работающих как единая система                                                                   |
| Репликация                    | Механизм синхронизации данных между серверами                                                                    |

---

# Устройства и печатная техника

| Термин             | Определение                                                                            |
| ------------------ | -------------------------------------------------------------------------------------- |
| Принтер            | Устройство для вывода документов на печать                                             |
| МФУ                | Многофункциональное устройство, совмещающее функции печати, сканирования и копирования |
| Сканирование       | Получение цифрового изображения документа                                              |
| Копирование        | Создание бумажной копии документа                                                      |
| Счётчик устройства | Показатель объёма печати, копирования или сканирования                                 |
| SNMP-опрос         | Получение информации об устройстве по протоколу SNMP                                   |
| Статус устройства  | Текущее состояние устройства                                                           |
| Сетевой принтер    | Принтер, подключённый к сети                                                           |
| Локальный принтер  | Принтер, подключённый непосредственно к рабочей станции по USB                         |

---

# Допустимые аббревиатуры

Допускается использование следующих сокращений без расшифровки:

```text
API
URL
DNS
TCP
UDP
TLS
SSL
SMTP
SNMP
LDAP
SSO
SAML
JSON
YAML
XML
RFID
PIN
IP
SSH
HTTP
HTTPS
GPO
AD
OU
CUPS
PDF
МФУ
АПД
PKI
SQL
CSV
OID
USB
```

---

# Правила именования

## Общие правила

- Использовать единые названия компонентов во всей документации
- Использовать официальные названия компонентов Printum
- Не переводить названия инфраструктурных компонентов
- Названия должны совпадать с интерфейсом продукта, логами и сообщениями системы
- Не использовать неоднозначные сокращения
- Использовать одинаковые термины в документации, поддержке и интерфейсах

---

# Принципы использования терминов

- Один термин должен иметь только одно значение
- Для одинаковых сущностей использовать одинаковые названия
- Новые термины должны добавляться в данный глоссарий до их массового использования в документации