Questions de base sur SNMP

J'apprends à propos de SNMP, et j'écris des applications qui l'utilisent. J'ai quelques questions de base sur le protocole:

  1. est-ce que les agents stockent son état sur l'appareil lui-même?
  2. S'il y a un piège sur un agent, pouvez-vous faire un sondage sur le même IO pour obtenir la même information?
  3. sans utiliser un fichier mib, y a-t-il un moyen d'interroger un périphérique pour toutes ses informations en même temps? Si ce n'est pas le cas, et que vous écrivez votre propre gestionnaire personnalisé, devez-vous connaître la structure de ce qu'il rapporte à l'avant?
  4. si vous mettez en place un agent pour signaler, y a-t-il habituellement un moyen de contrôler la fréquence à laquelle il envoie un piège? Ou faut-il envoyer un piège aussi souvent qu'une condition soit satisfaite?
19
demandé sur David Hodgson 2010-03-19 05:38:00

3 réponses

Est-ce que les agents stockent son état sur l'appareil lui-même?

Vous pouvez stocker des données sur ou hors périphérique. Les deux sont possibles et les deux sont faits. Le problème avec un agent qui stocke (cache) des informations sur un périphérique distant est que le système de gestion ne sait jamais vraiment si les données (cachées) dans l'agent sont suffisamment à jour. Si vous ne pouvez pas compter dessus, vous devrez utiliser le gestionnaire pour déclencher une synchronisation ou pour Poller l'état du périphérique distant et / ou le lien de communication entre l'agent et le périphérique distant. Une fois que vous êtes dans ce jeu, il est souvent préférable de mettre un sous-agent sur le périphérique distant, et d'utiliser les protocoles standard SNMP pour obtenir l'information.

S'il y a un piège sur un agent, pouvez-vous faire un sondage sur le même OID pour obtenir la même information?

La plupart des MIBs bien conçus ont en fait mis l'objet MIB modifié dans le piège. De cette façon, votre gestionnaire SNMP ne il faut interroger l'agent pour être sûr.

cela dit, le piège sur L'Entity-MIB n'a pas de variables d'état. Cependant, cette MIB est utilisée pour décrire l'inventaire physique tels que les tablettes, les cartes et les ports, et le piège est lancé seulement si la configuration physique change. Dans ce cas, vous devez faire marcher votre gestionnaire SNMP sur L'Entity-MIB pour obtenir la nouvelle configuration physique complète.

sans utiliser un fichier mib, y a-t-il un moyen de interroger un appareil pour toute son information à la fois?

Oui. Roulez votre propre MIB personnalisé et mettez tout ce que vous voulez dedans. Vous pouvez mettre toute votre configuration de périphérique dans un objet MIB. L'inconvénient est que vous devrez écrire un analyseur sur votre gestionnaire SNMP pour analyser la structure, et si la structure change, vous devrez comprendre la signification de la différence entre la valeur courante et la valeur précédente. c'est-à-dire que vous allez réinventer un MIB SNMP. Cependant, pour de très petits MIBs, cela pourrait valoir la peine d'être fait.

Vous êtes probablement mieux à l'aide de SNMP GET-BULK, ou tout simplement faire une MIB walk en appelant successivement SNMP-GET-NEXT jusqu'à ce qu'aucun autre objet ne soit retourné.

si ce n'est pas le cas, et que vous écrivez votre propre gestionnaire personnalisé, devez-vous connaître la structure de ce qu'il rapporte à l'avance?

Si vous voulez garder votre "personnalisé" gestionnaire de simple, vous devez connaître la structure à l'avant. Si vous voulez flexibilité, vous aurez besoin du langage structure-description pour encoder votre structure, et votre gestionnaire devra être en mesure de décoder cela à partir des données de l'agent et peupler le gestionnaire, et de prendre des données du gestionnaire et de l'encoder dans ce format pour l'envoyer au(X) agent (s). c'est-à-dire que vous allez réinventer SNMP/SMI, CMIP/CMISE, CIM, et une foule d'autres systèmes et protocoles de gestion qui ont déjà été déployés.

si vous mettez en place un agent pour signaler, Est-ce qu'il y a habituellement un moyen de contrôler la fréquence de combien de fois il envoie un piège? Ou faut-il envoyer un piège aussi souvent qu'une condition soit satisfaite?

c'est une bonne question, parce que vous recevez souvent un piège tempête congestionnant votre réseau précisément quand vous avez besoin de votre réseau le plus. Qui rend difficile de prédire combien de réseau à la disposition.

