6. Обновление и обслуживание

Обновление, резервное копирование, сертификаты, пароли

Обновление

Обновление

Онлайн-обновление Мониторинга

Описание

Обновление Мониторинга до последней стабильной версии через интернет с помощью install-скрипта.

Предусловия

Шаги

Стандартное обновление

Команда обновления мониторинга до стабильной версии:

sudo curl -L https://download.printum.io/box/monitoring/install.sh | sudo -E bash

Скрипт автоматически скачает дистрибутив стабильной версии, проверит целостность по чек-сумме (sha512) и выполнит обновление.

Обновление с шифрованием конфигурационного файла

Если при установке использовалось шифрование .env-файла, добавьте переменную ENV_VAULT_PASSWORD:

Установка по hostname:

sudo curl -L https://download.printum.io/box/monitoring/install.sh | sudo -E MON_HOSTNAME=<hostname> ENV_VAULT_PASSWORD=<password> bash -s agent

Установка по IP:

sudo curl -L https://download.printum.io/box/monitoring/install.sh | sudo -E IP_ADDRESS=<ip> ENV_VAULT_PASSWORD=<password> bash -s agent

Во время обновления система запросит ввод пароля повторно.

Важно: переход с незашифрованного файла на зашифрованный в процессе обновления не поддерживается.

Проверка

Обновление

Офлайн-обновление Мониторинга

Описание

Обновление Мониторинга без доступа в интернет с использованием дистрибутива, полученного от технической поддержки.

Предусловия

Шаги

Стандартное обновление

Обновление запускается следующей командой:

sudo -E ./install.sh

Обновление с шифрованием конфигурационного файла

При обновлении ПринтМенеджера с включённым шифрованием конфигурационного файла необходимо указать переменную ENV_VAULT_PASSWORD=<password>

sudo ENV_VAULT_PASSWORD=<password> -E ./install.sh

Пример: sudo ENV_VAULT_PASSWORD=passW0rd@ -E ./install.sh

Система запросит ввод пароля повторно. Переход с незашифрованного на зашифрованный в процессе обновления не поддерживается.

Проверка

Обновление

Онлайн-обновление ПринтМенеджера

Описание

Обновление ПринтМенеджера до актуальной стабильной версии через интернет.

Предусловия

Шаги

Стандартное обновление

sudo curl -L https://download.printum.io/distrib/printum-printmanager/install.sh | sudo -E bash

Скрипт скачает дистрибутив стабильной версии, проверит целостность (sha512) и выполнит обновление.

Обновление с шифрованием конфигурационного файла

sudo curl -L https://download.printum.io/distrib/printum-printmanager/install.sh | sudo -E PM_HOSTNAME=<ip> ENV_VAULT_PASSWORD=<password> bash

Важно: переход с незашифрованного на зашифрованный файл в процессе обновления не поддерживается.

Проверка

Обновление

Офлайн-обновление ПринтМенеджера

Описание

Обновление ПринтМенеджера без доступа в интернет.

Предусловия

Шаги

Стандартное обновление

Аналогично офлайн-установке, но без переменной PM_HOSTNAME:

sudo -E ./install.sh

Обновление с шифрованием конфигурационного файла

sudo ENV_VAULT_PASSWORD=<password> -E ./install.sh

Пример: sudo ENV_VAULT_PASSWORD=passW0rd@ -E ./install.sh

Система запросит ввод пароля повторно. Переход с незашифрованного на зашифрованный не поддерживается.

Проверка

Обновление

Обновление в отказоустойчивой конфигурации

Описание

Обновление системы, развёрнутой в конфигурации Active-Active с балансировщиком нагрузки (HAProxy) и несколькими серверами ПринтМенеджера.

Порядок обновления

  1. Обновите Мониторинг по инструкции «Онлайн-обновление Мониторинга» или «Офлайн-обновление Мониторинга».
  2. Остановите ПМы на серверах. Для этого зайдите на каждый по ssh и выполните команды:
    cd /opt/printmanager
    sudo docker-compose down
    
  3. Последовательно обновите каждый сервер ПринтМенеджера командой обновления ПМ.
  4. Проверьте, что панель администратора ПМ по адресу балансировщика после обновления стабильно доступна.

Обновление с шифрованием конфигурационного файла

При включённом шифровании массовое развёртывание через скрипт массовой установки не поддерживается. Применяйте ручной порядок установки с добавлением переменной ENV_VAULT_PASSWORD для каждого сервера:

sudo -E ENV_VAULT_PASSWORD=<password> ./install.sh

Проверка

Откройте панель администратора HAProxy и убедитесь, что все секции (ftpcups_1631tcp_converter_7776/7777admin_8010admin_8080) отображают зелёные строки серверов. Каждый из разделов должен иметь все зеленые строчки (кроме коричневых строк Frontend или Backend).

Обновление

Обновление Клиента ПМ на Linux

Описание

Обновление клиентской части ПринтМенеджера на рабочих станциях Linux.

Предусловия

Шаги

  1. Обратитесь в службу поддержки для получения ссылки на актуальный дистрибутив.
  2. Скачайте новую версию клиента:
curl -O https://download.printum.io/distrib/printmanager-client/printmanager_client-linux-x.y.z.tar
  1. Распакуйте архив и повторите шаги установки из раздела «Установка клиента ПМ»:
tar xvf printmanager_client-linux-x.y.z.tar
cd printmanager_client-linux-x.y.z
sudo -E ./install.sh

Как проверить обновление

Выполните команду ниже для просмотра системных логов работы службы клиента ПМ:

sudo systemctl status printum-printmanager-client.service

Логи

sudo journalctl -u printum-printmanager-client.service
# или
cat /var/log/printum/printmanager_client.log
Обновление

Обновление Сетевого агента

Описание

Обновление сетевого агента мониторинга на Linux или Windows.

Обновление на Linux (офлайн)

  1. Получите ссылку на последнюю версию дистрибутива от техподдержки.
  2. Скачайте и выполните обновление:
tar xf agent-linux-x.x.tar.gz
cd printum-agent
sudo bash ./update.sh

