Snmp
В сети много инстркций как установить сервер монитринга The Dude от Mikrotik. Сейчас пакет сервера мониторинга выпускают только для RouterOS. Я использовал версию 4.0 для Windows.
![image](https://habrastorage.org/webt/ma/sx/av/masxav7tn9tmvsfuj6e8ptec35q.jpeg)
Здесь я хотел рассмотреть, как сделать мониторинг принтеров в сети: отслеживать уровень тонера, если он закончился вывести уведомление. Запускаем:
![](https://habrastorage.org/webt/-e/1p/3q/-e1p3qcz92ovnpckmpw1qie4zv4.jpeg)
Нажимаем подключиться:
![](https://habrastorage.org/webt/by/le/ss/bylesshapzh4oxpaxvy4ngxephm.jpeg)
Нажимаем добавить устройство(красный плюс) и вводим ip-адрес принтера:
![](https://habrastorage.org/webt/cv/vx/bd/cvvxbdi93fvugd54wfy6uxnkcry.jpeg)
На следующем шаге нажимаем обнаружение, он находит все доступные зонды, нажимаем закончить:
![](https://habrastorage.org/webt/l8/qh/hw/l8qhhwgk_uetjuq-nkruwfvhb-k.jpeg)
Два раза нажимаем по появившемуся значку, открываются настройки, тип выбираем «принтер», и нажимаем «ок»:
![](https://habrastorage.org/webt/fd/_k/ww/fd_kwwldbgozozsb_6yfvyzxkq0.jpeg)
Правой кнопкой нажимаем по значку и выбираем вид:
![](https://habrastorage.org/webt/rx/9t/vh/rx9tvhduzxy_f9isvzbkpole3nm.jpeg)
В поле метка прописываем OID’ы:
[Device.Name] – имя устройства
[oid(«1.3.6.1.2.1.43.5.1.1.16.1»)] – модель принтера
[oid(«1.3.6.1.2.1.43.11.1.1.6.1.1»)] – тип картриджа
[oid(«1.3.6.1.2.1.43.11.1.1.9.1.1»)] – уровень тонера
Во вкладке изображение можно прикрепить свою иконку:
![](https://habrastorage.org/webt/bo/c9/cx/boc9cxh1isrpluncdenhsnxgosg.jpeg)
Выходим, получается так:
![](https://habrastorage.org/webt/vn/kc/x9/vnkcx9t1xx-dldk35gbjihpqyis.jpeg)
Не на всех принтерах oid(«1.3.6.1.2.1.43.11.1.1.9.1.1») показывает сразу уровень тонера, на некоторых этот параметр показывает сколько осталось напечатать страниц. Чтобы рассчитать уровень тонера нужно разделить сколько осталось напечатать страниц на общий ресурс картриджа и умножить на 100. Для этого снова выбираем «вид», потом Functions:
![](https://habrastorage.org/webt/do/9d/9d/do9d9d-ihyfo4vkiasdnaxjuc-e.jpeg)
Нажимаем создать новую функцию(красный плюс):
![](https://habrastorage.org/webt/_f/2a/j6/_f2aj6e9ynzfcuvor9qsrfsv5uq.jpeg)
Я назвал функцию toner:
![](https://habrastorage.org/webt/ro/ew/wx/roewwxp5qribwloyqxxl4l-r_tq.jpeg)
В поле код пишем формулу и сохраняем:
round(100*oid("1.3.6.1.2.1.43.11.1.1.9.1.1")/oid("1.3.6.1.2.1.43.11.1.1.8.1.1"))
В метке заменяем [oid(«1.3.6.1.2.1.43.11.1.1.9.1.1»)] на вызов функции [toner()]
![](https://habrastorage.org/webt/n5/fw/35/n5fw35vycbx_-k7t8_4nfkhi-pm.jpeg)
Выходим. Получается так:
![](https://habrastorage.org/webt/ml/8t/1q/ml8t1qacw4c413sfj7y3adqezm4.jpeg)
Чтобы узнать нужные oid и прописать нужные параметры можно использовать функцию snmp walk, правая кнопка на принтере – инструменты обход Snmp:
![](https://habrastorage.org/webt/-m/ef/1k/-mef1kwigfig1ap3i1z8dt7xavk.jpeg)
Выдается дерево объектов принтера:
![](https://habrastorage.org/webt/hi/fx/2r/hifx2rvsghiwzourtyvpk7lm15m.jpeg)
Нажимаем правой кнопкой на нужном нам и нажимаем копировать OID.
Уведомления
Теперь настроим уведомления по событию (картридж закончился). Открываем принтер, переходим на вкладку службы, нажимаем плюсик(добавить новую службу):
![](https://habrastorage.org/webt/sw/1p/we/sw1pweynvecpmfhkdhw9whrr9iu.jpeg)
В поле зонд нажимаем три точки чтобы выбрать нужный зонд:
![](https://habrastorage.org/webt/py/qo/pm/pyqopmv3hkuahh4lc2k0fekuvl0.jpeg)
Создадим свой собственный зонд, нажмем красный плюс:
![](https://habrastorage.org/webt/tg/3q/1t/tg3q1tjgf9ppkfuwyeyivecywdo.jpeg)
Я назвал его toner, тип выбираем SNMP, агент по умолчанию, профиль Snmp по умолчанию,
Oid прописываем который отвечает за уровень тонера 1.3.6.1.2.1.43.11.1.1.9.1.1, тип Oid Integer, метод сравнения >= 1
![](https://habrastorage.org/webt/0q/5o/wq/0q5owqmphx3vvb0ozgk7kgii7qg.jpeg)
Сохраняем и в поле зонд выбираем только что созданный toner, во вкладке оповещения можно настроить какие оповещения мы хотим получать и сохраняем:
![](https://habrastorage.org/webt/ei/1o/vs/ei1ovs3xw7rvfbzysxx_1ybyovk.jpeg)
Для демонстрации я выбрал что уровень тонера не должен быть ниже 80, принтер окрасился в красный цвет:
![](https://habrastorage.org/webt/j6/tf/t2/j6tft2xrb4nplkyez75w698o1ka.jpeg)
![](https://habrastorage.org/webt/ty/hs/7k/tyhs7k6sg05dlustjnzh5ipurk4.jpeg)
Комментарии (11)
DaemonGloom
21.08.2019 07:22На всякий случай: dude можно поставить в виртуальную машину (mikrotik chr). Если у вас не сотни/тысячи принтеров, которые нужно постоянно опрашивать по snmp каждые несколько секунд, то вам хватит бесплатной версии (ограничение сетевого интерфейса в один мегабит). За пару тысяч можно взять гигабитную лицензию. Перед покупкой лицензии на высокую скорость интерфейсов можно воспользоваться триалом на 60 дней.
Ну и сам mikrotik chr — это полноценный программный роутер с полным функционалом RouterOS.NRinat
21.08.2019 08:22Ну и триал можно продлевать каждые 60 дней. Сделать это возможно даже скриптом, чтобы не заходить на сам девайс.
Спрашивали про такой «баг» у коллег из Микротика, они в ответ просто улыбаются.DaemonGloom
21.08.2019 09:04Вообще, если не требуются обновления RouterOS, то триал можно даже не сбрасывать — всё и так будет работать. С другой стороны — это не такая уж и большая сумма за хороший софт.
skovpen
21.08.2019 22:26на виртуальную машину, можно не CHR, а обычную X86 из ISO CD Image поставить. Там лицензия на мегабиты не требуется.
VGusev2007
21.08.2019 14:23Очень тупой вопрос можно задать? К чему мириться с рядом ограничений (в бесплатной версии), если можно поставить zabbix. Или в zabbix такой же функционал долго пилить придется?
borisdenis
21.08.2019 14:59zabbix надо куда то ставить, а если у вас уже есть работающая железка (или виртуалка) то зачем что то придумывать и плодить машины?
VGusev2007
21.08.2019 16:09Ну то есть, никаких более веских причин на использование этой балалайки в общем то нету?
borisdenis
21.08.2019 16:59большой плюс (для меня) в такой балалайке это если у вас принтер (к примеру) находится в сети к которой прямого доступа нет, то можно сказать что получи данные с него используя вон тот микротик. И всё будет отлично.
Chronas
Мои «5 копеек»:
![image](https://habrastorage.org/webt/mm/xr/ti/mmxrtigrf6lpzof2z7-tjsddixo.png)
![image](https://habrastorage.org/webt/nf/qf/ti/nfqftixukjxvnlicse4xyzemmpk.png)
Для контроля количества тонера во времени, лучше создать зонд Function
И получить в результате
Или можно контролировать все картриджи по цветам
OID'ы во всех принтерах одинаковые
P.S. обозначения типа «iso» в OID'ах можно использовать только при наличии MIB файлов c описанием значений