La r¨¦ception des traps SNMP est l'oppos¨¦ de l'interrogation des p¨¦riph¨¦riques compatibles SNMP.
Dans ce cas, les informations sont envoy¨¦es depuis un p¨¦riph¨¦rique compatible SNMP et sont "collect¨¦es" par Áú»¢¶Ä²©.
Habituellement, les traps sont envoy¨¦es lors de certaines modifications de condition et l'agent se connecte au serveur sur le port 162 (par opposition au port 161 du c?t¨¦ de l'agent utilis¨¦ pour les requ¨ºtes). L'utilisation des traps peut d¨¦tecter certains probl¨¨mes de courte dur¨¦e qui surviennent au cours de l'intervalle de requ¨ºte et peuvent ¨ºtre ignor¨¦s par les donn¨¦es de la requ¨ºte.
La r¨¦ception des traps SNMP dans Áú»¢¶Ä²© est con?ue pour fonctionner avec snmptrapd et l'un des m¨¦canismes int¨¦gr¨¦s pour transmettre les traps ¨¤ Áú»¢¶Ä²© - un script Perl ou SNMPTT.
Le flux de travail de la r¨¦ception d'un trap :
La configuration des champs suivants dans l'interface web est sp¨¦cifique pour ce type d'¨¦l¨¦ment :
Dans Configuration ¡ú H?tes, dans le champ Interface h?te, d¨¦finissez une interface SNMP avec l'adresse IP ou DNS correcte. L'adresse de chaque trap re?u est compar¨¦ aux adresses IP et DNS de toutes les interfaces SNMP pour trouver les h?tes correspondants.
Dans le champs °ä±ô¨¦ utilisez l'une des cl¨¦s de trap SNMP suivantes :
°ä±ô¨¦ | ||
---|---|---|
Description | Valeur de retour | Commentaires |
snmptrap[regexp] | ||
Re?oit tous les traps SNMP qui correspondent ¨¤ l'expression r¨¦guli¨¨re sp¨¦cifi¨¦e dans regexp. Si regexp n'est pas sp¨¦cifi¨¦, re?oit tous les traps | Trap SNMP | Cet ¨¦l¨¦ment peut ¨ºtre d¨¦fini uniquement pour les interfaces SNMP. Cet ¨¦l¨¦ment est support¨¦ depuis Áú»¢¶Ä²© 2.0.0. Remarque : ¨¤ partir de Áú»¢¶Ä²© 2.0.5, les macros utilisateur et les expressions r¨¦guli¨¨res globales sont prises en charge dans le param¨¨tre de cette cl¨¦ d'¨¦l¨¦ment. |
snmptrap.fallback | ||
Re?oit tous les traps SNMP qui n'ont ¨¦t¨¦ re?us par aucun ¨¦l¨¦ment snmptrap[] pour cette interface. | Trap SNMP | Cet ¨¦l¨¦ment peut ¨ºtre d¨¦fini uniquement pour les interfaces SNMP. \\Cet ¨¦l¨¦ment est support¨¦ depuis Áú»¢¶Ä²© 2.0.0. |
La correspondance d'expressions r¨¦guli¨¨res sur plusieurs lignes n'est pas prise en charge pour le moment.
D¨¦finissez le Type d'information ¨¤ 'Journal' pour les horodatages ¨¤ analyser. Notez que d'autres formats tels que 'Numerique' sont ¨¦galement acceptables, mais peuvent n¨¦cessiter un gestionnaire de traps personnalis¨¦.
Pour que la supervision des traps SNMP fonctionne, elle doit d'abord ¨ºtre correctement configur¨¦e.
Pour lire les traps, le serveur ou le proxy Áú»¢¶Ä²© doit ¨ºtre configur¨¦ pour d¨¦marrer le trappeur SNMP et pointer vers le fichier de traps en cours d'¨¦criture par SNMPTT ou un r¨¦cepteur de traps perl. Pour ce faire, ¨¦ditez le fichier de configuration (zabbix_server.conf ou zabbix_proxy.conf) :
Si le param¨¨tre systemd est utilis¨¦, il est peu probable que ce fichier fonctionne dans /tmp.
Au d¨¦but, snmptrapd devrait ¨ºtre configur¨¦ pour utiliser SNMPTT.
Pour de meilleures performances, SNMPTT doit ¨ºtre configur¨¦ en tant que d¨¦mon en utilisant snmptthandler-embedded pour lui transmettre les traps. Voir les instructions pour configurer SNMPTT sur sa page d'accueil :
Lorsque SNMPTT est configur¨¦ pour recevoir les traps, configurez SNMPTT pour consigner les traps :
Maintenant formatez les traps pour que Áú»¢¶Ä²© les reconnaisse (¨¦ditez snmptt.conf) :
N'utilisez pas de traps inconnus - Áú»¢¶Ä²© ne pourra pas les reconna?tre. Les traps inconnus peuvent ¨ºtre g¨¦r¨¦s en d¨¦finissant un ¨¦v¨¦nement g¨¦n¨¦ral dans snmptt.conf :
EVENT general .* "General event" Normal
Pr¨¦requis : Perl, Net-SNMP compil¨¦ avec --enable-embedded-perl (fait par d¨¦faut depuis Net-SNMP 5.4)
Le r¨¦cepteur de traps Perl (recherchez misc/snmptrap/zabbix_trap_receiver.pl) peut ¨ºtre utilis¨¦ pour transf¨¦rer les traps au serveur Áú»¢¶Ä²© directement depuis snmptrapd. Pour le configurer :
Si le nom du script n'est pas entre quote, snmptrapd refusera de d¨¦marrer avec des messages similaires ¨¤ ceux-ci :
Tous les r¨¦cepteurs de traps perl personnalis¨¦s et la configuration de SNMPTT doivent formater le trap de la mani¨¨re suivante : [timestamp] [trap, partie 1] ZBXTRAP [adresse] [trap, partie 2], o¨´
Notez que "ZBXTRAP" et "[adresse]" seront supprim¨¦s du message pendant le traitement. Si le trap est format¨¦ autrement, Áú»¢¶Ä²© peut analyser les traps de fa?on inattendue.
Exemple de trap :
11:30:15 2011/07/27 .1.3.6.1.6.3.1.1.5.3 Normal ¡°Status Events¡± localhost - ZBXTRAP 192.168.1.1 Link down on interface 2. Admin state: 1. Operational state: 2
Cela entra?nera le trap suivant pour l'interface SNMP avec IP = 192.168.1.1 :
11:30:15 2011/07/27 .1.3.6.1.6.3.1.1.5.3 Normal "Status Events" localhost - Link down on interface 2. Admin state: 1.
Áú»¢¶Ä²© "prend en charge les fichiers volumineux" pour les fichiers de trapper SNMP. La taille limite maximum que Áú»¢¶Ä²© peut lire est 2^63 (8 EiB). Notez que le syst¨¨me de fichier peut imposer une limite inf¨¦rieure sur la taille du fichier.
Áú»¢¶Ä²© ne fournit aucun syst¨¨me de rotation des logs - cela devrait ¨ºtre g¨¦r¨¦ par l'utilisateur. La rotation des logs doit d'abord renommer l'ancien fichier et seulement le supprimer plus tard afin qu'aucun trap ne soit perdu :
En raison de l'impl¨¦mentation du fichier de trap, Áú»¢¶Ä²© a besoin du syst¨¨me de fichiers pour prendre en charge les inodes afin de diff¨¦rencier les diff¨¦rents fichiers (les informations sont acquises par un appel stat()).
Cet exemple utilise snmptrapd + SNMPTT pour transmettre les traps au serveur Áú»¢¶Ä²© :
Cela a pour r¨¦sultat:
Cet exemple simple utilise SNMPTT comme traphandle. Pour de meilleures performances sur les syst¨¨mes de production, utilisez le Perl int¨¦gr¨¦ pour transmettre les traps de snmptrapd ¨¤ SNMPTT ou directement ¨¤ Áú»¢¶Ä²©.