Обновление на Windows (офлайн)

  1. Получите и скачайте архив agent-win-x.x.x.zip от техподдержки.

  2. Распакуйте в удобную директорию, например C:\Printum\agent-win-x.x.x.

  3. Откройте и настройте config.env:

    • TOKEN=<GUID_network_agent> — токен из Настройки → Интеграции → Сетевые агенты.
    • BACKEND=http://<address_mon>:8000/— IP-адрес сервера мониторинга. Важно указывать слэш (/) в конце: http://<IP_M>:8000/.
  4. Откройте командную строку от имени администратора и выполните:

cd C:\Printum\agent-win-x.x.x
install.bat

Проверка

В панели Мониторинга откройте список агентов. В колонке version должна быть целевая версия, в updated_at — актуальные дата и время.

Обновление

Обновление Локального агента

Описание

Обновление локального агента для мониторинга заданий печати на Windows или Linux.

Обновление локального агента на Linux

Скачайте обновленный дистрибутив и выполните команды.

tar xf printum-jtm-linux-x.x.tar
cd printum-jtm-linux-x.x
./install.sh

Чтобы проверить, что служба работает, выполните:

systemctl status printum-jtm

Обновление локального агента на Windows

Обновление ПО осуществляется аналогично установке, запустите командную строку от имени администратора и выполните команду:

msiexec /i printmanager_client-a.b.c-win.msi /qn /L install.log

При обновлении менять стандартный путь установки не нужно. Предварительно удалять предыдущую версию не нужно. Установщик самостоятельно удалит предыдущие версии продукта, сохранив настройки в файле settings.yml

Обновление

Обновление Клиента ПМ на Windows

Описание

Обновить Клиент ПМ на рабочей станции Windows до актуальной версии.

Предусловия

Что потребуется

Шаги обновления

Шаг 1. Получить и скачать актуальный дистрибутив

Обновление ПО осуществляется аналогично установке. Запросите у технической поддержки ссылку на актуальную версию дистрибутива и скачайте его на устройство.

Шаг 2. Запустить обновление

Запустите командную строку от имени администратора и выполните команду:

msiexec /i printmanager_client-a.b.c-win.msi /qn /L install.log

При обновлении менять стандартный путь установки не нужно. Предварительно удалять предыдущую версию не нужно. Установщик самостоятельно удалит предыдущие версии продукта, сохранив настройки в файле settings.yml.

Обновление через групповые политики

Обновление через групповые политики проходит так же, как и установка. Воспользуйтесь разделом "Установка MSI пакета" со страницы Установка клиента ПМ на Windows — групповые политики.

Предварительно удалять предыдущую версию не нужно. Установщик самостоятельно удалит предыдущие версии клиента, сохранив настройки в файле settings.yml.

Для обновления настроек проверки HTTPS-сертификата замените содержимое файла сертификатов в папке с программой:

C:\Program Files\printum\printmanager_client\lib\certifi\cacert.pem

Содержимое файла должно соответствовать описанному в разделе "Настройка проверки HTTPS-сертификата для службы в Windows" страницы Настройка SSL для служб Мониторинга.

Ожидаемый результат

Как проверить обновление

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


Резервное копирование

Резервное копирование

Резервное копирование и восстановление данных

Описание

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

Требования к процессу копирования и восстановления

Создание резервных копий

Для запуска процесса создания резервной копии введите в терминале сервера команды, указанные ниже.

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

sudo /opt/printum/backup.sh /home/user/backup  

Где /home/user/backup/ — это абсолютный путь до файла с резервной копией. 

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

sudo /opt/printmanager/backup.sh  /home/user/backup

Резервная копия будет создана для всех установленных продуктов. При резервном копировании создаются копии следующих элементов конфигурации:

ВАЖНО: Время создания резервных копий может быть продолжительным (зависит от размера бекапа, скорости работы процессора и диска), система в это время будет выключена. 

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

Backup completed. Archives save in /home/user/backup/printum-backup-date-month-day-hour-minute.tar.gz

где 

Переместите этот файл во внешнее хранилище любым доступным способом, например через scp.

Восстановление резервных копий

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

Для запуска процесса восстановления разархивируйте архив и запустите в нем команды:

sudo tar xzvf printum_backup_date-month-day_hour-minute.tar.gz
sudo printum_backup_date-month-day_hour-minute/restore.sh

где  

При успешном завершении восстановления будет выведена надпись:

Restoration complete

Восстановление завершено. Подождите несколько минут для запуска системы. Убедитесь, что восстановление прошло успешно, например: проверьте корректность отображения данных принтеров в ЛК, загрузку страниц панелей администратора Мониторинга и ПринтМенеджера, печать, копирование и сканирование документов.

После подтверждения работоспособности системы удалите архив и распакованную папку для экономии места:

sudo rm -f printum_backup_date-month-day_hour-minute.tar.gz
sudo rm -fr printum_backup_date-month-day_hour-minute
Резервное копирование

Резервное копирование при шифровании конфигурационного файла

Описание

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

Шаги

Мониторинг

sudo -E ENV_VAULT_PASSWORD=<password> /opt/printum/backup.sh /home/user/backup

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

sudo -E ENV_VAULT_PASSWORD=<password> /opt/printmanager/backup.sh /home/user/backup

Где <password> — действующий пароль шифрования, использованный при установке продукта.

Важно

Отсутствие переменной ENV_VAULT_PASSWORD при зашифрованном конфиге приводит к некорректному созданию резервной копии.

Восстановление

Восстановление

Восстановление из резервной копии

Предусловия

Шаги

  1. Переместите архив на целевой сервер.
  2. Разархивируйте архив и запустите процесс восстановления, с помощью следующих команд:
sudo tar xzvf printum_backup_date-month-day_hour-minute.tar.gz
sudo printum_backup_date-month-day_hour-minute/restore.sh

где
printum_backup_date-month-day_hour-minute.tar.gz – название архива, printum_backup_date-month-day_hour-minute – название распакованной директории из архива

Результат

После успешного восстановления выводится: Restoration complete

Подождите несколько минут для запуска системы.

Проверка

Очистка

