Взаимодействие по протоколу SNMP

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Logrus
Сообщения: 2079
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 457 раз

Re: Взаимодействие по протоколу SNMP

Сообщение Logrus » Пн дек 11, 2017 6:51 pm

у меня давно не обновлял, но статистика включается вроде б (Tools - Other Settings - Enable IPTraffic (per IP monitoring) ; Monitor all IPs by default)
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: Взаимодействие по протоколу SNMP

Сообщение directman66 » Сб дек 23, 2017 1:55 pm

Да, но не показывает кто куда заходит и откуда качает. Такая фича есть в tomatousb
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Logrus
Сообщения: 2079
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 457 раз

Re: Взаимодействие по протоколу SNMP

Сообщение Logrus » Сб дек 23, 2017 2:13 pm

томат не ставил, т.ч. не знаю, но у нас такое есть
Системный журнал, последняя вкладка Подключения
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Аватара пользователя
Kvantos
Сообщения: 295
Зарегистрирован: Вт окт 31, 2017 1:05 pm
Благодарил (а): 26 раз
Поблагодарили: 49 раз

Re: Взаимодействие по протоколу SNMP

Сообщение Kvantos » Пн авг 03, 2020 4:26 pm

Уважаемый разработчик, не могли бы Вы помимо v1 добавить поддержку протокола v2 по выбору для каждого устройства
snmp2_get($snmp_host, $snmp_community, $snmp_oid);
За это сообщение автора Kvantos поблагодарил:
Pr0gra2Mer (Чт авг 20, 2020 11:49 am)
Рейтинг: 1.16%
MDM живет на 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux
Аватара пользователя
Lerych
Сообщения: 191
Зарегистрирован: Чт дек 14, 2017 8:46 pm
Откуда: Московская область, Серпухов
Благодарил (а): 79 раз
Поблагодарили: 24 раза

Re: Взаимодействие по протоколу SNMP

Сообщение Lerych » Ср апр 07, 2021 7:46 pm

МД стоит на Linux. Установил модуль snmp, чтобы получать данные от UPS APC1500. В модуле добавляю устройство с IP и т.д., в свойствах выставляю OID, тип, название, интервал проверки и привязку объекта (объект, свойство). Нажимаю сохранить, цикл cycle_snmpdevices валиться.
Обратил внимание в таблице "snmpdevices" есть поле "MIB_FILE", но оно пустое.
Вопрос куда родной MIB файл от ИБП класть и в таблице надо его прописывать?
eygen
Сообщения: 392
Зарегистрирован: Чт сен 25, 2014 5:37 pm
Откуда: Екатеринбург
Благодарил (а): 25 раз
Поблагодарили: 52 раза

Re: Взаимодействие по протоколу SNMP

Сообщение eygen » Чт апр 08, 2021 10:43 am

Lerych писал(а):
Ср апр 07, 2021 7:46 pm
МД стоит на Linux. Установил модуль snmp, чтобы получать данные от UPS APC1500. В модуле добавляю устройство с IP и т.д., в свойствах выставляю OID, тип, название, интервал проверки и привязку объекта (объект, свойство). Нажимаю сохранить, цикл cycle_snmpdevices валиться.
Обратил внимание в таблице "snmpdevices" есть поле "MIB_FILE", но оно пустое.
Вопрос куда родной MIB файл от ИБП класть и в таблице надо его прописывать?
Никуда mib не клал. Все работает и так, у меня под windows крутиться.
Аватара пользователя
Lerych
Сообщения: 191
Зарегистрирован: Чт дек 14, 2017 8:46 pm
Откуда: Московская область, Серпухов
Благодарил (а): 79 раз
Поблагодарили: 24 раза

Re: Взаимодействие по протоколу SNMP

Сообщение Lerych » Чт апр 08, 2021 9:52 pm

А у кого-нибудь под Линукс работает? Может ещё что надо поставить?
Аватара пользователя
Kvantos
Сообщения: 295
Зарегистрирован: Вт окт 31, 2017 1:05 pm
Благодарил (а): 26 раз
Поблагодарили: 49 раз

Re: Взаимодействие по протоколу SNMP

Сообщение Kvantos » Пт апр 09, 2021 10:38 am

Lerych писал(а):
Чт апр 08, 2021 9:52 pm
А у кого-нибудь под Линукс работает? Может ещё что надо поставить?
Я когда-то крутил, но модуль поддерживает только snmp v1 (см. вложения). Модуль "сырой".
Пришел к выводу, что легче и лучше или в методе ClockChime каждую минуту опрашивать или кроном запускать и читать все "вручную":

Код: Выделить всё

