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)