Php/docs/class.snmp

提供:Dev Guides
< Php
移動先:案内検索

(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 get ( mixed $object_id [, bool $preserve_keys = false ] ) : mixed

public getErrno ( ) : int

public getError ( ) : string

public getnext ( mixed $object_id ) : mixed

public set ( mixed $object_id , mixed $type , mixed $value ) : bool

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_LIBRARYSNMP_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_checkfalse にすると、このチェックが無効になります。

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 オブジェクトのサブツリーを取得する