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 — Récupère tous les objets SNMP depuis un agent
$hostname
,$community
,$object_id
,$timeout
= -1,$retries
= -1
La fonction snmp2_walk() est utilisée pour lire toutes
les valeurs depuis un agent SNMP spécifié par
le paramètre hostname
.
hostname
L'agent SNMP (serveur).
community
La communauté de lecture.
object_id
Si null
, object_id
sera la racine
de l'arbre des objets SNMP et tous
les objets de cet arbre seront retournés sous la forme
d'un tableau.
Si object_id
est spécifié, tous les
objets SNMP sous cet
object_id
seront retournés.
timeout
Le nombre de microsecondes avant le premier délai d'expiration.
retries
Le nombre de tentatives dans le cas où un délai d'expiration survient.
Retourne un tableau de valeurs d'objet SNMP
en commençant par l'objet object_id
ou false
si une erreur survient.
Exemple #1 Exemple avec snmp2_walk()
<?php
$a = snmp2_walk("127.0.0.1", "public", "");
foreach ($a as $val) {
echo "$val\n";
}
?>
La fonction ci-dessus devrait retourner tous les objets SNMP depuis l'agent SNMP fonctionnant en local. Une étape suivante parcourt les valeurs avec une boucle.
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.