snmpset

(PHP 4, PHP 5)

snmpsetDéfinit la valeur d'un objet SNMP

Description

bool snmpset ( string $host , string $community , string $object_id , string $type , mixed $value [, int $timeout = 1000000 [, int $retries = 5 ]] )

snmpset() sert à définir la valeur de l'objet SNMP spécifié par object_id.

Liste de paramètres

host

Le nom d'hôte de l'agent SNMP (serveur).

community

La communauté de lecture.

object_id

L'identifiant de l'objet SNMP.

type

Le MIB définit le type de chaque identifiant d'objets. Il doit être spécifié sous la forme d'un simple caractère depuis la liste suivante.

types
=Le type est récupéré depuis le MIB
iINTEGER
uINTEGER
sSTRING
xHEX STRING
dDECIMAL STRING
nNULLOBJ
oOBJID
tTIMETICKS
aIPADDRESS
bBITS

Si la constante OPAQUE_SPECIAL_TYPES a été définie lors de la compilation de la bibliothèque SNMP, les caractères suivants seront également disponibles :

types
Uint64 non-signé
Iint64 signé
Ffloat
Ddouble

La plupart de ces valeurs utilise le type ASN.1 correspondant. 's', 'x', 'd' et 'b' sont toutes des façons différentes de spécifier la valeur OCTET STRING et le type non-signé 'u' est également utilisé pour gérer les valeurs Gauge32.

Si les fichiers MIB sont chargés dans l'arbre MIB avec "snmp_read_mib" ou en les spécifiant dans la configuration de libsnmp, '=' pourra être utilisé comme paramètre de type pour tous les identifiants d'objets, vu que le type peut automatiquement être lu depuis le MIB.

Notez qu'il y a 2 façons de définir une variable de type BITS like i.e. "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":

  • En utilisant le type "b" et une liste d'octets. Cette méthode n'est pas recommandée vu que la requête GET pour un même OID retournera i.e. 0xF8.
  • En utilisant le type "x" et un nombre héxadécimal mais sans(!) le préfixe usuel "0x".

Reportez-vous à la section sur les exemples pour plus de détails.

value

La nouvelle valeur.

timeout

Le nombre de microsecondes depuis le premier timeout.

retries

Le nombre d'essais avant d'atteindre le délai maximal d'attente.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Si l'hôte SNMP rejète le type de données, une alerte de type E_WARNING comme "Warning: Error in packet. Reason: (badValue) The value given has the wrong type or length." sera affiché. Si un OID inconnu ou invalide est spécifié, le contenu de l'alerte sera probablement "Could not add variable".

Exemples

Exemple #1 Exemple avec snmpset()

<?php
  snmpset("localhost", "public", "IF-MIB::ifAlias.3", "s", "foo");
?>

Exemple #2 Exemple avec snmpset() pour configurer l'identifiant de l'objet SNMP BITS

<?php
  snmpset("localhost", "public", 'FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// or
  snmpset("localhost", "public", 'FOO-MIB::bar.42', 'x', 'F0');
?>

Voir aussi

LoadingChargement en cours