//SNMP OPiZ
$timeticks = shell_exec("snmpwalk -v 1 -c snmp@key -O e 192.168.1.70 1.3.6.1.2.1.1.3 | awk '{printf $4}' | awk '{printf substr($0, 2, length($0) - 2)}'");
//snmp timeticks / 100 = seconds
//snmp timeticks / 6000 = minutes
//snmp timeticks / 360000 = hours
//snmp timeticks / 8640000 = days
$uptime = intval($timeticks/100);
setGlobal("OrangePiZero01.uptimeSystem",$uptime);
$lntSecs = $uptime;
$intDays = intval($lntSecs / 86400);
$intHours = intval(($lntSecs - ($intDays * 86400)) / 3600);
$intMinutes = intval(($lntSecs - ($intDays * 86400) - ($intHours * 3600)) / 60);
$intSeconds = intval(($lntSecs - ($intDays * 86400) - ($intHours * 3600) - ($intMinutes * 60)));
if ($days == "0" && $hours <= "12") {
   $uptime_opiz01 = "<span style='color: red;'>".$intDays."d. ".$intHours."h. ".$intMinutes."m. "."</span>";
} else {
     $uptime_opiz01 = "<span style='color: lime;'>".$intDays."d. ".$intHours."h. ".$intMinutes."m. "."</span>";
  }
setGlobal("OrangePiZero01.uptimeSystemText",$uptime_opiz01);

$cpuidle = shell_exec("snmpwalk -v 1 -c snmp@key -O e 192.168.1.70 .1.3.6.1.4.1.2021.11.11.0 | awk '{printf $4}'"); //percentages of idle CPU time
$cpuload = (100-$cpuidle);
setGlobal("OrangePiZero01.CPU_load",$cpuload.'%');

$memRealTotal = shell_exec("snmpwalk -v 1 -c snmp@key -O e 192.168.1.70 .1.3.6.1.4.1.2021.4.5.0 | awk '{printf $4}'"); //total memory in machine
$memRealTotal = round($memRealTotal/1000, 0);
$memRealAvail = shell_exec("snmpwalk -v 1 -c snmp@key -O e 192.168.1.70 .1.3.6.1.4.1.2021.4.6.0 | awk '{printf $4}'"); //memory avail
$memRealAvail = round($memRealAvail/1000, 0);
$memRealBuffers = shell_exec("snmpwalk -v 1 -c snmp@key -O e 192.168.1.70 .1.3.6.1.4.1.2021.4.14.0 | awk '{printf $4}'"); //memory buffers
$memRealBuffers = round($memRealBuffers/1000, 0);
$memRealCached = shell_exec("snmpwalk -v 1 -c snmp@key -O e 192.168.1.70 .1.3.6.1.4.1.2021.4.15.0 | awk '{printf $4}'"); //memory cached
$memRealCached = round($memRealCached/1000, 0);
$memFree = shell_exec("snmpwalk -v 1 -c snmp@key -O e 192.168.1.70 .1.3.6.1.4.1.2021.4.11.0 | awk '{printf $4}'"); //free memory (free Swap memory + free RAM memory)
$memFree = round($memFree/1000, 0);
$memRealUsed = $memRealTotal - $memRealAvail;
$memRealPercent = (($memRealUsed - $memRealBuffers - $memRealCached )/ $memRealTotal) * 100;
$memRealPercent = round($memRealPercent, 1);
$mem="Total: ".$memRealTotal." Used: ".$memRealUsed;
setGlobal("OrangePiZero01.memory",$mem);
п.с. MIB на opiz01 стандартные, их не правил
Вложения
Snap 2021-04-09 at 10.29.16.png
Snap 2021-04-09 at 10.29.16.png (43.15 КБ) 2870 просмотров
MDM живет на 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux
Аватара пользователя
Kvantos
Сообщения: 295
Зарегистрирован: Вт окт 31, 2017 1:05 pm
Благодарил (а): 26 раз
Поблагодарили: 49 раз

Re: Взаимодействие по протоколу SNMP

Сообщение Kvantos » Пт апр 09, 2021 10:46 am

Lerych писал(а):
Ср апр 07, 2021 7:46 pm
Вопрос куда родной MIB файл от ИБП класть и в таблице надо его прописывать?
Попробуйте сначала вручную из linux консоли получить:
snmpwalk -v 1 -c snmp@key -O e 192.168.1.100 .1.3.6.1.4.1.2021.11.11.0
где "192.168.1.100" ip ups
".1.3.6.1.4.1.2021.11.11.0" MIB ups
За это сообщение автора Kvantos поблагодарил:
Lerych (Вс апр 11, 2021 12:35 pm)
Рейтинг: 1.16%
MDM живет на 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux
eygen
Сообщения: 392
Зарегистрирован: Чт сен 25, 2014 5:37 pm
Откуда: Екатеринбург
Благодарил (а): 25 раз
Поблагодарили: 52 раза

Re: Взаимодействие по протоколу SNMP

Сообщение eygen » Пт апр 09, 2021 10:16 pm

Lerych писал(а):
Чт апр 08, 2021 9:52 pm
А у кого-нибудь под Линукс работает? Может ещё что надо поставить?
Сейчас посмотрел, не только под windows работает. Настроена на rpi3 собирать по snmp с роутера нагрузку.
Так что под линуксами тоже работает. У меня образ готовый использован.
Ответить