После подтверждения работоспособности системы удалите архив и распакованную папку для экономии места:

sudo rm -f printum_backup_date-month-day_hour-minute.tar.gz
sudo rm -fr printum_backup_date-month-day_hour-minute
Восстановление

Восстановление при шифровании конфигурационного файла

Описание

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

Шаги

Вместо стандартной команды восстановления используйте:

sudo -E ENV_VAULT_PASSWORD=<password> printum_backup_date-month-day_hour-minute/restore.sh

Где <password> — пароль шифрования, использованный при установке системы.

Важно

Указание правильного пароля критически важно для успешного восстановления зашифрованных данных.

Проверка

Восстановление

Восстановление Принтум из резервной копии

Назначение

Инструкция описывает порядок восстановления Принтум после отказа серверов, повреждения инфраструктуры, потери данных или критических инцидентов.

Когда требуется восстановление

Основной принцип

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

Порядок восстановления

Восстановление выполняется строго по следующему порядку:

  1. Сервер Мониторинга
  2. Сервер базы данных ПринтМенеджера
  3. Сервер NFS-хранилища ПринтМенеджера
  4. Сервер балансировщика HAProxy
  5. Сервер ПринтМенеджера №1
  6. Сервер ПринтМенеджера №2
  7. Сервер ПринтМенеджера №3
  8. Сервер ПринтМенеджера №N

Шаг 1. Мониторинг

Сначала восстанавливается сервер Мониторинга — он используется как центральная конфигурация, источник пользователей и устройств.

Шаг 2. Сервер базы данных

Восстановить PostgreSQL. Проверить: запуск сервиса, доступность порта, корректность данных. При отказе сервера базы данных после восстановления — перезапустить все сервисы СУП на серверах ПринтМенеджера.

Шаг 3. NFS-хранилище

Восстановить NFS storage и stunnel. Проверить: export, mount, доступность volumes.

Шаг 4. HAProxy

Восстановить балансировщик. Проверить: healthcheck, backend status, routing.

Шаг 5. Серверы ПринтМенеджера

Восстановить все ноды ПринтМенеджера. После запуска:

cd /opt/printmanager
docker-compose down
docker-compose up -d

Проверить sync и очереди.

Контрольные проверки после восстановления

Проверка веб-интерфейсов

Проверить доступность: Личного кабинета, панелей администратора, Встроенных приложений на МФУ.

Проверка статусов HAProxy

Убедиться, что статусы всех компонентов в панели администратора HAProxy — ярко-зелёные.

Проверка Docker-контейнеров

На всех серверах Мониторинга и ПринтМенеджера:

docker ps

Проверить: нет restart loop, нет exited containers, нет unhealthy status.

Проверка авторизации

Проверить авторизацию пользователей в Личном кабинете и Встроенных приложениях на МФУ, а также LDAP/SSO и RFID-авторизацию.

Проверка синхронизации

Проверить доменную синхронизацию в Мониторинге. Проверить синхронизацию данных Мониторинга и ПринтМенеджера.

Проверка печати

Проверить: direct print, release print, queue processing, статистику, копирование и сканирование во Встроенных приложениях.

Типовые проблемы

СимптомВозможная причина
ПринтМенеджер не запускаетсяNFS
Нет синхронизацииМониторинг
Контейнеры unhealthyPostgreSQL
Нет печатиHAProxy
Нет статистикиsync queue

Что важно помнить

Восстановление

Сценарии аварийного восстановления

Описание

Ниже описаны типовые сценарии аварийного восстановления системы Printum: симптомы, порядок действий и ориентировочное время восстановления.

Для успешного восстановления системы обязательно создавайте резервные копии Мониторинга и ПринтМенеджера(ов) в рабочем состоянии с помощью встроенного функционала резервного копирования или внешними средствами (например, снапшота\бэкапами на гипервизоре).


Сценарий 1: Отказ одного сервера ПринтМенеджера в конфигурации кластера

Симптомы

Порядок действий

  1. Проверьте статус контейнеров на отказавшем сервере:
cd /opt/printmanager && sudo docker-compose ps
  1. Соберите логи для последующей диагностики:
sudo /opt/printmanager/logs.sh
  1. Перезапустите контейнеры ПМ:
sudo docker-compose down
sudo docker-compose up -d
  1. Если работоспособность ПМ не вернулась, выполните его восстановление из резервной копии (см. «Резервное копирование и восстановление данных»).
  2. После восстановления проверьте состояние сервисов всех ПМ на странице панели администратора HAProxy.
  3. Проведите анализ собранных логов для установления причин отказа. По возможности, устраните их самостоятельно для предупреждения повторения проблемы в будущем или обратитесь в техническую поддержку Printum (support@printum.io).

Ориентировочное время: 15–30 минут при перезапуске; 60–120 минут при восстановлении из резервной копии.


Сценарий 2 — Отказ нескольких серверов ПринтМенеджера

Симптомы

Порядок действий

  1. Восстановите сервера ПринтМенеджера, по описанию из сценария №1 (пункты 1-6).
  2. После восстановления:
    • Проверьте состояние сервисов всех ПМ на странице панели администратора HAProxy.
    • Проверьте успешность выполнения заданий печати, копирования и сканирования на устройствах под управлением печатью.
    • Проверьте работу синхронизации данных между Мониторингом и ПМ.
  3. Проведите анализ собранных логов для установления причин отказа. По возможности, устраните их самостоятельно для предупреждения повторения проблемы в будущем или обратитесь в техническую поддержку Printum (support@printum.io).

Ориентировочное время: 60–240 минут в зависимости от числа отказавших узлов.


Сценарий 3 — Потеря базы данных PostgreSQL

Симптомы

Порядок действий

  1. Убедитесь, что контейнер PostgreSQL запущен:
sudo docker ps | grep postgres
  1. Если контейнер не запущен — запустите его:
cd /opt/printum
sudo docker-compose up -d postgres
cd /opt/printmanager
sudo docker-compose up -d db
  1. Если возникают ошибки — соберите логи работы контейнеров и выполните восстановление из резервной копии:
