Monitorització d'equips de xarxa mitjançant SNMPv3 a Zabbix

Aquest article està dedicat a les característiques de monitorització d'equips de xarxa mitjançant el protocol SNMPv3. Parlarem de SNMPv3, compartiré la meva experiència en la creació de plantilles completes a Zabbix i mostraré què es pot aconseguir en organitzar alertes distribuïdes en una gran xarxa. SNMP és el protocol principal per supervisar equips de xarxa i Zabbix és ideal per supervisar un gran nombre d'objectes i resumir grans quantitats de mètriques entrants.

Unes quantes paraules sobre SNMPv3

Comencem amb la finalitat del protocol SNMPv3 i les característiques del seu ús. Tasques SNMP: monitorització de dispositius de xarxa i gestió elemental mitjançant l'enviament d'ordres senzilles (per exemple, activar i desactivar interfícies de xarxa o reiniciar el dispositiu).

La principal diferència entre el protocol SNMPv3 i les seves versions anteriors són les clàssiques funcions de seguretat [1-3], a saber:

  • autenticació (autenticació), que determina que la sol·licitud s'ha rebut d'una font de confiança;
  • xifratge (xifratge), per evitar la divulgació de dades transmeses quan són interceptades per tercers;
  • integritat (Integritat), és a dir, una garantia que el paquet no s'ha manipulat durant el trànsit.

SNMPv3 implica l'ús d'un model de seguretat en el qual s'estableix l'estratègia d'autenticació per a un determinat usuari i el grup al qual pertany (en versions anteriors d'SNMP, només es comparava "community" en una sol·licitud del servidor a l'objecte de monitoratge, una cadena de text amb una "contrasenya" transmesa en text clar (text pla)).

SNMPv3 introdueix el concepte de nivells de seguretat: nivells de seguretat acceptables que determinen la configuració del maquinari i el comportament de l'agent SNMP de l'objecte supervisat. La combinació del model de seguretat i el nivell de seguretat determina quin mecanisme de seguretat s'utilitza quan es processa un paquet SNMP [4].

