(PHP 5 >= 5.4.0, PHP 7)
はじめに
SNMP セッションを表します。
クラス概要
SNMP {
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
array
$info
/* メソッド */
public __construct
( int $version
, string $hostname
, string $community
[, int $timeout
= 1000000
[, int $retries
= 5
]] )
public close ( ) : bool
public getErrno ( ) : int
public getError ( ) : string
public setSecurity
( string $sec_level
[, string $auth_protocol
=
[, string $auth_passphrase
=
[, string $priv_protocol
=
[, string $priv_passphrase
=
[, string $contextName
=
[, string $contextEngineID
=
]]]]]] ) : bool
public walk
( string $object_id
[, bool $suffix_as_key
= false
[, int $max_repetitions
[, int $non_repeaters
]]] ) : array
/* 定数 */
const
int
ERRNO_NOERROR
= 0
const
int
ERRNO_GENERIC
= 2
const
int
ERRNO_TIMEOUT
= 4
const
int
ERRNO_ERROR_IN_REPLY
= 8
const
int
ERRNO_OID_NOT_INCREASING
= 16
const
int
ERRNO_OID_PARSING_ERROR
= 32
const
int
ERRNO_MULTIPLE_SET_QUERIES
= 64
const
int
ERRNO_ANY
= 126
const
int
VERSION_1
= 0
const
int
VERSION_2C
= 1
const
int
VERSION_2c
= 1
const
int
VERSION_3
= 3
}
プロパティ
max_oids
GET/SET/GETBULK リクエスト単位の最大の OID
valueretrieval
SNMP の値を返す方法
SNMP_VALUE_LIBRARY
Net-SNMP ライブラリの返す値を返します。 SNMP_VALUE_PLAIN
SNMP 型ヒントを含まないプレーンな値を返します。 SNMP_VALUE_OBJECT
オブジェクトを返します。このオブジェクトはプロパティ "value" および "type" を持ち、後者のプロパティの値は SNMP_OCTET_STR, SNMP_COUNTER などの定数となります。 "value" の中身は
SNMP_VALUE_LIBRARY
とSNMP_VALUE_PLAIN
のどちらが設定されているかによって変わります。quick_print
NET-SNMP ライブラリ内の
quick_print
の値NET-SNMP ライブラリ内の
quick_print
の値を指定します。 これを (1 に) 設定すると、SNMP ライブラリは「手早く表示」した値を返します。 つまり、単なる値だけを表示するということです。quick_print
を有効にしなければ (デフォルト)、UCD SNMP ライブラリは追加情報 (値の型、たとえば IpAddress や OID) も表示します。 さらに、quick_print が有効でない場合は、三文字以下のすべての文字列に対して追加の十六進値を表示します。enum_print
enum 値の表示方法
walk や get などが、自動的に MIB 内の enum 値の元をたどって その値も可読形式の文字列にするかどうかを設定します。
oid_output_format
OID の出力フォーマットの制御
oid_output_format
の値による、OID .1.3.6.1.2.1.1.3.0 の表示方法の変化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 ツリーの走査中に OID が増加しないパターンがあればそこで走査を終了します。
oid_increasing_check
をfalse
にすると、このチェックが無効になります。exceptions_enabled
警告ではなく SNMPException を発生させるのがどの失敗なのかを設定します。 Use bitwise OR'ed
SNMP::ERRNO_*
constants. By default all SNMP exceptions are disabled.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 エージェントが、(BULK)WALK コマンドの実行中に前の OID から増加していない OID に当たりました。 リモート SNMP エージェントが偽物である可能性があります。
SNMP::ERRNO_OID_PARSING_ERROR
- OID (や SET コマンドの型) のパースに失敗しました。 クエリは作成されませんでした。
SNMP::ERRNO_MULTIPLE_SET_QUERIES
- 要求された SET 操作で複数のクエリを使います。 この操作はトランザクション内の操作ではないので、 二番目以降のクエリに型や値の問題があれば失敗するかもしれません。
SNMP::ERRNO_ANY
- すべての SNMP::ERRNO_* コードをビット OR したもの。
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 — 指定したオブジェクト ID に続く SNMP オブジェクトを取得する
- SNMP::set — SNMP オブジェクトの値を設定する
- SNMP::setSecurity — セキュリティ関連の SNMPv3 セッションパラメータを設定する
- SNMP::walk — SNMP オブジェクトのサブツリーを取得する
/* プロパティ */