Инструменты пользователя

Инструменты сайта


Боковая панель

Разделы

Общее описание
История изменений
Рекомендации к обновлению
Планы на будущее
Известные проблемы
Онлайн демо
Случайная статья
Видео
Помощь проекту
Люди

FAQ



Редактировать сайдбар

snmphelper

SNMPHelper

Представляет собой слой абстракции для взаимодействия с разнообразными устройствами посредством SNMP. Поведение немножечко управляется соответствующими опциями SNMP_* в alter.ini.

Инициализация:

  $snmp=new SNMPHelper();

Типа делаем walk:

    $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);

Ну либо в одну строку если так проще воспринимать:

    $result = $snmp->walk('192.168.0.151', 'public', '.1.3.6.1.2.1.1.1.0', true);

И получаем в result на выхлопе sysDescr. Так как версия хост системы в нашем примере, у нас меняется не ежесекундно, мы можем свободно полагаться на кэшированные данные. Там где нам нужно получать данные realtime, естественно лучше использовать кэш в false. Но в большинстве своем, на практике мы делаем периодические опросы оборудования и хотим в дальнейшем использовать эти результаты где-то. Тоесть пример с кэшом в true из нашего примера является в этом контексте полностью валидным. Вот мы типа получили версию системы устройства, а потом хотим ее где-то показать. В таком случае, при наличии кэшированных данных наш walk() для этого же устройства с этим же OID-ом моментально вернет эти данные из кэша не производя очередной бессмысленный запрос. Если же кэш отсутствует или уже протух по времени - он их запросит, и закэширует для своих последующих вызовов на время из опции SNMPCACHE_TIME. Короче это все просто про быстродействие и юзабилити.

Типа далаем set:

    $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);

И в общем то да, это все что вам в базе нужно знать о этом классе. Мы же обещали, что все будет до безобразия просто? ;)

snmphelper.txt · Последние изменения: 2021/11/27 16:32 — nightfly