• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • snmp2_walk()

    (PHP >= 5.2.0)

    Fetch all the SNMP objects from an agent

    说明

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

    snmp2_walk() function is used to read all the values from an SNMP agent specified by the$hostname.

    参数

    $host

    The SNMP agent(server).

    $community

    The read community.

    $object_id

    If NULL,$object_idis taken as the root of the SNMP objects tree and all objects under that tree are returned as an array.

    If$object_idis specified, all the SNMP objects below that$object_idare returned.

    $timeout

    The number of microseconds until the first timeout.

    $retries

    The number of times to retry if timeouts occur.

    返回值

    Returns an array of SNMP object values starting from the$object_idas root or FALSE on error.

    范例

    Example #1 snmp2_walk() Example

    <?php
    $a = snmp2_walk("127.0.0.1", "public", "");
    foreach ($a as $val) {
        echo "$val\n";
    }
    ?>
    

    Above function call would return all the SNMP objects from the SNMP agent running on localhost. One can step through the values with a loop

    参见

    • snmp2_real_walk()Return all objects including their respective object ID within the specified one
    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.
    Honestly not that important but there's a spelling error in Example #1: "Snm2_pwalk"
    Best to fix it so it doesn't confuse.

    上篇:snmp2_set()

    下篇:snmp3_get()