downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

snmp3_get> <snmp2_set
[edit] Last updated: Fri, 25 May 2012

view this page in

snmp2_walk

(PHP >= 5.2.0)

snmp2_walkすべての SNMP オブジェクトをエージェントから取得する

説明

array snmp2_walk ( string $host , string $community , string $object_id [, string $timeout = 1000000 [, string $retries = 5 ]] )

snmp2_walk() は、 hostname で指定した SNMP エージェントからすべての値を読み込みます。

パラメータ

host

SNMP エージェント (サーバー)。

community

リードコミュニティ。

object_id

NULL の場合は object_idSNMP オブジェクトツリーのルートとなり、 ツリー配下のすべてのオブジェクトを配列で返します。

object_id を指定すると、 その object_id 以下のすべての SNMP オブジェクトを返します。

timeout

最初のタイムアウトまでのマイクロ秒数。

retries

タイムアウト発生時の再試行回数。

返り値

object_id をルートとするすべての SNMP オブジェクトの値の配列、あるいはエラー時に FALSE を返します。

例1 snm2_pwalk() の例

<?php
$a 
snmp2_walk("127.0.0.1""public""");

foreach (
$a as $val) {
    echo 
"$val\n";
}

?>

この例は、ローカルホストで動作している SNMP エージェントからすべての SNMP オブジェクトを返します。 この値をループで順次処理することができます。

参考

  • snmp2_real_walk() - 指定したすべてのオブジェクトとそのオブジェクト ID を返す



add a note add a note User Contributed Notes snmp2_walk
Adam 10-Apr-2012 12:26
After some testing, I have found that SNMPWalk is considerably slower than multiple SNMPGet.

I was aiming to retrieve 6 Objects from a MIB; the device being polled was attached via a 100mbps network link.
I decided to run SNMPGet within a loop to retrieve each Object from the specified OID's.
As these OID's were within the same tree, I then thought about using walk as this would consolidate the data into a single request. I then walked the tree to get the same result.

I subsequently testing the time it took to retrieve this information via microtime().
As a result, you can retrieve 1 walk containing 6 OID's within the same time as requesting 18 OIDs via get.

I hope this helps someone whom is looking to speed up their SNMP requests.

 
show source | credits | stats | sitemap | contact | advertising | mirror sites