Шаг 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 — Сбор и чтение логов