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)