sudo /opt/printum/logs.sh
#или
sudo /opt/printmanager/logs.sh
  1. Для восстановления на чистый сервер выполните команды из раздела «Восстановление резервных копий» на странице «Резервное копирование и восстановление данных».
  2. Подождите несколько минут для запуска системы.
  3. Проведите анализ собранных логов для установления причин отказа базы данных. По возможности, устраните их самостоятельно для предупреждения повторения проблемы в будущем или обратитесь в техническую поддержку Printum (support@printum.io).

Ориентировочное время: 30–120 минут в зависимости от объёма данных.

Важно: IP-адрес или hostname сервера должны совпадать с теми, что были при создании резервной копии.


Сценарий 4 — Потеря NFS-хранилища (кластер)

Симптомы

Порядок действий

  1. Проверьте доступность NFS-сервера с сервера ПМ: вручную создайте тестовый файл на NFS-сервере:
cd /opt/printmanager
sudo docker-compose exec app touch /opt/app/public/media/test.txt
  1. Убедитесь в правильности параметров DRIVER_OPTS_DEVICE, DRIVER_OPTS_O, DRIVER_OPTS_TYPE для NFS-сервера в файле конфигурации ПМ:
sudo cat /opt/printmanager/.env
  1. Соберите логи работы ПМ для последующей диагностики:
sudo /opt/printmanager/logs.sh
  1. Выполните восстановление NFS-сервера из резервной копии. После восстановления перезапустите контейнеры ПМ:
cd /opt/printmanager
sudo docker-compose down
sudo docker-compose up -d
  1. Проверьте, что задания в отложенной очереди печати, копирования и сканирования обрабатываются корректно.
  2. Проведите анализ собранных логов для установления причин отказа базы данных. По возможности, устраните их самостоятельно для предупреждения повторения проблемы в будущем или обратитесь в техническую поддержку Printum (support@printum.io).

Ориентировочное время: 15–60 минут.


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

Сертификаты

Сертификаты

Обновление сертификатов Мониторинга и ПринтМенеджера

Когда требуется

По окончании срока действия SSL-сертификатов их необходимо заменить.

Шаги

По окончании срока действия сертификаты потребуется заменить. Для этого выполните обновление Мониторинга и ПринтМененджера с помощью разделов выше и добавьте в команды следующие ключи: SSL_CERT, SSL_KEY u SSL_CERT_CA с указанием новых файлов.

Например, онлайн обновление Мониторинга будет выглядеть так:

sudo curl -L https://s3.printum.io/box/monitoring/install.sh | sudo -E SSL_CERT=/directory/cert.crt SSL_KEY=directory/cert.key SSL_CERT_CA=/directory/ca.crt  bash -s agent

Где:

Сертификаты

Обновление сертификатов балансировщика

Описание

Обновление сертификатов в конфигурации с балансировщиком нагрузки (HAProxy). Сертификаты обновляются для всех компонентов: балансировщика, Мониторинга и каждого сервера ПМ.

Обновление собственных сертификатов (через config.ini)

  1. Укажите новые пути в конфигурационном файле config.ini:
Секция [General]

SSL_CERT_CA — полный путь до корневого сертификата (CA certificate).

Секция  [Balancer]

SSL_CERT — Полный путь до сертификата
SSL_KEY — Полный путь до ключа сертификата.

Секция [Monitoring]

SSL_CERT — Полный путь до сертификата
SSL_KEY — Полный путь до ключа сертификата.

Секции [PrintManager_1], [PrintManager_2], …, [PrintManager_N] 

SSL_CERT — Полный путь до сертификата
SSL_KEY — Полный путь до ключа сертификата.

  1. Запустите скрипт установки повторно:
sudo ./install_all_offline.sh

Обновление автоматических сертификатов (ежегодно)

  1. Удалите старые сертификаты на сервере балансировщика:
sudo rm -fr /opt/printum_balancer/certificates
  1. Выпустите новый корневой сертификат:
sudo /opt/printum_balancer/scripts/generate_ca_cert.sh
  1. Перегенерируйте сертификаты:
cd /opt/printum_balancer/scripts
sudo ./regenerate_all_certs.sh -balancer <BALANCER_ADR> -pm <PM_1> -pm <PM_2> -pm <PM_3>
  1. Появится архив с новыми сертификатами. Повторите установку всех серверов ПринтМенеджер с новым архивом printum_certs.tar.gz.

Важно: необходимо переписать только printum_certs.tar.gz. При установке использовался printum_config.tar.gz - его устанавливать не нужно.

Сертификаты

Изменение пароля шифрования конфигурационного файла

Описание

Смена пароля для шифрования файла .env.enc выполняется с помощью утилиты env-vault.

Для Мониторинга

  1. Сбросьте переменную среды

     unset ENV_VAULT_PASSWORD
    
  2. Запустите смену пароля

     env-vault rekey /opt/printum/.env.enc
    
  3. Введите текущий пароль, затем новый дважды

  4. После смены запустите систему с новым паролем:

     cd /opt/printum
     sudo -E ENV_VAULT_PASSWORD=<password> env-vault .env.enc docker-compose -- up -d
    

Для ПринтМенеджера

  1. Сбросьте переменную среды

     unset ENV_VAULT_PASSWORD
    
  2. Запустите смену пароля

    env-vault rekey /opt/printmanager/.env.enc
    
  3. Введите текущий пароль, затем новый дважды

  4. Перезапустите систему с новым паролем:

     cd /opt/printmanager
     sudo -E ENV_VAULT_PASSWORD=<password> env-vault .env.enc docker-compose -- up -d
    

Важно

Сертификаты

Настройка шифрованного соединения для Мониторинга, ПМ и клиента ПМ

Назначение

При установке системы автоматически создаётся самоподписанный SSL-сертификат, стандарта SHA-256 с длиной ключа шифрования RSA 2048 бит. Для работы мониторинга и управления печать в сети организации этого достаточно, но при необходимости (например, требования ИБ) допускается установка доверенного сертификата организации.

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


Настройка HTTPS

