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

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


Сайдбар

Розділи

Загальний опис
Історія змін
Рекомендації до оновлення
Плани на майбутнє
Відомі проблеми
Онлайн демо
Допомога проекту
Люди
Трохи про безпеку

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.1664019551.txt.gz · Востаннє змінено: 2022/09/24 14:39 повз 127.0.0.1