
Я настраиваю сервер Opsview (nagios) для мониторинга. Пока все идет довольно гладко. Самым непосредственным применением системы будет мониторинг (или, что более важно, оповещение меня) об уровне тонера в принтере. В данный момент «оповещение» приходит, когда кто-то не может печатать, потому что тонер закончился.
Конечно, я могу воспользоваться веб-интерфейсом, но мне нужно что-то более автоматизированное.
У меня Opsview работает со всеми моими принтерами Dell. Естьстандартный OID принтерадля уровней расходных материалов, которые отлично работают на большинстве моих принтеров 1.3.6.1.2.1.43.11.1.1.9.1.1
.
На компьютерах Dell этот OID возвращает число, представляющее количество оставшихся единиц, будь то страницы, граммы, отпечатки или что-то еще, но это фактическое число, которое уменьшается по мере использования принтера.
На моих старых принтерах Brother ( 9460
и 9440
) этот OID возвращает одно целое число -3
.
Описание OID выглядит следующим образом:
Текущий уровень, если этот расходный материал является контейнером; оставшееся пространство, если этот расходный материал является приемником. Если этот расходный материал/приемник может надежно определять это значение, значение определяется принтером и доступно только для чтения; в противном случае значение может быть записано (с помощью удаленной панели управления или приложения управления). Значение (-1) означает «другое» и в частности указывает на то, что субблок не накладывает ограничений на этот параметр. Значение (-2) означает «неизвестно». Значение (-3) означает, что принтер знает, что есть некоторый запас/оставшееся пространство соответственно.
Очевидно, что это -3
не неожиданно. Насколько я понимаю, есть низкий порог, за которым принтер возвращает -2
. Это может потенциально работать, но не даст ничего для графика и т. д. Братья просто не используют версию «оставшегося места». Однако они знают ту же информацию. Если я зайду в веб-интерфейс, там будет своего рода график, который отображает оставшийся тонер.
Toner Cyan (C)**
■■■■■■■■■□
Toner Magenta (M)**
■■■■■■■■■□
Toner Yellow (Y)**
■■■■■■■■■□
Toner Black (K)**
■■■■■■□□□□
Именно эту информацию я и хочу получить через snmp.
Есть ли альтернативный стандартный OID или какое-то другое место, где мне следует искать?
РЕДАКТИРОВАТЬ
После того, как я связался с Brother по электронной почте, я получил следующий ответ:
Джош,
Информация, которую вы имеете относительно информации о тонере, верна, и Brother не предлагает OID для мониторинга уровня тонера. Возможно, это то, что можно будет добавить в будущем поколении, но в настоящее время поддержка уровней тонера отсутствует.
С наилучшими пожеланиями,
Том Сиклс
Менеджер по продукту
Брат Интернешнл
В MIB все еще есть полезная информация. Например, я могу вернуть то, что отображается на экране самого принтера, и оповестить себя, когда он скажет «тонер заканчивается» или что-то в этом роде. Но, судя по всему, уровни тонера в данный момент находятся вне досягаемости.
ПРАВКА 2
Хорошо, поскольку я не собирался получать данные об уровнях тонера, самое простое, что я нашел, это чтобы проверка SNMP просто выдавала предупреждение, когдачто-либонеобычно, и тогда я могу просто зайти в веб-интерфейс и посмотреть, что это такое.
Как это бывает на этих принтерах Brother, ЖК-экран имеет оранжевую подсветку, когда есть сообщение о состоянии, отличное от "все в порядке". Поэтому я нашел OID, который возвращает a, 1
когда он зеленый, и a, 2
когда он оранжевый. И Nagios будет предупреждать об оранжевом.
fwiw, если кому интересно, вот OID:
SNMPv2-SMI::enterprises.2435.2.3.9.4.2.1.5.4.5.6.0
решение1
Реальная проблема здесь заключается в том, встроила ли компания Brother поддержку в принтер, чтобы сообщать о фактических уровнях тонера через SNMP. Просмотр MIB, специфичных для поставщика, является хорошим способом получить представление о том, какая информация поддерживается.
Поиск MIB брата -http://www.oidview.com/mibs/2435/BROTHER-MIB.html- мы видим, что они, похоже, сообщают только о низком уровне тонера, что объясняет, почему при использовании стандартной MIB принтера вы ограничены статусом «-3» / «У меня не низкий уровень тонера».
Хотя, возможно, информация на этом сайте неточная; на самом деле я бы рекомендовал вам попробовать получить MIB Brother напрямую у них -http://welcome.solutions.brother.com/BSC/public_s/id/managedprint/en/mib.html?reg=us&c=us_ot&lang=en&redirect=on
решение2
Это не гарантирует, что сработает, но сработает с несколькими принтерами. Если сработает, то это избавит вас от множества проб и ошибок.
Установите полный пакет ПО/драйверов, который устанавливает в системный трей утилиту, сообщающую о состоянии принтера.
Установите Wireshark и начните следить за тем, что происходит через вашу сетевую карту.
Нас интересует только трафик SMNP, входящий и исходящий с IP-адреса вашего принтера.
Посмотрите, какой OID использует программное обеспечение, а затем попробуйте установить его в Nagios.
решение3
Я искал ту же информацию. У меня есть 2 принтера Brother HL2270DW. Думаю, я нашел то, что нужно. На веб-странице 2270 в разделе конфигурации есть гистограмма, отображающая % оставшегося тонера. Я нашел 2 OID, которые возвращают количество страниц и %. оставшегося тонера. Я не нашел способа определить, какой картридж с тонером установлен, стандартный или повышенной емкости. OID следующие:
$TonerLevel = '.1.3.6.1.2.1.43.10.2.1.5.1.1';
$PageCnt = '.1.3.6.1.2.1.43.10.2.1.4.1.1';
решение4
Я просмотрелстандартный принтер MIBи нашел таблицу оповещений по адресу 1.3.6.1.2.1.43.18
(RFC1759имеет константы).
Если вы посмотрите на константы 1.3.6.1.2.1.43.18.1.1.7
в RFC (стр. 90), то обнаружите следующее:
markerTonerAlmostEmpty(1104),
markerInkAlmostEmpty(1105),
markerPrintRibbonAlmostEmpty(1106),
Это не уровень тонера и не говорит о том, какой картридж используется в многоцветном принтере.
1.3.6.1.2.1.43.18.1.1.8
имеет текст оповещения, в котором говорится что-то вроде Toner Low (Y)
, который может быть проанализирован скриптом.