Класс SNMP
(PHP 5 >= 5.4.0, PHP 7)
Введение
Представляет сессию SNMP.
Обзор классов
$version
, string $hostname
, string $community
, int $timeout
= -1
, int $retries
= -1
)$securityLevel
, string $authProtocol
= ""
, string $authPassphrase
= ""
, string $privacyProtocol
= ""
, string $privacyPassphrase
= ""
, string $contextName
= ""
, string $contextEngineId
= ""
) : bool$objectId
, bool $suffixAsKey
= false
, int $maxRepetitions
= -1
, int $nonRepeaters
= -1
) : array|boolСвойства
- 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
OID-представление .1.3.6.1.2.1.1.3.0 для различных значений oid_output_format 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 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