Skip to main content

Как устроен SNMP и что Принтум получает от принтеров

Кратко

SNMP (Simple Network Management Protocol) — протокол опроса сетевых устройств. Принтум использует SNMP для получения данных от принтеров и МФУ без установки агентов на устройства.


Как устроена информация в принтере

Каждый принтер содержит базу данных объектов — MIB (Management Information Base). Каждый объект в MIB имеет уникальный адрес — OID (Object Identifier).

OID — это числовой путь, например: 1.3.6.1.2.1.43.11.1.1.9.1.1

Структура OID иерархична — как путь в файловой системе:

1.3.6.1          — интернет
1.3.6.1.2        — management
1.3.6.1.2.1      — mib-2 (стандартные объекты)
1.3.6.1.2.1.43   — Printer MIB (RFC 3805)
1.3.6.1.2.1.43.11 — prtMarker (данные о расходных материалах)

Что можно получить по OID

ДанныеOID-веткаПримечание
Модель устройства1.3.6.1.2.1.25.3.2.1.3hrDeviceDescr
Серийный номер1.3.6.1.2.1.43.5.1.1.17prtGeneralSerialNumber
Счётчик отпечатков1.3.6.1.2.1.43.10.2.1.4prtMarkerLifeCount
Оставшийся ресурс тонера1.3.6.1.2.1.43.11.1.1.9prtMarkerSuppliesLevel
Максимальный ресурс1.3.6.1.2.1.43.11.1.1.8prtMarkerSuppliesMaxCapacity
Статус устройства1.3.6.1.2.1.25.3.5.1.1hrPrinterStatus
IP-адрес1.3.6.1.2.1.4.20.1.1ipAdEntAddr

Версии SNMP

ВерсияАутентификацияКогда использовать
SNMPv1Community string (открытый текст)Старые устройства
SNMPv2cCommunity string (открытый текст)Большинство современных устройств
SNMPv3Логин + пароль + шифрованиеПовышенные требования к безопасности

Принтум поддерживает SNMPv1 и SNMPv2c. Community string по умолчанию: public.


Почему разные вендоры показывают разные данные

Стандарт Printer MIB (RFC 3805) описывает общую структуру. Но производители реализуют его по-своему:

  • Одни передают оставшийся ресурс в процентах.
  • Другие — в страницах.
  • Третьи не передают вообще и возвращают -1 или 0.
  • Некоторые устройства передают некорректные значения (253, 254).

Принтум компенсирует это:

  • Если устройство передаёт данные — использует их напрямую.
  • Если не передаёт — рассчитывает самостоятельно по счётчику отпечатков.
  • Расчётные значения помечаются символом *.

Как проверить SNMP вручную

Команда snmpwalk позволяет просмотреть все данные устройства:

snmpwalk -v 2c -c public <ip-адрес-принтера>

Получить конкретный OID:

snmpget -v 2c -c public <ip> 1.3.6.1.2.1.43.10.2.1.4.1.1

Это полезно при диагностике — если snmpwalk не отвечает, устройство не будет обнаружено Сетевым агентом.


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

  • Как работает мониторинг устройств в Принтум
Как рассчитывается ресурс деталей Принтер не обнаружен при сетевом сканировании Сетевой агент — справка по компоненту