La taula descriu les combinacions de models i nivells de seguretat SNMPv3 (he decidit deixar les tres primeres columnes com a l'original):

Monitorització d'equips de xarxa mitjançant SNMPv3 a Zabbix

En conseqüència, utilitzarem SNMPv3 en mode d'autenticació xifrada.

Configuració SNMPv3

La supervisió d'equips de xarxa suposa la mateixa configuració del protocol SNMPv3 tant al servidor de monitorització com a l'objecte monitoritzat.

Comencem configurant el dispositiu de xarxa Cisco, la seva configuració mínima necessària és la següent (utilitzem la CLI per a la configuració, he simplificat els noms i les contrasenyes per evitar confusions):

snmp-server group snmpv3group v3 priv read snmpv3name 
snmp-server user snmpv3user snmpv3group v3 auth md5 md5v3v3v3 priv des des56v3v3v3
snmp-server view snmpv3name iso included

El grup snmp-server de primera línia defineix el grup d'usuaris SNMPv3 (snmpv3group), el mode de lectura (lectura) i el dret d'accés del grup snmpv3group per veure determinades branques de l'arbre MIB de l'objecte de monitorització (snmpv3name més enllà de la configuració). especifica a quines branques de l'arbre MIB el grup pertany a snmpv3group podrà accedir).

L'usuari snmp-server de segona línia defineix l'usuari snmpv3user, la seva pertinença al grup snmpv3group, així com l'ús de l'autenticació md5 (la contrasenya per a md5 és md5v3v3v3) i el xifratge des (la contrasenya per a des és des56v3v3v3). Per descomptat, en comptes de des és millor fer servir aes, aquí ho poso només com a exemple. A més, a l'hora de definir un usuari, podeu afegir una llista d'accés (ACL) que regula les adreces IP dels servidors de monitorització que tenen dret a supervisar aquest dispositiu; aquesta també és la millor pràctica, però no complicaré el nostre exemple.

La vista del servidor snmp de tercera línia defineix un nom en codi que defineix branques de l'arbre MIB snmpv3name perquè puguin ser consultades pel grup d'usuaris snmpv3group. ISO, en lloc de definir estrictament una branca única, permet que el grup d'usuaris snmpv3group accedeixi a tots els objectes de l'arbre MIB de l'objecte supervisat.

Una configuració similar de maquinari de Huawei (també a CLI) és la següent:

snmp-agent mib-view included snmpv3name iso
snmp-agent group v3 snmpv3group privacy read-view snmpv3name
snmp-agent usm-user v3 snmpv3user group snmpv3group
snmp-agent usm-user v3 snmpv3user authentication-mode md5 
            md5v3v3v3
snmp-agent usm-user v3 snmpv3user privacy-mode des56
            des56v3v3v3

Després de configurar els dispositius de xarxa, heu de comprovar l'accés des del servidor de supervisió mitjançant el protocol SNMPv3, utilitzaré snmpwalk:

snmpwalk -v 3 -u snmpv3user -l authPriv -A md5v3v3v3 -a md5 -x des -X des56v3v3v3 10.10.10.252

Monitorització d'equips de xarxa mitjançant SNMPv3 a Zabbix

Una eina més descriptiva per consultar OID específics mitjançant fitxers MIB és snmpget:

Monitorització d'equips de xarxa mitjançant SNMPv3 a Zabbix

Ara passem a configurar un element típic per a SNMPv3, dins del marc de la plantilla Zabbix. Per simplicitat i independència de MIB, faig servir OID numèrics:

Monitorització d'equips de xarxa mitjançant SNMPv3 a Zabbix

Utilitzo macros personalitzades als camps clau, ja que seran iguals per a tots els elements de dades de la plantilla. Podeu configurar-los dins d'una plantilla, si tots els dispositius de xarxa de la vostra xarxa tenen la mateixa configuració SNMPv3, o dins d'un amfitrió, si la configuració SNMPv3 per a diferents objectes de monitorització és diferent:

Monitorització d'equips de xarxa mitjançant SNMPv3 a Zabbix

Tingueu en compte que el sistema de monitorització només té un nom d'usuari i contrasenyes per a l'autenticació i el xifratge. El grup d'usuaris i l'àrea d'objectes MIB a què es permet l'accés s'estableix a l'objecte de monitorització.
Ara passem a omplir la plantilla.

Plantilla d'enquesta a Zabbix

Una regla senzilla a l'hora de crear plantilles d'enquesta és fer-les el més detallades possible:

Monitorització d'equips de xarxa mitjançant SNMPv3 a Zabbix

Presto molta atenció a l'inventari, de manera que sigui més convenient treballar amb una gran xarxa. Més endavant, però de moment, desencadena:

Monitorització d'equips de xarxa mitjançant SNMPv3 a Zabbix

Per a la comoditat de visualitzar els activadors, els seus noms contenen macros del sistema {HOST.CONN} de manera que el tauler de control de la secció d'alertes mostra no només els noms dels dispositius, sinó també les adreces IP, tot i que això és més una qüestió de comoditat que de necessitat. Per determinar si un dispositiu és inaccessible, a més de la sol·licitud d'eco habitual, faig servir la comprovació de la inaccessibilitat de l'amfitrió mitjançant el protocol SNMP, quan l'objecte és accessible mitjançant ICMP, però no respon a les sol·licituds SNMP; aquesta situació és possible, per exemple, quan les adreces IP es dupliquen en diferents dispositius, a causa de tallafocs configurats incorrectament o configuracions SNMP incorrectes en objectes supervisats. Si utilitzeu la comprovació de la disponibilitat dels nodes només a través d'ICMP, en el moment d'investigar incidències a la xarxa, les dades de monitorització poden no estar disponibles, per la qual cosa s'ha de controlar la seva recepció.

Passem a descobrir les interfícies de xarxa: per als equips de xarxa, aquesta és la funció de supervisió més important. Com que hi pot haver centenars d'interfícies en un dispositiu de xarxa, cal filtrar-ne les innecessàries per no desordenar la visualització i desordenar la base de dades.

Utilitzo la funció de descoberta SNMP estàndard, amb més opcions descobertes, per a un filtratge més flexible:

discovery[{#IFDESCR},1.3.6.1.2.1.2.2.1.2,{#IFALIAS},1.3.6.1.2.1.31.1.1.1.18,{#IFADMINSTATUS},1.3.6.1.2.1.2.2.1.7]

Monitorització d'equips de xarxa mitjançant SNMPv3 a Zabbix

Amb aquest descobriment, podeu filtrar les interfícies de xarxa segons els seus tipus, "descripcions" d'usuari i estats de ports administratius. Els filtres i les expressions regulars per filtrar en el meu cas tenen aquest aspecte:

Monitorització d'equips de xarxa mitjançant SNMPv3 a Zabbix

Monitorització d'equips de xarxa mitjançant SNMPv3 a Zabbix

Quan es detectin, s'exclouran les interfícies següents:

  • desactivat manualment (adminstatus<>1), gràcies a IFADMINSTATUS;
  • no tenir descripció textual, gràcies a IFALIAS;
  • tenir el símbol * a la descripció del text, gràcies a IFALIAS;
  • que són de servei o tècnics, gràcies a IFDESCR (en el meu cas, a les expressions regulars IFALIAS i IFDESCR es comproven amb un àlies d'expressió regular).

La plantilla de recollida de dades SNMPv3 està gairebé a punt. No ens detenem en els prototips d'elements de dades per a interfícies de xarxa, passem als resultats.

Resultats del seguiment

Per començar, un inventari d'una petita xarxa:

Monitorització d'equips de xarxa mitjançant SNMPv3 a Zabbix

Si prepareu plantilles per a cada sèrie de dispositius de xarxa, podeu aconseguir un disseny convenient per analitzar dades de resum del programari actual, números de sèrie i notificacions sobre l'arribada d'un netejador de servidors (a causa del baix temps d'activitat). A continuació es mostra un extracte de la meva llista de plantilles:

Monitorització d'equips de xarxa mitjançant SNMPv3 a Zabbix

I ara, el tauler principal, amb activadors distribuïts per nivells d'importància:

Monitorització d'equips de xarxa mitjançant SNMPv3 a Zabbix

Gràcies a un enfocament integrat de plantilles per a cada model de dispositius de la xarxa, és possible garantir que en el marc d'un sistema de monitorització s'organitzarà una eina per predir avaries i accidents (si es disposa de sensors i mètriques adequats). Zabbix és molt adequat per supervisar infraestructures de xarxa, servidors i serveis, i la tasca de mantenir equips de xarxa demostra clarament les seves capacitats.

Llista de fonts utilitzades:1. Hucaby D. CCNP Routing and Switching SWITCH 300-115 Official Cert Guide. Cisco Press, 2014.pp. 325-329.
2. RFC 3410. tools.ietf.org/html/rfc3410
3. RFC 3415. tools.ietf.org/html/rfc3415
4. Guia de configuració SNMP, Cisco IOS XE Release 3SE. Capítol: SNMP versió 3. www.cisco.com/c/en/us/td/docs/ios-xml/ios/snmp/configuration/xe-3se/3850/snmp-xe-3se-3850-book/nm-snmp-snmpv3.html

Font: www.habr.com

Afegeix comentari