Клиент ПринтМенеджера, отправляющий задания на печать с ПК пользователей, имеет параметр verify_SSL_cert, отвечающий за включение проверки сертификата безопасности. По умолчанию параметр установлен в false, т.е. проверка отключена.

Для включения проверки и обеспечения шифрованного соединения клиента ПМ с сервером ПринтМенеджера выполните настройки, описанные в разделах ниже, в соответствии с операционной системой на пользовательском АРМ.

Настройка проверки HTTPS-сертификата для службы в Linux

Для корректной проверки сертификата и работы Клиента ПринтМенеджер по протоколу HTTPS выполните следующие действия:

  1. Остановите службу Клиента ПМ:
sudo systemctl stop printum-printmanager-client.service
  1. Откройте файл корневого сертификата, который подтверждает подлинность SSL-сертификата, используемого сервером ПМ. Скопируйте из него весь текст, вместе с BEGINEND и дефисами.
  2. Откройте с правами на редактирование файл:
/opt/printum/printmanager_client/venv/lib/python3.10/site-packages/certifi/cacert.pem

Для более ранних версий службы для Linux замените python3.10 на python3.8.

  1. В конец файла вставьте скопированное из шага 2 и сохраните файл.
  2. Запустите службу Клиента ПМ:
sudo systemctl start printum-printmanager-client.service

Настройка проверки HTTPS-сертификата для службы в Windows

  1. Откройте файл корневого сертификата, который подтверждает подлинность SSL-сертификата, используемого сервером ПМ. Скопируйте из него весь текст, вместе с BEGINEND и дефисами.
  2. Откройте с правами на редактирование файл:
C:\Program Files\printum\printmanager_client\lib\certifi\cacert.pem
  1. В конец файла вставьте скопированное из шага 1 и сохраните файл.
  2. Перезапустите службу или перезагрузите компьютер.

Шифрование данных между компонентами

Данные между пользователем и системой, а также между компонентами (Мониторинг и ПринтМенеджер) передаются по протоколу HTTPS.

Тип пароля Метод Описание
Пользовательские пароли (вход в систему) PBKDF2 Хэширование с уникальной «солью» и несколькими десятками итераций
Пароли принтеров, доступа к каталогам и др. AES CBC 128-bit + PKCS7 Шифрование с 128-битным ключом

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

Сертификаты

Настройка IPPS для МФУ

Назначение

IPPS (Internet Printing Protocol over SSL) обеспечивает шифрование при отправке заданий печати на МФУ. Настройка требуется при использовании отложенной печати с шифрованием или при требованиях ИБ к защите потока печати.


Настройка IPPS для отложенной печати

  1. Перейдите в раздел «Серверы печати» по адресу:
https://адрес_принтменеджера:8080/config/web/printserver/
  1. Для всех используемых серверов печати установите галочку «Использовать SSL» и сохраните форму.

Для прямой печати через IPPS используйте Клиент ПМ со стандартными настройками — при стандартных настройках IPPS включён по умолчанию.


Установка защищённого соединения с МФУ для отправки задания на печать

  1. Убедитесь, что в настройках МФУ включён доступ с использованием SSL для IPP-соединений, а сертификат сервера загружен в МФУ (или проверка серверного сертификата на МФУ не требуется / выключена).
  2. Перейдите в панель администратора ПринтМенеджера, во вкладку «Настройки принтеров в CUPS».
  3. Найдите нужный принтер и нажмите на него.
  4. Установите адрес для защищённого подключения в соответствии с вендором:
Вендор Адрес
Fplus https://{hostname}/ipp/print
Lexmark https://{hostname}/ipp/print
Xerox ipps://{hostname}/ipp
Konica Minolta ipps://{hostname}/ipp

Где hostname — доменное имя или IP-адрес МФУ.

  1. Сохраните настройки. Обновление займёт до 1 минуты.

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

Сертификаты

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

Описание

Принтум поддерживает шифрование конфигурационного файла .env с помощью переменной ENV_VAULT_PASSWORD и утилиты env-vault. При включённом шифровании файл хранится в зашифрованном виде (.env.enc), а все команды запуска системы требуют указания пароля.


Активация шифрования при установке Мониторинга

Для активации шифрования при установке дополнительно задайте переменную ENV_VAULT_PASSWORD.

Онлайн-установка

По доменному имени:

sudo curl -L https://download.printum.io/box/monitoring/install.sh | sudo -E MON_HOSTNAME=<hostname> ENV_VAULT_PASSWORD=<password> bash -s agent

По IP-адресу:

sudo curl -L https://download.printum.io/box/monitoring/install.sh | sudo -E IP_ADDRESS=<ip> ENV_VAULT_PASSWORD=<password> bash -s agent

Офлайн-установка

По доменному имени:

sudo MON_HOSTNAME=<hostname> ENV_VAULT_PASSWORD=<password> -E ./install.sh agent

По IP-адресу:

sudo IP_ADDRESS=<ip> ENV_VAULT_PASSWORD=<password> -E ./install.sh agent

В процессе установки необходимо будет повторно ввести пароль.


Активация шифрования при установке ПринтМенеджера

Онлайн-установка:

sudo curl -L https://s3.printum.io/distrib/printum-printmanager/install.sh | sudo -E PM_HOSTNAME=<ip> ENV_VAULT_PASSWORD=<password> bash

Офлайн-установка:

sudo PM_HOSTNAME=<ip> ENV_VAULT_PASSWORD=<password> -E ./install.sh

Без указания переменной ENV_VAULT_PASSWORD установка ПринтМенеджера на зашифрованный сервер мониторинга невозможна.


Изменение значений переменных в зашифрованном .env файле

Для Мониторинга

  1. Перейдите в каталог установки:
cd /opt/printum
  1. Остановите контейнеры:
sudo -E ENV_VAULT_PASSWORD=<password> env-vault .env.enc docker-compose down
  1. Откройте зашифрованный файл для редактирования:
sudo -E ENV_VAULT_PASSWORD=<password> env-vault edit .env.enc

Откроется системный редактор по умолчанию (например, vim). Внесите изменения и сохраните файл (в vim: введите :wq).

  1. Перезапустите контейнеры:
