Как работает SNMP в контексте мониторинга принтеров
Как работает SNMP в контексте мониторинга принтеров
Что такое SNMP
SNMP (Simple Network Management Protocol) — протокол для мониторинга и управления сетевыми устройствами. Работает по UDP, порт 161 (агент) и 162 (trap-сообщения).
Версии
| Версия | Аутентификация | Шифрование | Статус |
|---|---|---|---|
| SNMPv1 | Community string (plaintext) | Нет | Устаревший |
| SNMPv2c | Community string (plaintext) | Нет | Широко используется |
| SNMPv3 | Имя пользователя + пароль | AES/DES | Рекомендуется |
Community string
Community string в SNMPv1/v2c — текстовая строка, выполняющая роль пароля.
public— стандартное read-only значение;private— стандартное read-write значение;- Передаётся в открытом виде (нет шифрования).
Важно: многие устройства поставляются с дефолтными community strings. Их следует изменить.
OID и MIB
OID (Object Identifier) — иерархический идентификатор объекта мониторинга.
.1.3.6.1.2.1.43.11.1.1.9.1.1 — уровень тонера (Printer MIB, RFC 3805)
.1.3.6.1.2.1.43.10.2.1.4.1.1 — счётчик страниц
.1.3.6.1.2.1.1.1.0 — sysDescr (описание устройства)
MIB (Management Information Base) — база описаний OID. Для принтеров: Printer-MIB (RFC 3805), Host Resources MIB (RFC 2790).
Операции SNMP
| Операция | Описание |
|---|---|
| GET | Запрос значения одного OID |
| GET-NEXT / GET-BULK | Обход дерева OID |
| SET | Изменение значения (требует write-доступа) |
| TRAP / INFORM | Уведомление от устройства (push) |
Почему устройства иногда не отвечают
| Причина | Решение |
|---|---|
| Неверный community string | Проверить настройки устройства |
| SNMP отключён на устройстве | Включить в настройках принтера |
| Брандмауэр блокирует UDP 161 | Открыть порт |
| Устройство поддерживает только SNMPv3, запрашивается v2c | Привести версии в соответствие |
| Устройство перегружено и не успевает ответить | Увеличить timeout на стороне менеджера |
| IP-фильтр на устройстве | Добавить IP сервера мониторинга в разрешённые |
Как Принтум использует SNMP
Принтум опрашивает МФУ по SNMP для получения:
- текущего статуса устройства (готов, ошибка, офлайн);
- уровней расходных материалов (тонер, барабан);
- счётчиков страниц;
- информации о лотках и бумаге.
Принтум поддерживает SNMP v1, v2c и v3. По умолчанию устройства опрашиваются по SNMP v1/v2c (community string). Для SNMP v3 необходимо отдельно указать логин и пароль — в параметрах сканирования сети в панели администратора Мониторинга (либо в карточке конкретного устройства). При наличии учётных данных v3 все устройства локации переводятся на опрос только по SNMP v3. и как настраивается community string для устройства.
Почему разные вендоры показывают разные данные
Стандарт Printer MIB (RFC 3805) определяет структуру данных, но не способ их передачи. Производители реализуют его по-своему, что приводит к различиям в поведении устройств.
- Производители по-разному реализуют Printer MIB (RFC 3805).
- Одни передают оставшийся ресурс в процентах, другие — в страницах, третьи не передают вообще и возвращают
-1или0. - Некоторые устройства передают некорректные значения (
253,254) — Принтум их игнорирует. - Принтум компенсирует отсутствие данных: если устройство не передаёт ресурс детали — Принтум рассчитывает его самостоятельно по счётчику отпечатков.
- Расчётные значения помечаются символом *, чтобы отличать их от данных, полученных напрямую от устройства.
- Разные детали используют разные счётчики: чёрный тонер — общий счётчик отпечатков, цветной тонер — счётчик цветных отпечатков, ролик АПД — счётчик АПД.
- Это нормальное поведение — не баг системы, а особенность реализации SNMP конкретными вендорами.