Un pseudowire care raportează up îți spune că serviciul există și că ambele direcții sunt de acord că ar trebui să transporte trafic. Nu îți spune că vreun singur frame de client l-a traversat vreodată. Obiectele de stare și obiectele contoare au fost scrise în scopuri diferite, și exact în a lua unul drept dovadă a celuilalt greșesc majoritatea acestor panouri. Compararea lor este munca, pentru că încrederea într-un singur dintre ele răspunde la o întrebare pe care nimeni nu a pus-o.

Starea și contoarele răspund la întrebări diferite

Intrarea principală VC poartă o stare operațională combinată, iar acea stare este up doar când ambele stări direcționale sunt up. Tot ce stă în spate este cunoaștere de plan de control și configurație: circuitul de atașare local, partenerul, semnalizarea. O linie în această stare este o afirmație despre intenție și pregătire, nu despre frame-urile transmise.

Traficul locuiește într-un tabel separat de contoare de mare capacitate pentru pachete și octeți, iar acele rânduri poartă același index VC. Creșterea de acolo este dovada că frame-urile au trecut prin exact acel rând în intervalul măsurat. Un contor neschimbat este ambiguu în sine. Un serviciu inactiv, un colector care citește rândul greșit și o cale ruptă în tăcere produc toate aceeași linie plată.

QuestionObjectWhat it can establish
Is the service up?cpwVcOperStatusBoth direction states agree the VC should carry traffic.
Which side is down?cpwVcInboundOperStatus, cpwVcOutboundOperStatusDirection of the reported fault.
Did frames move?cpwVcPerfTotalTable HC countersObserved forwarding on that row between two polls.
Is the interval clean?cpwVcPerfTotalDiscontinuityTimeWhether the counter was reset inside the window.

Citește tabelul ca două coloane de dovezi, nu ca o scară a gravității. Up cu contoare plate nu este o versiune mai proastă a up cu creștere, este o observație diferită cu un pas următor diferit.

Combină pe indexul VC, nu pe numărul din tichet

Tabelul VC este indexat printr-un singur întreg, iar ID-ul VC, adresa partenerului, tipul și numele serviciului sunt atribute ale acelui rând. După acele atribute îți găsești serviciul; indexul este ceea ce te face să îl găsești în continuare după prima interogare. Un index de interfață, un nume de circuit afișat sau o etichetă MPLS nu sunt acel index chiar și atunci când numerele coincid.

Derivă OID-urile numerice din fișierul MIB de pe colector, nu dintr-o postare de blog, apoi parcurge tabelul o dată și salvează identitatea găsită.

snmptranslate -On CPW-VC-MIB::cpwVcIndex
snmptranslate -On CPW-VC-MIB::cpwVcPerfTotalDiscontinuityTime
snmpwalk -v2c -c monitor 10.60.4.21 -On CPW-VC-MIB::cpwVcTable

Înregistrează adresa de management și indexul împreună în sistemul de monitorizare. O reprovisionare poate muta serviciul pe alt rând, iar un colector care s-a legat după nume de ID-ul VC va continua atunci să deseneze un index învechit care încă răspunde politicos.

Direcția înseamnă pseudowire, nu abonatul

Contoarele de intrare descriu ce a primit VC-ul din rețeaua cu comutare de pachete; contoarele de ieșire descriu ce a transmis mai departe spre acea rețea. Pe un PE orientat spre client, asta corespunde adesea descărcării și încărcării într-o anumită ordine. Pe un PE central, sau pe un PE care are un partener în nucleu, aceleași nume de obiecte descriu experiența opusă a clientului.

Scrie maparea o dată pentru fiecare rol de echipament și păstreaz-o în eticheta panoului. Un grafic intitulat încărcare de la client care desenează de fapt trafic spre nucleu va trece de revizuire și va induce în eroare în tăcere pe toți cei care îl folosesc pentru decizii de capacitate. Același risc se aplică alertelor construite pe acele grafice, pentru că vor chema echipa greșită. Etichetează fiecare grafic după direcția de deplasare față de pseudowire, și lasă maparea clientului să trăiască în panoul care are nevoie de ea.

Un singur test bate orice cantitate de citire a descrierilor de obiecte: treci un fișier cunoscut prin serviciu, interoghează imediat ambele direcții și vezi care contor s-a mișcat. Înregistrează rezultatul lângă rolul echipamentului, pentru că următoarea persoană va pune aceeași întrebare.

O rată este validă doar în interiorul unei ferestre de discontinuitate

Calculează o rată ca sporul contorului de octeți împărțit la secundele scurse, și înmulțește cu opt pentru biți pe secundă. Tratează intervalul ca invalid dacă contorul a scăzut, agentul s-a repornit, rândul s-a schimbat sau obiectul de discontinuitate s-a mișcat. Acel obiect este exprimat față de timpul de funcționare al sistemului, deci și o repornire a echipamentului îl invalidează. Arunca eșantionul și deschide o fereastră nouă în loc să desenezi un vârf.

Ia două eșantioane cu un interval cunoscut și păstrează marcajele de timp de la colector, nu din istoricul terminalului tău.

snmpget -v2c -c monitor -Oqv 10.60.4.21 CPW-VC-MIB::cpwVcPerfTotalInHCBytes.7
sleep 60
snmpget -v2c -c monitor -Oqv 10.60.4.21 CPW-VC-MIB::cpwVcPerfTotalInHCBytes.7
snmpget -v2c -c monitor -Oqv 10.60.4.21 CPW-VC-MIB::cpwVcPerfTotalDiscontinuityTime.7

Contoarele de mare capacitate fac ca depășirea să nu fie o problemă pe un singur pseudowire, așa că o scădere înseamnă aproape întotdeauna o resetare, un agent înlocuit sau un alt rând, nu o depășire aritmetică. De aceea a treia comandă contează la fel de mult ca primele două.

Verifică ce suportă de fapt versiunea instalată

O definiție MIB este o specificație, nu o promisiune despre imaginea ta. Tabelele pot lipsi, pot fi implementate parțial sau pot exista fără să fie populate până când o funcție este activată, iar aceeași platformă poate diferi între versiuni. Definiția CISCO-IETF-PW-MIB îți dă numele obiectelor; echipamentul îți spune dacă răspund.

Interoghează ambele tabele și șirul de firmware într-o singură trecere, apoi compară cu ceea ce afirmă nota de versiune.

snmpget -v2c -c monitor -Oqv 10.60.4.21 SNMPv2-MIB::sysDescr.0
snmpwalk -v2c -c monitor 10.60.4.21 CPW-VC-MIB::cpwVcTable | wc -l
snmpwalk -v2c -c monitor 10.60.4.21 CPW-VC-MIB::cpwVcPerfTotalTable | wc -l

O parcurgere goală și una nesuportată sunt eșecuri diferite, așa că citește eroarea și nu doar numărul de linii. Dacă tabelul de stare răspunde iar cel de performanță nu, îmbinarea proiectată în prima secțiune nu are unde ateriza, iar remedierea este o schimbare de colector, nu de circuit.

Secvența pentru un circuit contestat este scurtă: confirmă identitatea rândului din index, confirmă maparea direcției cu o singură transferare cunoscută, calculează rata doar în interiorul unei ferestre de discontinuitate curate și confirmă că ambele tabele răspund pe acea versiune. Fiecare pas elimină o explicație candidată. Când toate patru se susțin și contoarele tot nu se mișcă, dovezile indică departe de pseudowire. Atunci o captură de pachete pe circuitul de atașare își merită locul.

Articole similare