cd /opt/printum
sudo -E ENV_VAULT_PASSWORD=<password> env-vault .env.enc docker-compose -- up -d

Для ПринтМенеджера

Следуйте аналогичной инструкции, заменяя путь к каталогу:

cd /opt/printmanager

Смена пароля шифрования

Для Мониторинга

  1. Сбросьте переменную среды:
unset ENV_VAULT_PASSWORD
  1. Запустите процесс смены пароля:
env-vault rekey /opt/printum/.env.enc
  1. Введите текущий пароль, затем новый пароль дважды для подтверждения.
  2. После смены пароля запустите систему с новым паролем:
cd /opt/printum
sudo -E ENV_VAULT_PASSWORD=<password> env-vault .env.enc docker-compose -- up -d

Для ПринтМенеджера

  1. Сбросьте переменную среды:
unset ENV_VAULT_PASSWORD
  1. Запустите процесс смены пароля:
env-vault rekey /opt/printmanager/.env.enc
  1. Введите текущий пароль, затем новый пароль дважды для подтверждения.
  2. Перезапустите систему с новым паролем:
cd /opt/printmanager
sudo -E ENV_VAULT_PASSWORD=<password> env-vault .env.enc docker-compose -- up -d

Резервное копирование при шифровании

При создании резервной копии на зашифрованной системе необходимо передавать пароль:

Для Мониторинга:

sudo -E ENV_VAULT_PASSWORD=<password> /opt/printum/backup.sh /home/user/backup

Для ПринтМенеджера:

sudo -E ENV_VAULT_PASSWORD=<password> /opt/printmanager/backup.sh /home/user/backup

При отсутствии указания переменной ENV_VAULT_PASSWORD резервная копия может быть создана некорректно.


Примечания


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

Сертификаты

Подключение стороннего балансировщика к кластеру

Подключение стороннего балансировщика

По умолчанию система использует HAProxy для балансировки нагрузки. Рекомендуется использовать его в качестве балансировщика нагрузки, так как именно с ним система проходит все этапы тестирования и по умолчанию используется при установке у клиентов. Однако, если необходимо использовать сторонний балансировщик, выполните настройку в соответствии с этой инструкцией.

Важно: При использовании сторонних балансировщиков испытания системы на совместимость не проводились. Мы не можем гарантировать стабильную и бесперебойную работу системы с другими решениями. Использование сторонних балансировщиков осуществляется под вашу ответственность.

Перед началом убедитесь, что ознакомились с разделом "Подготовка к установке кластера Active-Active". Этот раздел актуален для настройки любого балансировщика.

Требования к стороннему балансировщику

  1. Проксирование сообщений: балансировщик должен корректно обрабатывать следующие типы соединений:

    • FTP-соединения: порты 20–21 и 30000–30199.
    • HTTP-соединения: порты 1631, 8010, 8080.
    • WebSocket-соединения (при использовании TCP-конвертера): порты 7776, 7777.

    Если стандартные порты изменены при установке ПМ, укажите новые значения.

  2. Проверка доступности (healthcheck):

    • Балансировщик должен выполнять HTTP-запросы на адрес /health/.
    • Если ответ имеет статус 200, сервер считается исправным. Любой другой ответ означает неисправность.
    • Настройте механизм оповещений о сбоях серверов, доступный в вашем балансировщике.
  3. Параметры настройки:

    • Используйте алгоритм Round Robin с включением Sticky Session.
    • Настройки таймаутов:
      • Таймаут сервера (timeout server): 30 секунд.
      • Таймаут клиента (timeout client): 30 секунд.
      • Таймаут соединения (timeout connection): 5 секунд.
    • Повторы (retries): не требуются.
    • Используйте сгенерированные SSL-сертификаты для балансировщика.

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

Установка и настройка ПринтМенеджеров

Перед установкой первого ПринтМенеджера

Выполните команды для экспорта переменных окружения:

export NFS_ADDR=<NFS_ADDR>
export NFS_PATH=<NFS_FOLDER_PATH>
export DATABASE_URL=postgres://<POSTGRES_LOGIN>:<POSTGRES_PASSWORD>@<DB_HOST>:<PORT>/<BASE_NAME>

Или с указанием конкретной схемы базы данных:

export 	DATABASE_URL=postgres://<POSTGRES_LOGIN>:<POSTGRES_PASSWORD>@<DB_HOST>:<PORT>/<BASE_NAME>?currentSchema=<POSTGRES_SCHEMA>

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

export DATABASE_TABLESPACE=<DATABASE_TABLESPACE>

Укажите настройки Redis и других сервисов (эти команды обязательны):

export REDIS_ROLE=master
export REDIS_SENTINEL_LIST=<IP_1>,<IP_2>,<IP_3>
export REDIS_MASTER_IP=<IP_1>
export PM_HOSTNAME=<IP_1>
export DRIVER_OPTS_TYPE="nfs"
export DRIVER_OPTS_O="addr=<NFS_ADDR>,nolock,soft,rw"
export DRIVER_OPTS_DEVICE=":/scratch"
export EXT_HOSTNAME=<IP_BALANCER>
export REDIS_PASSWORD=<REDIS_PASSWORD>
export CUPS_PASSWORD=<CUPS_PASSWORD>
export FTPD_PASSWORD=<FTPD_PASSWORD>
export WEBDAV_PASSWORD=<WEBDAV_PASSWORD>

Где:

Важно: Оставайтесь в этом же терминале до завершения установки, иначе переменные окружения будут потеряны.

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

Установка второго и последующих ПринтМенеджеров

Повторите команды экспорта переменных окружения, изменив:

export REDIS_ROLE=slave
export PM_HOSTNAME=<IP>

Где <IP> — IP-адрес устанавливаемого сервера.

Запустите установку.

Проверка корректности установки

  1. Проверьте систему по "Чек-листу для проверки корректной установки".
  2. Исключите проверки, связанные с настройкой HAProxy.
  3. Добавьте собственные проверки, актуальные для вашего балансировщика.

Смена паролей технических сервисов

Смена паролей технических сервисов

Смена паролей в Мониторинге

