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

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


Сайдбар

Розділи

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

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 · Востаннє змінено: 2023/06/17 14:06 повз skybetik