Utilisez les pièges judicieusement. Par exemple, L'Entity-MIB n'a qu'un seul piège, et celui-ci vaut la peine d'être utilisé car il déclare: modifications de la structure physique. Les Interfaces-MIB ont potentiellement de nombreux pièges par port. Pour cette MIB, il est préférable d'activer les pièges pour l'interface liée à un port physique, et non pour les interfaces empilées sur les interfaces de couche inférieure. Pour un grand réseau, il est souvent préférable d'utiliser une combinaison de sondes plus des pièges pour l'équipement physique et les interfaces physiques. De cette façon, vous pouvez prédire quelle partie de votre réseau sera utilisée pour la gestion du trafic, que ce soit pendant l'exploitation normale ou au cours d'un réseau de catastrophe.

certains MIBs standard spécifient à quelle fréquence ou à quel moment vous pouvez lancer un piège. Si vous êtes D'accord avec ça, alors utilisez-le. Vous pouvez toujours lancer votre propre MIB D'entreprise avec des objets de MIB de configuration qui permettent à votre gestionnaire d'activer des pièges particuliers.

11
répondu Jay Godse 2013-03-05 13:08:04

est-ce que les agents stockent son état sur l'appareil lui-même?

dans le scénario le plus courant, L'agent SNMP tourne sur l'appareil qui le surveille. Dans ce cas, l'agent n'a pas d'autre option, et aucune information d'état doivent être stockées sur le périphérique. L'agent SNMP ne fait que lire ou configurer ces informations.

S'il y a un piège sur un agent, pouvez-vous faire un sondage sur le même OID obtenir la même information?

je pense que vous devrait pouvoir le faire - par exemple SNMPv2 trap IF-MIB::linkDown contient trois varbins - IF-MIB::ifIndex, IF-MIB::ifAdminStatus et IF-MIB::ifOperStatus. Dans ce cas particulier l'ifIndex spécifie la ligne dans le ifTable et les deux autres peuvent être interrogés.

sans utiliser un fichier mib, y a-t-il un façon d'interroger un périphérique pour tous ses de l'information à la fois?

Oui, utilisez snmp-walk à partir du Paquet net-snmp ou de tout autre outil snmp qui peut utiliser get-next pour interroger les données.

si non, et vous écrivez votre propre gestionnaire personnalisé, devez-vous connaître la structure de ce qu'il indique avant?

vous avez besoin de savoir ce que contient la MIB de périphérique - sans ces informations, vous obtenez seulement L'OID numérique et la valeur, qui est dénuée de sens à la fois pour les développeurs et les utilisateurs. En cas de plus compliqué MIBs vous besoin de connaître beaucoup de détails sur le périphérique géré. Fichier MIB à peine contient jamais assez d'informations.

17
répondu L.R. 2010-03-23 23:42:15

Est-ce que les agents stockent son état sur l'appareil lui-même?

cela dépend de l'appareil et de l'application; certains appareils le stockent localement, d'autres utilisent un mandataire.

S'il y a un piège sur un agent, pouvez-vous faire un sondage sur le même OID pour obtenir la même information?

Oui, mais il est généralement préférable d'inclure l'information dans le piège de sorte que la station de gestion n'a pas à faire de multiples" allers-retours" appareil. Si vous piégez sur un changement de valeur d'attribut, par exemple, c'est une bonne pratique d'envoyer l'ancienne et la nouvelle valeur dans le piège.

sans utiliser un fichier mib, y a-t-il un moyen d'interroger un périphérique pour toutes ses informations à la fois? Si ce n'est pas le cas, et que vous écrivez votre propre gestionnaire personnalisé, devez-vous connaître la structure de ce qu'il rapporte à l'avance?

généralement non... la primitive Get-next de SNMP est conçue pour un tel cas.

si vous mettez en place un agent pour signaler, y a-t-il habituellement un moyen de contrôler la fréquence à laquelle il envoie un piège? Ou faut-il envoyer un piège aussi souvent qu'une condition soit satisfaite?

Oui, c'est à l'agent lorsque pour envoyer des interruptions.

si vous développez votre propre agent, Je très vous suggérez de regarder Net-SNMP. Même si vous optez pour un autre produit, le code Net-SNMP est très bien conçu et mis en œuvre. Majoré il a beaucoup d'extras pour aider à développer et tester des agents (et des systèmes de gestion).

-1
répondu Doug 2010-03-25 13:28:28