Описание

Смена паролей внутренних сервисов Мониторинга. По умолчанию используется случайный пароль из 16 символов, включая спецсимволы.


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

Цифры, строчные и прописные латинские буквы, спецсимволы: + - _ ! ^ ( )


Общий порядок

Смена паролей происходит в файле /opt/printum/.env. Обязательно сделайте копию данного файла перед его редактированием. Далее внесите изменения указанные в конкретном разделе ниже. В конце, для вступления изменений в силу выполните перезапуск системы Мониторинга:

cd /opt/printum/
sudo docker-compose down
sudo docker-compose up -d

ClickHouse

Измените значение переменной CLICKHOUSE_PASSWORD="NEW-PASSWORD"

Где NEW-PASSWORD — новый пароль


Redis

Измените значение переменных:

REDIS_URL="redis://:NEW-PASSWORD@redis:6379/0"
REDIS_PASSWORD="NEW-PASSWORD"
CACHEOPS_REDIS="redis://:NEW-PASSWORD@redis:6379/1"

где NEW-PASSWORD — новый пароль


PostgreSQL (версия Мониторинга 4.0+)

Измените значение переменной:

POSTGRESQL_PASSWORD="NEW-PASSWORD"

После чего выполните команды:

sudo docker-compose down
sudo docker-compose up -d postgres
sudo docker-compose exec -T postgres bash -c 'PGPASSWORD="OLD-PASSWORD" psql -U printum -c "ALTER USER printum PASSWORD '\''NEW-PASSWORD'\'';"'
sudo docker-compose up -d

Где:

NEW-PASSWORD - новый пароль OLD-PASSWORD - текущей пароль

Обратите внимание, в данной команде необходимо указать старый пароль OLD-PASSWORD и новый пароль NEW-PASSWORD. Между аргументом -p и старым паролем нет пробела.

При корректном вводе в терминале будет выведено сообщение:

mysql: [Warning] Using a password on the command line interface can be insecure.

В случае ошибки ввода старого пароля в терминале будет сообщение вида:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

Смена паролей технических сервисов

Смена паролей в ПринтМенеджере

Описание

Смена паролей внутренних сервисов ПринтМенеджера.

Общий порядок

Смена паролей происходит в файле /opt/printmanager/.env. Обязательно сделайте копию данного файла перед его редактированием. Далее внесите изменения указанные в конкретном разделе ниже. В конце, для вступления изменений в силу выполните перезапуск системы:

cd /opt/printmanager/
sudo docker-compose down
sudo docker-compose up -d

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

PostgreSQL (базовая схема, без балансировки)

Измените значение переменных:

DATABASE_URL="postgres://postgres:NEW-PASSWORD@db:5432/printmanager"
DATABASE_PASSWORD="NEW-PASSWORD"

После чего выполните команды:

sudo docker-compose down
sudo docker-compose up -d db
sudo docker-compose exec -T db bash -c "psql -U postgres -c \"ALTER USER postgres PASSWORD '\$POSTGRES_PASSWORD';\""
sudo docker-compose up -d

Где NEW-PASSWORD - новый пароль

PostgreSQL (схема с балансировкой нагрузки)

Измените значение переменных в файле конфигурации .env на всех нодах ПМ:

DATABASE_URL="postgres://postgres:NEW-PASSWORD@db:5432/printmanager"

Где NEW-PASSWORD- новый пароль.

Выполните команду остановки контейнеров на всех нодах ПМ:

sudo docker-compose down

Измените пароль штатными средствами во внешней базе данных. Далее по очереди запустите контейнеры на всех нодах ПМ, с первой по последнюю.

sudo docker-compose up -d

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

Redis, Redis-sentinel

Пароль общий, поэтому меняется в обоих компонентах системы. Redis-sentinel работает только в схеме балансировки нагрузки.

Измените значение переменных:

REDIS_URL="redis://:NEW-PASSWORD@redis:6379/0"
REDIS_PASSWORD="NEW-PASSWORD"

Где NEW-PASSWORD- новый пароль.

После чего выполните команду остановки работы контейнеров:

sudo docker-compose down

Если используется схема с балансировкой нагрузки, то также выполните следующую команду:

sudo docker volume rm -f printmanager_sentinel-conf

Для применения изменений запустите контейнеры:

sudo docker-compose up -d

CUPS

Измените значение переменных:

CUPS_PASSWORD="NEW-PASSWORD"

Где NEW-PASSWORD- новый пароль.

Для применения изменений перезапустите контейнеры:

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

FTP

Измените значение переменных:

FTP_SCAN_PASSWORD="NEW-PASSWORD"

Где NEW-PASSWORD- новый пароль.

Для применения изменений перезапустите контейнеры:

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

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

Как обновить Printum

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

Перед обновлением Мониторинга или ПринтМенеджера в продуктивной среде.


Предусловия


Резервная копия

При создании резервной копии предпочтительнее воспользоваться инструментами гипервизора (снапшот или бэкап).

Если нет возможности использовать инструменты гипервизора то, воспользуйтесь инструкцией по созданию резервной копии системы: Создание резервной копии

Восстановление: Восстановление из резервной копии


Базовая конфигурация: онлайн-обновление

# 1. Обновить М
sudo curl -L https://s3.printum.io/box/monitoring/install.sh | sudo -E bash

# 2. Убедиться что М работает — открыть ЛК, проверить доступность панели администратора Монитоирнга.

# 3. Обновить ПМ
sudo curl -L https://s3.printum.io/distrib/printum-printmanager/install.sh | sudo -E bash

Если используется шифрование конфигурационного файла — добавить переменную ENV_VAULT_PASSWORD=<password> в команду запуска обновления.


Базовая конфигурация: офлайн-обновление

# Перенести дистрибутивы на сервер
scp monitoring-x.y.z.tar.gz root@<ip>:/root/dist/
scp monitoring-x.y.z.tar.gz.sha512 root@<ip>:/root/dist/
scp printmanager-x.y.z.tar.gz root@<ip>:/root/dist/
scp printmanager-x.y.z.tar.gz.sha512 root@<ip>:/root/dist/

