Monitoranta retan ekipaĵon per SNMPv3 en Zabbix

Ĉi tiu artikolo estas dediĉita al la trajtoj de monitorado de retaj ekipaĵoj uzante la protokolon SNMPv3. Ni parolos pri SNMPv3, mi dividos mian sperton pri kreado de plenrajtaj ŝablonoj en Zabbix, kaj mi montros tion, kion oni povas atingi, kiam oni organizas distribuan atentigon en granda reto. La SNMP-protokolo estas la ĉefa dum monitorado de retaj ekipaĵoj, kaj Zabbix estas bonega por monitori grandan nombron da objektoj kaj resumi grandajn volumojn de envenantaj metrikoj.

Kelkajn vortojn pri SNMPv3

Ni komencu kun la celo de la protokolo SNMPv3 kaj la funkcioj de ĝia uzo. La taskoj de SNMP estas monitorado de retaj aparatoj kaj baza administrado sendante simplajn komandojn al ili (ekzemple, ebligi kaj malŝalti retajn interfacojn, aŭ rekomenci la aparaton).

La ĉefa diferenco inter la protokolo SNMPv3 kaj ĝiaj antaŭaj versioj estas la klasikaj sekurecaj funkcioj [1-3], nome:

  • Aŭtentikigo, kiu determinas ke la peto estis ricevita de fidinda fonto;
  • ĉifrado (Ĉifrado), por malhelpi malkaŝon de transdonitaj datumoj kiam ili estas kaptitaj de triaj;
  • integreco, tio estas, garantio ke la pakaĵeto ne estis mistraktita dum transdono.

SNMPv3 implicas la uzon de sekureca modelo en kiu la aŭtentikiga strategio estas fiksita por donita uzanto kaj la grupo al kiu li apartenas (en antaŭaj versioj de SNMP, la peto de la servilo al la monitora objekto komparis nur "komunumo", teksto. ĉeno kun "pasvorto" transdonita en klara teksto (klarteksto)).

SNMPv3 enkondukas la koncepton de sekurecniveloj - akcepteblaj sekurecniveloj, kiuj determinas la agordon de ekipaĵo kaj la konduton de la SNMP-agento de la monitora objekto. La kombinaĵo de sekurecmodelo kaj sekurecnivelo determinas kiu sekurecmekanismo estas uzita dum prilaborado de SNMP-pakaĵeto [4].

La tabelo priskribas kombinaĵojn de modeloj kaj sekurecniveloj de SNMPv3 (mi decidis lasi la unuajn tri kolumnojn kiel en la originalo):

Monitoranta retan ekipaĵon per SNMPv3 en Zabbix

Sekve, ni uzos SNMPv3 en aŭtentikiga reĝimo uzante ĉifradon.

Agordante SNMPv3

Monitora retekipaĵo postulas la saman agordon de la SNMPv3-protokolo sur kaj la monitora servilo kaj la monitorita objekto.

Ni komencu agordi Cisco-retan aparaton, ĝia minimuma bezonata agordo estas jena (por agordo ni uzas la CLI, mi simpligis la nomojn kaj pasvortojn por eviti konfuzon):

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

La unua linio snmp-servila grupo - difinas la grupon de SNMPv3-uzantoj (snmpv3group), la legan reĝimon (legu), kaj la alirrajton de la snmpv3group-grupo por vidi certajn branĉojn de la MIB-arbo de la monitora objekto (snmpv3name tiam en la agordo specifas kiujn branĉojn de la MIB-arbo la grupo povas aliri snmpv3group povos akiri aliron).

La dua linio snmp-servilo uzanto - difinas la uzanton snmpv3user, lian membrecon en la snmpv3group grupo, same kiel la uzon de md5 aŭtentikigo (pasvorto por md5 estas md5v3v3v3) kaj des ĉifrado (pasvorto por des estas des56v3v3v3). Kompreneble, estas pli bone uzi aes anstataŭ des; mi donas ĝin ĉi tie nur kiel ekzemplon. Ankaŭ, kiam vi difinas uzanton, vi povas aldoni alirliston (ACL), kiu reguligas la IP-adresojn de monitoraj serviloj, kiuj rajtas kontroli ĉi tiun aparaton - ankaŭ ĉi tio estas plej bona praktiko, sed mi ne komplikos nian ekzemplon.

La tria linio snmp-servila vido difinas kodnomon kiu precizigas branĉojn de la snmpv3name MIB-arbo tiel ke ili povas esti pridemanditaj fare de la snmpv3group uzantgrupo. ISO, anstataŭ strikte difini ununuran branĉon, permesas al la uzantgrupo snmpv3group aliri ĉiujn objektojn en la MIB-arbo de la monitora objekto.

Simila aranĝo por Huawei-ekipaĵo (ankaŭ en la CLI) aspektas jene:

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

Post agordo de retaj aparatoj, vi devas kontroli la aliron de la monitora servilo per la protokolo SNMPv3, mi uzos snmpwalk:

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

Monitoranta retan ekipaĵon per SNMPv3 en Zabbix

Pli vida ilo por peti specifajn OID-objektojn uzante MIB-dosierojn estas snmpget:

Monitoranta retan ekipaĵon per SNMPv3 en Zabbix

Nun ni pluiru al agordo de tipa datumelemento por SNMPv3, ene de la ŝablono Zabbix. Por simpleco kaj MIB-sendependeco, mi uzas ciferecajn OIDojn:

Monitoranta retan ekipaĵon per SNMPv3 en Zabbix

