Honestly not that important but there's a spelling error in Example #1: "Snm2_pwalk"
Best to fix it so it doesn't confuse.
(PHP >= 5.2.0, PHP 7, PHP 8)
snmp2_walk — Recupera todos los objetos SNMP desde un agente
$hostname
,$community
,$object_id
,$timeout
= -1,$retries
= -1
La función snmp2_walk() se utiliza para leer todos
los valores desde un agente SNMP especificado por
el parámetro hostname
.
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.
Devuelve un array de valores de objeto SNMP
comenzando por el objeto object_id
o false
si ocurre un error.
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.
Honestly not that important but there's a spelling error in Example #1: "Snm2_pwalk"
Best to fix it so it doesn't confuse.
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.