# Проверить целостность
cd /root/dist
sha512sum -c monitoring-x.y.z.tar.gz.sha512
sha512sum -c printmanager-x.y.z.tar.gz.sha512

# Обновить М
tar xzvf monitoring-x.y.z.tar.gz
cd monitoring-x.y.z
sudo -E ./install.sh

# После запуска М — обновить ПМ
cd /root/dist
tar xzvf printmanager-x.y.z.tar.gz
cd printmanager-x.y.z
sudo -E ./install.sh

Если используется шифрование конфигурационного файла — добавить переменную ENV_VAULT_PASSWORD=<password> в команду запуска обновления.


Балансировщик: обновление через скрипт массовой установки

Если система устанавливалась через install_all_offline.sh, то обновить пути к дистрибутивам в config.ini:
В разделе [General] указать путь где хранятся новые дистрибутивы на сервере:

[General]
MON_DIST_PATH = /home/user/printum-x.x.x.tar.gz
PM_DIST_PATH = /home/user/printmanager-x.x.x.tar.gz

Убедится, что в каждом из разделов Мониторинга и ПринтМенеджера переменная SKIP установлена в нужное положение:

SKIP = false  #если пропускать обновление для данного сервера не нужно.
SKIP = true   #если требуется пропустить обновление данного сервера.

Сохранить изменения в файле и запустить обновление:

sudo ./install_all_offline.sh

Балансировщик: ручное обновление

Если скрипт массовой установки не использовался:

  1. Обновить Мониторинг согласно вышеизложенной инструкции по базовой конфигурации.
  2. Остановить контейнеры ПринтМенеджера на всех нодах:
ssh user@pm1 "cd /opt/printmanager && sudo docker-compose down"
ssh user@pm2 "cd /opt/printmanager && sudo docker-compose down"
ssh user@pm3 "cd /opt/printmanager && sudo docker-compose down"
  1. Обновить ПринтМенеджер на первой ноде согласно вышеизложенной инструкции по базовой конфигурации.
  2. Обновить остальные ПринтМенеджеры — можно параллельно.
  3. Проверить панель доступность нод в веб-интерфейсе балансирвощика.
  4. Проверить доступность ПринтМенеджера по адресу балансировщика.

Проверка после обновления

# Версии компонентов
cat /opt/printum/.version
cat /opt/printmanager/.version

# Статус контейнеров
cd /opt/printum && sudo docker-compose ps
cd /opt/printmanager && sudo docker-compose ps

Все контейнеры должны быть в статусе Up. Контейнеры в статусе Exit или Restarting — признак проблемы.

Функциональные проверки:


Если что-то пошло не так

Типовые ошибки после обновления — в разделе "Устранение неисправностей":


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

Как обновить SSL-сертификаты Printum

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


Основные приципы

Обновление сертификатов системы производится путём запуска обновления Мониторинга и ПринтМенеджера. При обновлении требуется указать переменные, содержащие ссылки на локальные файлы сертификатов:

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

Singlenode: обновление сертификатов Мониторинга

Офлайн метод:

tar xvf printum-x.x.x.tar.gz
cd printum-x.x.x
sudo -E SSL_CERT=/path/cert.crt \
       SSL_KEY=/path/cert.key \
       SSL_CERT_CA=/path/ca.crt ./install.sh 

Онлайн метод:

sudo curl -L https://s3.printum.io/box/monitoring/install.sh | \
  sudo -E SSL_CERT=/path/cert.crt \
       SSL_KEY=/path/cert.key \
       SSL_CERT_CA=/path/ca.crt bash

Singlenode: обновление сертификатов ПринтМенеджер

Офлайн метод:

tar xvf printmanager-x.x.x.tar.gz
cd printmanager-x.x.x
sudo -E SSL_CERT=/path/cert.crt \
       SSL_KEY=/path/cert.key \
       SSL_CERT_CA=/path/ca.crt ./install.sh 

Онлайн метод:

sudo curl -L https://s3.printum.io/distrib/printum-printmanager/install.sh | \
  sudo -E SSL_CERT=/path/cert.crt \
       SSL_KEY=/path/cert.key \
       SSL_CERT_CA=/path/ca.crt bash

Балансировщик: обновление собственных сертификатов через скрипт автоматической установки

В файле config.ini обновить пути к новым сертификатам:

[General]
SSL_CERT_CA = /path/to/new/ca.crt

[Balancer]
SSL_CERT = /path/to/balancer/cert.crt
SSL_KEY  = /path/to/balancer/cert.key

[Monitoring]
SSL_CERT = /path/to/monitoring/cert.crt
SSL_KEY  = /path/to/monitoring/cert.key

[PrintManager_1]
SSL_CERT = /path/to/pm1/cert.crt
SSL_KEY  = /path/to/pm1/cert.key

# [PrintManager_2], [PrintManager_3] — аналогично

Запустить скрипт:

sudo ./install_all_offline.sh

Балансировщик: перевыпуск автоматических сертификатов для установки балансировщика вручную

Выполнять на сервере балансировщика раз в год:

# Удалить все сертификаты
sudo rm -fr /opt/printum_balancer/certificates

# Выпустить новый корневой сертификат
sudo /opt/printum_balancer/scripts/generate_ca_cert.sh

# Перевыпустить сертификаты для всех серверов
cd /opt/printum_balancer/scripts
sudo ./regenerate_all_certs.sh \
  -balancer <BALANCER_ADR> \
  -pm <PM_1> \
  -pm <PM_2> \
  -pm <PM_3>

Где <BALANCER_ADR>, <PM_1>, <PM_2>, <PM_3> — те же адреса, что использовались при первоначальной установке.


Проверка после обновления

# Проверить срок действия нового сертификата М
openssl s_client -connect <адрес_М>:8001 </dev/null 2>/dev/null \
  | openssl x509 -noout -dates

# Проверить синхронизацию М–ПМ
cd /opt/printmanager
sudo docker-compose logs printmanager-celery-print-queue --tail=50 | grep -i ssl

Ошибок SSL нет. Синхронизация завершается успешно.


Когда эскалировать


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