PHP 8.3.21 Released!

snmp2_walk

(PHP >= 5.2.0, PHP 7, PHP 8)

snmp2_walkRecupera todos los objetos SNMP desde un agente

Descripción

snmp2_walk(
    string $hostname,
    string $community,
    array|string $object_id,
    int $timeout = -1,
    int $retries = -1
): array|false

La función snmp2_walk() se utiliza para leer todos los valores desde un agente SNMP especificado por el parámetro hostname.

Parámetros

hostname

El agente SNMP (servidor).

community

La comunidad de lectura.

object_id

Si null, object_id será la raíz del árbol de objetos SNMP y todos los objetos de este árbol serán devueltos en forma de un array.

Si object_id está especificado, todos los objetos SNMP bajo este object_id serán devueltos.

timeout

El número de microsegundos antes del primer tiempo límite.

retries

El número de intentos en caso de que ocurra un tiempo límite.

Valores devueltos

Devuelve un array de valores de objeto SNMP comenzando por el objeto object_id o false si ocurre un error.

Ejemplos

Ejemplo #1 Ejemplo con snmp2_walk()

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

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

?>

La función anterior debería devolver todos los objetos SNMP desde el agente SNMP funcionando localmente. Un paso siguiente recorre los valores con un bucle.

Ver también

  • snmp2_real_walk() - Devuelve todos los objetos incluyendo los identificadores de sus respectivos objetos

add a note

User Contributed Notes 2 notes

up
2
Adam
13 years ago
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.
up
0
Ypera123 at gmail dot com
8 years ago
Honestly not that important but there's a spelling error in Example #1: "Snm2_pwalk"
Best to fix it so it doesn't confuse.
To Top