Клас SNMP
(PHP 5 >= 5.4.0, PHP 7, PHP 8)
Вступ
Представляє сесію SNMP.
Огляд класів
class SNMP
{
/* Константы */
public
const
int
VERSION_1;
public
const
int
VERSION_2c;
public
const
int
VERSION_2C;
public
const
int
VERSION_3;
public
const
int
ERRNO_NOERROR;
public
const
int
ERRNO_ANY;
public
const
int
ERRNO_GENERIC;
public
const
int
ERRNO_TIMEOUT;
public
const
int
ERRNO_ERROR_IN_REPLY;
public
const
int
ERRNO_OID_NOT_INCREASING;
public
const
int
ERRNO_OID_PARSING_ERROR;
public
const
int
ERRNO_MULTIPLE_SET_QUERIES;
/* Свойства */
public
readonly
array
$info;
public
?int
$max_oids;
public
int
$valueretrieval;
public
bool
$quick_print;
public
bool
$enum_print;
public
int
$oid_output_format;
public
bool
$oid_increasing_check;
public
int
$exceptions_enabled;
/* Методы */
public __construct( int $version, string $hostname, string $community, int $timeout = -1, int $retries = -1)
public close(): bool
public get(array|string $objectId, bool $preserveKeys = false): mixed
public getErrno(): int
public getError(): string
public getnext(array|string $objectId): mixed
public set(array|string $objectId, array|string $type, array|string $value): bool
public setSecurity( string $securityLevel, string $authProtocol = "", string $authPassphrase = "", string $privacyProtocol = "", string $privacyPassphrase = "", string $contextName = "", string $contextEngineId = ""): bool
public walk( array|string $objectId, bool $suffixAsKey = false, int $maxRepetitions = -1, int $nonRepeaters = -1): array|false
}
Властивості
max_oids
Максимальний OID для запитів GET/SET/GETBULK
valueretrieval
Контролює спосіб, як повертатимуться значення SNMP
SNMP_VALUE_LIBRARY | Повертані значення будуть такими, ніби повернуті бібліотекою Net-SNMP. |
SNMP_VALUE_PLAIN | Повертані значення будуть простими, без інформації про типи SNMP. |
SNMP_VALUE_OBJECT | Повертані значення будуть об'єктами з властивостями "value" і "type", де "type" міститиме одну з констант: SNMP_OCTET_STR, SNMP_COUNTER і т.д., а "value" буде залежати від того, чи встановлено SNMP_VALUE_LIBRARY або SNMP_VALUE_PLAIN . |
quick_print
Значениеquick_print
в библиотеке NET-SNMP
Устанавливает значениеquick_print
у бібліотеці NET-SNMP. якщо задано як (1), бібліотека SNMP повертатиме значення 'quick printed'. Це означає, що буде надруковано лише значення. Якщо quick_print
не дозволено (за замовчуванням), бібліотека NET-SNMP друкуватиме додаткову інформацію, включаючи тип значення (тобто IpAddress або OID). Додатково якщо quick_print не дозволено, бібліотека друкуватиме шістнадцяткові значення для всіх рядків коротше чотирьох символів.
enum_print
Контролює спосіб, яким будуть друкуватись значення перерахувань
Параметр перемикає поведінку walk/get і т.д., щоб вони автоматично дивилися значення перерахувань у MIB та повертали їх разом із зрозумілим людині текстом.
oid_output_format
Контролює формат виводу OID
SNMP_OID_OUTPUT_FULL | .iso.org.dod.internet.mgmt.mib -2.system.sysUpTime.sysUpTimeInstance |
SNMP_OID_OUTPUT_NUMERIC | .1.3.6.1.2.1 .1.3.0 |
SNMP_OID_OUTPUT_MODULE | DISMAN-EVENT-MIB::sysUpTimeInstance |
SNMP_OID_OUTPUT_SUFFIX | sysUpTimeInstance |
< strong>SNMP_OID_OUTPUT_UCD | system.sysUpTime.sysUpTimeInstance |
SNMP_OID_OUTPUT_NONE | Undefined |
oid_increasing_check
Контролює заборону на перевірку збільшення OID під час обходу дерева OID
Деякі агенти SNMP відомі тим, що OID повертають не по порядку, але все одно завершують прохід. Інші агенти, що повертають OID не по порядку і можуть викликати нескінченне зациклювання SNMP::walk(), поки не буде вичерпано всю пам'ять. Бібліотека PHP SNMP за замовчуванням здійснює перевірку збільшення OID і припиняє обхід дерева, якщо визначає можливе кільце, видаючи відповідне попередження. Встановіть oid_increasing_check в значение**false
** для заборони перевірки.
exceptions_enabled
Контролює, у яких випадках викидаються винятки SNMPException замість попереджень. Використовуйте побітове АБО з констант SNMP::ERRNO_*
. За промовчанням SNMP не викидає виняток.
info
Властивість доступна тільки для читання, що містить конфігурацію віддаленого агента: ім'я хоста, порт, час за замовчуванням, кількість повторів за замовчуванням
Обумовлені константи
Типи помилок SNMP
SNMP::ERRNO_NOERROR
Помилки SNMP відсутні.
SNMP::ERRNO_GENERIC
Загальна помилка SNMP.
SNMP::ERRNO_TIMEOUT
Перевищено час очікування запиту до SNMP-агенту.
SNMP::ERRNO_ERROR_IN_REPLY
SNMP-агент повернув помилку у відповідь.
SNMP::ERRNO_OID_NOT_INCREASING
SNMP-агент виявив можливе закольцювання через незбільшення OID під час виконання команд (BULK)WALK. Говорить нам, що віддалений SNMP-агент фіктивний.
SNMP::ERRNO_OID_PARSING_ERROR
Бібліотека не змогла розібрати OID (та/або тип команди SET). Запитів не було.
SNMP::ERRNO_MULTIPLE_SET_QUERIES
Бібліотека використовує багато запитів для операції SET. Це означає, що операція буде виконуватися без транзакції, і якщо виникне помилка типу або значення, другий або наступні фрагменти можуть завершитися помилкою.
SNMP::ERRNO_ANY
Усі коди SNMP::ERRNO_* об'єднані побітовим АБО.
Версії протоколу SNMP
SNMP::VERSION_1
SNMP::VERSION_2C
SNMP::VERSION_2c
SNMP::VERSION_3
Зміст
- SNMP::close— Закриває сесію SNMP
- SNMP::__construct - Створює екземпляр SNMP, що представляє сесію віддаленого агента SNMP
- SNMP::get— Отримує об'єкт SNMP
- SNMP::getErrno— Отримує код останньої помилки
- SNMP::getError— Отримує останнє повідомлення про помилку
- SNMP::getnext— Отримати об'єкт SNMP, який слідує за цим ідентифікатором об'єкта
- SNMP::set— Встановлює значення об'єкта SNMP
- SNMP::setSecurity— Налаштовує пов'язані з безпекою параметри сесії SNMPv3
- SNMP::walk— Отримує піддерево об'єкта SNMP