Користувальницькькі налаштування

Налаштування сайту


snmphelper

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версій Попередня ревізія
Остання ревізія По сторонах наступні версії
snmphelper [2021/11/27 16:27]
snmphelper [2022/09/24 14:39]
127.0.0.1 зовнішнє редагування
Рядок 1: Рядок 1:
 +====== SNMPHelper ======
 +
 +Представляет собой слой абстракции для взаимодействия с разнообразными устройствами посредством SNMP. Поведение немножечко управляется соответствующими опциями SNMP_* в [[alteriniconf|alter.ini]].
 +
 +Инициализация:
 +<code php>
 +  $snmp=new SNMPHelper();
 +</code>
 +
 +
 +Типа делаем walk:
 +<code php>
 +    $ip = '192.168.0.151';
 +    $community = 'public';
 +    $oid = '.1.3.6.1.2.1.1.1.0';
 +    $cache = true;
 +    $result = $snmp->walk($ip, $community, $oid, $cache);
 +</code>
 +
 +Ну либо в одну строку если так проще воспринимать:
 +<code php>
 +    $result = $snmp->walk('192.168.0.151', 'public', '.1.3.6.1.2.1.1.1.0', true);
 +</code>
 +
 +И получаем в result на выхлопе sysDescr. Так как версия хост системы в нашем примере, у нас меняется не ежесекундно, мы можем свободно полагаться на кэшированные данные. Там где нам нужно получать данные realtime, естественно лучше использовать кэш в false. Но в большинстве своем, на практике мы делаем периодические опросы оборудования и хотим в дальнейшем использовать эти результаты где-то. Тоесть пример с кэшом в true из нашего примера является в этом контексте полностью валидным. Вот мы типа получили версию системы устройства, а потом хотим ее где-то показать. В таком случае, при наличии кэшированных данных наш walk() для этого же устройства с этим же OID-ом моментально вернет эти данные из кэша не производя очередной бессмысленный запрос. Если же кэш отсутствует или уже протух по времени - он их запросит, и закэширует для своих последующих вызовов на время из опции SNMPCACHE_TIME. Короче это все просто про быстродействие и юзабилити.
 +
 +Типа далаем set:
 +<code php>
 +    $ip = '192.168.0.151';
 +    $community = 'private';
 +
 +
 +    $data[] = array(
 +        'oid' => '.1.3.6.1.2.1.1.6.0',
 +        'type' => 's',
 +        'value' => 'some location'
 +    );
 +
 +
 +    $resut = $snmp->set($ip, $community, $data);
 +</code>
 +
 +И в общем то да, это все что вам в базе нужно знать о этом классе. Мы же обещали, что все будет до безобразия просто? ;)
  
snmphelper.txt · Востаннє змінено: 2023/06/17 14:06 повз skybetik