Skip to main content

Шаг 3 — Карта системы и где искать проблему

Ключевая мысль

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

Тимур Гусев: «Если инженер умеет читать поток данных, он сможет понять, где именно у нас в этом месте в потоке данных сломалась передача».

Пример 1: Задание не печатается

ЭлементОписание
СценарийПрямая или отложенная печать с клиентом ПМ
Цепочка компонентовАРМ → Клиент ПМ → Nginx (порт 8080) → Django (printmanager-app) → CUPS (printmanager-cups) → МФУ (порт 631)
Где искатьПроверьте: дошло ли задание до сервера ПМ; принял ли его CUPS; передал ли CUPS на МФУ
Какие логиprintmanager-app, printmanager-cups, printmanager-celery-print-queue

Типичные ошибки: CUPS: Unable to send job to printer, CUPS: Unable to write print data: Broken pipe

Пример 2: Нет данных по принтеру (не отображается в системе)

ЭлементОписание
СценарийМониторинг — устройство не появляется в личном кабинете
Цепочка компонентовМФУ → Сетевой агент (SNMP, порты 161/162) → Nginx → Django → ClickHouse → Celery (printum_worker) → PostgreSQL → Личный кабинет
Где искать1) Устройство отвечает по SNMP? (snmpwalk)
2) Агент передал данные на сервер?
3) Данные попали в ClickHouse?
4) Celery обработал и записал в PostgreSQL?
Какие логиagent.log (/opt/printum-agent/agent.log), printum_worker-default, printum_worker-low

Типичные ошибки: ERROR [apps.inv.services.sync]: Some snmp data missing for printer 1, Failed to connect to clickhouse:9000

Пример 3: Пользователь не авторизуется

ЭлементОписание
СценарийАвторизация на МФУ по карте или PIN через встроенное приложение
Цепочка компонентов (карта)Карта → Конвертер (устройство) → Конвертер-сервер (printmanager-converter-server) → Django (printmanager-app) → PostgreSQL (поиск пользователя)
Цепочка компонентов (PIN / внешняя)МФУ → Встроенное приложение → Nginx → Django (printmanager-app) → PostgreSQL
Где искатьПользователь существует в системе? Карта сопоставлена? Данные синхронизированы из домена?
Какие логиprintmanager-app, printmanager-converter-server

Типичные ошибки: AUTH_ERROR: Invalid credentials, User matching query does not exist

Как читать цепочку

Каждая стрелочка — это передача данных. Если пользователь не видит результат, значит разрыв произошёл где-то в цепочке. Метод диагностики: двигайтесь по цепочке от конца к началу (или от начала к концу) и проверяйте каждое звено по его логам.

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

  • Шаг 2 — Определение сценария и условий
  • Шаг 4 — Сбор и чтение логов
  • Основные процессы системы (стр. 219–222)