Mi uzas kutimajn makroojn en ŝlosilaj kampoj ĉar ili estos la samaj por ĉiuj datumelementoj en la ŝablono. Vi povas agordi ilin en ŝablono, se ĉiuj retaj aparatoj en via reto havas la samajn SNMPv3-parametrojn, aŭ ene de retnodo, se la SNMPv3-parametroj por malsamaj monitoraj objektoj estas malsamaj:

Monitoranta retan ekipaĵon per SNMPv3 en Zabbix

Bonvolu noti, ke la monitora sistemo havas nur uzantnomon kaj pasvortojn por aŭtentikigo kaj ĉifrado. La uzantgrupo kaj la amplekso de MIB-objektoj al kiuj aliro estas permesita estas precizigitaj sur la monitora objekto.
Nun ni daŭrigu plenigi la ŝablonon.

Zabbix-enketa ŝablono

Simpla regulo dum kreado de enketŝablonoj estas fari ilin kiel eble plej detalaj:

Monitoranta retan ekipaĵon per SNMPv3 en Zabbix

Mi tre atentas inventaron por faciligi labori kun granda reto. Pli pri ĉi tio iom poste, sed nuntempe - ellasiloj:

Monitoranta retan ekipaĵon per SNMPv3 en Zabbix

Por facileco de bildigo de ellasiloj, sistemaj makrooj {HOST.CONN} estas inkluzivitaj en siaj nomoj tiel ke ne nur aparataj nomoj, sed ankaŭ IP-adresoj montriĝas sur la panelo en la atentiga sekcio, kvankam ĉi tio estas pli komforta ol neceso. . Por determini ĉu aparato estas neatingebla, krom la kutima eĥopeto, mi uzas kontrolon pri gastiga nehavebleco per la SNMP-protokolo, kiam la objekto estas alirebla per ICMP sed ne respondas al SNMP-petoj - ĉi tiu situacio eblas, ekzemple , kiam IP-adresoj estas duobligitaj sur malsamaj aparatoj, pro malĝuste agorditaj fajroŝirmiloj, aŭ malĝustaj SNMP-agordoj pri monitorado de objektoj. Se vi uzas kontroladon de la havebleco de gastiganto nur per ICMP, en la momento de esploro de incidentoj en la reto, monitoraj datumoj eble ne estas disponeblaj, do ilia kvitanco devas esti kontrolita.

Ni daŭrigu detekti retajn interfacojn - por retaj ekipaĵoj ĉi tiu estas la plej grava monitora funkcio. Ĉar povas esti centoj da interfacoj sur reto-aparato, necesas filtri la nenecesajn por ne malordigi la bildigon aŭ malordigi la datumbazon.

Mi uzas la norman SNMP-malkovran funkcion, kun pli malkovreblaj parametroj, por pli fleksebla filtrado:

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]

Monitoranta retan ekipaĵon per SNMPv3 en Zabbix

Kun ĉi tiu malkovro, vi povas filtri retajn interfacojn laŭ iliaj tipoj, kutimaj priskriboj kaj administraj havenaj statoj. Filtriloj kaj regulaj esprimoj por filtrado en mia kazo aspektas jene:

Monitoranta retan ekipaĵon per SNMPv3 en Zabbix

Monitoranta retan ekipaĵon per SNMPv3 en Zabbix

Se detektita, la sekvaj interfacoj estos ekskluditaj:

  • mane malŝaltita (adminstatus<>1), danke al IFADMINSTATUS;
  • sen teksta priskribo, dankon al IFALIAS;
  • havante la simbolon * en la teksta priskribo, danke al IFALIAS;
  • kiuj estas servaj aŭ teknikaj, danke al IFDESCR (en mia kazo, en regulaj esprimoj IFALIAS kaj IFDESCR estas kontrolataj per unu regula esprimo kaŝnomo).

La ŝablono por kolekti datumojn per la protokolo SNMPv3 estas preskaŭ preta. Ni ne pli detale detale pri la prototipoj de datumelementoj por retaj interfacoj; ni pluiru al la rezultoj.

Rezultoj de monitorado

Komence, faru inventaron de malgranda reto:

Monitoranta retan ekipaĵon per SNMPv3 en Zabbix

Se vi preparas ŝablonojn por ĉiu serio de retaj aparatoj, vi povas atingi facile analizeblan aranĝon de resumaj datumoj pri aktuala programaro, seriaj numeroj kaj sciigo pri purigisto venanta al la servilo (pro malalta Aktivtempo). Eltiraĵo de mia ŝablonlisto estas sube:

Monitoranta retan ekipaĵon per SNMPv3 en Zabbix

Kaj nun - la ĉefa monitora panelo, kun ellasiloj distribuitaj laŭ severeco:

Monitoranta retan ekipaĵon per SNMPv3 en Zabbix

Danke al integra aliro al ŝablonoj por ĉiu aparato modelo en la reto, eblas certigi, ke en la kadro de unu monitora sistemo, ilo por antaŭdiri misfunkciojn kaj akcidentojn estos organizita (se taŭgaj sensiloj kaj metrikoj estas disponeblaj). Zabbix estas bone taŭga por monitorado de retaj, serviloj kaj servaj infrastrukturoj, kaj la tasko prizorgi retajn ekipaĵojn klare montras ĝiajn kapablojn.

Listo de uzataj fontoj: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. SNMP-Agorda Gvidilo, Cisco IOS XE Release 3SE. Ĉapitro: SNMP-Versio 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

fonto: www.habr.com

Aldoni komenton