Overvåking av nettverksutstyr via SNMPv3 i Zabbix

Denne artikkelen er viet funksjonene til overvåking av nettverksutstyr ved hjelp av SNMPv3-protokollen. Vi skal snakke om SNMPv3, jeg vil dele min erfaring med å lage fullverdige maler i Zabbix, og jeg vil vise hva som kan oppnås ved å organisere distribuert varsling i et stort nettverk. SNMP-protokollen er den viktigste når du overvåker nettverksutstyr, og Zabbix er flott for å overvåke et stort antall objekter og oppsummere store volumer av innkommende beregninger.

Noen få ord om SNMPv3

La oss starte med formålet med SNMPv3-protokollen og funksjonene ved bruken av den. Oppgavene til SNMP er å overvåke nettverksenheter og grunnleggende administrasjon ved å sende enkle kommandoer til dem (for eksempel aktivere og deaktivere nettverksgrensesnitt, eller restarte enheten).

Hovedforskjellen mellom SNMPv3-protokollen og dens tidligere versjoner er de klassiske sikkerhetsfunksjonene [1-3], nemlig:

  • Autentisering, som fastslår at forespørselen ble mottatt fra en pålitelig kilde;
  • kryptering (kryptering), for å forhindre avsløring av overførte data når de blir fanget opp av tredjeparter;
  • integritet, det vil si en garanti for at pakken ikke har blitt tuklet med under overføring.

SNMPv3 innebærer bruk av en sikkerhetsmodell der autentiseringsstrategien er satt for en gitt bruker og gruppen han tilhører (i tidligere versjoner av SNMP sammenlignet forespørselen fra serveren til overvåkingsobjektet bare "community", en tekst streng med et "passord" overført i klartekst (ren tekst)).

SNMPv3 introduserer konseptet med sikkerhetsnivåer - akseptable sikkerhetsnivåer som bestemmer konfigurasjonen av utstyr og oppførselen til SNMP-agenten til overvåkingsobjektet. Kombinasjonen av sikkerhetsmodell og sikkerhetsnivå bestemmer hvilken sikkerhetsmekanisme som brukes ved behandling av en SNMP-pakke [4].

Tabellen beskriver kombinasjoner av modeller og SNMPv3-sikkerhetsnivåer (jeg bestemte meg for å la de tre første kolonnene være som i originalen):

Overvåking av nettverksutstyr via SNMPv3 i Zabbix

Følgelig vil vi bruke SNMPv3 i autentiseringsmodus ved bruk av kryptering.

Konfigurere SNMPv3

Overvåkingsnettverksutstyr krever samme konfigurasjon av SNMPv3-protokollen på både overvåkingsserveren og det overvåkede objektet.

La oss starte med å sette opp en Cisco-nettverksenhet, dens minste nødvendige konfigurasjon er som følger (for konfigurasjon bruker vi CLI, jeg forenklet navnene og passordene for å unngå forvirring):

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

Den første linjen snmp-server-gruppen – definerer gruppen av SNMPv3-brukere (snmpv3group), lesemodusen (lese) og tilgangsretten til snmpv3group-gruppen for å se visse grener av MIB-treet til overvåkingsobjektet (snmpv3name deretter i konfigurasjon spesifiserer hvilke grener av MIB-treet gruppen kan få tilgang til snmpv3group vil kunne få tilgang).

Den andre linjen snmp-server-bruker – definerer brukeren snmpv3user, hans medlemskap i snmpv3group-gruppen, samt bruken av md5-autentisering (passord for md5 er md5v3v3v3) og des-kryptering (passord for des er des56v3v3v3). Selvfølgelig er det bedre å bruke aes i stedet for des; jeg gir det her bare som et eksempel. Når du definerer en bruker, kan du også legge til en tilgangsliste (ACL) som regulerer IP-adressene til overvåkingsservere som har rett til å overvåke denne enheten - dette er også beste praksis, men jeg vil ikke komplisere eksemplet vårt.

Den tredje linjens snmp-servervisning definerer et kodenavn som spesifiserer grener av snmpv3name MIB-treet slik at de kan spørres av snmpv3group-brukergruppen. ISO, i stedet for strengt å definere en enkelt gren, lar brukergruppen snmpv3group få tilgang til alle objekter i MIB-treet til overvåkingsobjektet.

Et lignende oppsett for Huawei-utstyr (også i CLI) ser slik ut:

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

Etter å ha satt opp nettverksenheter, må du se etter tilgang fra overvåkingsserveren via SNMPv3-protokollen, jeg vil bruke snmpwalk:

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

Overvåking av nettverksutstyr via SNMPv3 i Zabbix

Et mer visuelt verktøy for å be om spesifikke OID-objekter ved å bruke MIB-filer er snmpget:

Overvåking av nettverksutstyr via SNMPv3 i Zabbix

La oss nå gå videre til å sette opp et typisk dataelement for SNMPv3, innenfor Zabbix-malen. For enkelhets skyld og MIB-uavhengighet bruker jeg digitale OIDer:

Overvåking av nettverksutstyr via SNMPv3 i Zabbix

Jeg bruker egendefinerte makroer i nøkkelfelt fordi de vil være like for alle dataelementer i malen. Du kan angi dem i en mal, hvis alle nettverksenheter i nettverket ditt har de samme SNMPv3-parametrene, eller innenfor en nettverksnode, hvis SNMPv3-parametrene for forskjellige overvåkingsobjekter er forskjellige:

Overvåking av nettverksutstyr via SNMPv3 i Zabbix

Vær oppmerksom på at overvåkingssystemet kun har et brukernavn og passord for autentisering og kryptering. Brukergruppen og omfanget av MIB-objekter det er tillatt tilgang til er spesifisert på overvåkingsobjektet.
La oss nå gå videre til å fylle ut malen.

Zabbix meningsmåling mal

En enkel regel når du oppretter undersøkelsesmaler er å gjøre dem så detaljerte som mulig:

Overvåking av nettverksutstyr via SNMPv3 i Zabbix

Jeg legger stor vekt på inventar for å gjøre det lettere å jobbe med et stort nettverk. Mer om dette litt senere, men foreløpig – utløser:

Overvåking av nettverksutstyr via SNMPv3 i Zabbix

For enkel visualisering av utløsere er systemmakroer {HOST.CONN} inkludert i navnene deres, slik at ikke bare enhetsnavn, men også IP-adresser vises på dashbordet i varslingsdelen, selv om dette er mer et spørsmål om bekvemmelighet enn nødvendighet . For å finne ut om en enhet er utilgjengelig, i tillegg til den vanlige ekkoforespørselen, bruker jeg en sjekk for verts utilgjengelighet ved bruk av SNMP-protokollen, når objektet er tilgjengelig via ICMP, men ikke svarer på SNMP-forespørsler - denne situasjonen er mulig, for eksempel , når IP-adresser dupliseres på forskjellige enheter, på grunn av feil konfigurerte brannmurer, eller feil SNMP-innstillinger på overvåkingsobjekter. Hvis du bruker kontroll av vertens tilgjengelighet kun via ICMP, på tidspunktet for undersøkelse av hendelser på nettverket, kan det hende at overvåkingsdata ikke er tilgjengelige, så mottak av dem må overvåkes.

La oss gå videre til å oppdage nettverksgrensesnitt - for nettverksutstyr er dette den viktigste overvåkingsfunksjonen. Siden det kan være hundrevis av grensesnitt på en nettverksenhet, er det nødvendig å filtrere ut de unødvendige for ikke å rote visualiseringen eller rote databasen.

Jeg bruker standard SNMP-oppdagingsfunksjonen, med flere oppdagbare parametere, for mer fleksibel filtrering:

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]

Overvåking av nettverksutstyr via SNMPv3 i Zabbix

Med denne oppdagelsen kan du filtrere nettverksgrensesnitt etter deres typer, egendefinerte beskrivelser og administrative portstatuser. Filtre og regulære uttrykk for filtrering i mitt tilfelle ser slik ut:

Overvåking av nettverksutstyr via SNMPv3 i Zabbix

Overvåking av nettverksutstyr via SNMPv3 i Zabbix

Hvis det oppdages, vil følgende grensesnitt bli ekskludert:

  • manuelt deaktivert (adminstatus<>1), takket være IFADMINSTATUS;
  • uten en tekstbeskrivelse, takket være IFALIAS;
  • å ha symbolet * i tekstbeskrivelsen, takket være IFALIAS;
  • som er service eller teknisk, takket være IFDESCR (i mitt tilfelle kontrolleres IFALIAS og IFDESCR av et regulært uttrykksalias i regulære uttrykk).

Malen for å samle inn data ved hjelp av SNMPv3-protokollen er nesten klar. Vi vil ikke dvele mer detaljert på prototypene til dataelementer for nettverksgrensesnitt; la oss gå videre til resultatene.

Resultater av overvåking

Til å begynne med, ta en oversikt over et lite nettverk:

Overvåking av nettverksutstyr via SNMPv3 i Zabbix

Hvis du utarbeider maler for hver serie nettverksenheter, kan du oppnå et oppsett som er lett å analysere, sammendragsdata om gjeldende programvare, serienumre og varsling om en renholder som kommer til serveren (på grunn av lav oppetid). Et utdrag av mallisten min er nedenfor:

Overvåking av nettverksutstyr via SNMPv3 i Zabbix

Og nå - hovedovervåkingspanelet, med triggere fordelt etter alvorlighetsgrad:

Overvåking av nettverksutstyr via SNMPv3 i Zabbix

Takket være en integrert tilnærming til maler for hver enhetsmodell i nettverket, er det mulig å sikre at det, innenfor rammen av ett overvåkingssystem, vil bli organisert et verktøy for å forutsi feil og ulykker (hvis passende sensorer og metrikk er tilgjengelig). Zabbix er godt egnet for overvåking av nettverks-, server- og tjenesteinfrastrukturer, og oppgaven med å vedlikeholde nettverksutstyr viser tydelig dens evner.

Liste over kilder som er brukt:1. Hucaby D. CCNP Ruting and Switching SWITCH 300-115 Offisiell sertifiseringsveiledning. Cisco Press, 2014. s. 325-329.
2. RFC 3410. tools.ietf.org/html/rfc3410
3. RFC 3415. tools.ietf.org/html/rfc3415
4. SNMP-konfigurasjonsveiledning, Cisco IOS XE versjon 3SE. Kapittel: SNMP versjon 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

Kilde: www.habr.com

Legg til en kommentar