Stan pseudowire a liczniki ruchu: który dowodzi dostarczenia
Stan operacyjny mówi, że usługa jest skonfigurowana i działa; liczniki mówią, że ramki się przemieściły. Połącz oba po indeksie VC i sprawdź kierunek, nieciągłość oraz obsługę MIB.
Pseudowire zgłaszający stan up mówi ci, że usługa istnieje i że oba kierunki zgadzają się, iż powinna ona przenosić ruch. Nie mówi jednak, że kiedykolwiek przeszedł przez niego choć jeden klienta ramka. Obiekty stanu i obiekty liczników zostały napisane w różnych celach i właśnie na braniu jednego za dowód drugiego myli się większość takich pulpitów. Porównywanie ich jest zadaniem, bo zaufanie tylko do jednego z nich odpowiada na pytanie, którego nikt nie zadał.
Stan i liczniki odpowiadają na różne pytania
Główny wpis VC niesie łączny status operacyjny, a status ten jest up tylko wtedy, gdy oba stany kierunkowe są up. Wszystko za nim to wiedza o płaszczyźnie sterowania i konfiguracji: lokalny obwód przyłączeniowy, peering, sygnalizacja. Wiersz w tym stanie to stwierdzenie o zamiarze i gotowości, a nie o przekazanych ramkach.
Ruch mieszka w osobnej tabeli liczników o dużej pojemności dla pakietów i bajtów, a te wiersze noszą ten sam indeks VC. Wzrost tam jest dowodem, że ramki przechodziły przez dokładnie ten wiersz w mierzonym interwale. Niezmieniony licznik jest sam w sobie niejednoznaczny. Bezczynna usługa, kolektor czytający niewłaściwy wiersz i cicho zerwane połączenie dają tę samą płaską linię.
| Question | Object | What it can establish |
|---|---|---|
| Is the service up? | cpwVcOperStatus | Both direction states agree the VC should carry traffic. |
| Which side is down? | cpwVcInboundOperStatus, cpwVcOutboundOperStatus | Direction of the reported fault. |
| Did frames move? | cpwVcPerfTotalTable HC counters | Observed forwarding on that row between two polls. |
| Is the interval clean? | cpwVcPerfTotalDiscontinuityTime | Whether the counter was reset inside the window. |
Czytaj tabelę jako dwie kolumny dowodów, a nie jedną drabinę istotności. Up z płaskimi licznikami nie jest gorszą wersją up ze wzrostem, to inna obserwacja z innym następnym krokiem.
Łącz po indeksie VC, nie po numerze w zgłoszeniu
Tabela VC jest indeksowana jedną liczbą całkowitą, a ID VC, adres peera, typ i nazwa usługi są atrybutami tego wiersza. Po tych atrybutach znajdziesz swoją usługę; indeks jest tym, po czym znajdujesz ją dalej po pierwszym odpytywaniu. Indeks interfejsu, wyświetlana nazwa obwodu czy etykieta MPLS nie są tym indeksem, nawet gdy liczby się zgadzają.
Wyprowadź numeryczne OID-y z pliku MIB na kolektorze, a nie z wpisu na blogu, następnie raz przejdź tabelę i zapisz znalezioną tożsamość.
snmptranslate -On CPW-VC-MIB::cpwVcIndex
snmptranslate -On CPW-VC-MIB::cpwVcPerfTotalDiscontinuityTime
snmpwalk -v2c -c monitor 10.60.4.21 -On CPW-VC-MIB::cpwVcTableZapisuj adres zarządzania i indeks razem w systemie monitorowania. Ponowne przygotowanie może przenieść usługę do innego wiersza, a kolektor związany po nazwie z ID VC będzie dalej rysował nieaktualny indeks, który wciąż uprzejmie odpowiada.
Kierunek oznacza pseudowire, nie abonenta
Liczniki wejściowe opisują, co VC odebrał z sieci z komutacją pakietów; liczniki wyjściowe opisują, co przekazał w stronę tej sieci. Na PE zwróconym do klienta odpowiada to często pobieraniu i wysyłaniu w pewnej kolejności. Na PE koncentratora albo na PE peeringującym z rdzeniem te same nazwy obiektów opisują przeciwną stronę doświadczenia klienta.
Zapisz mapowanie raz na każdą rolę urządzenia i trzymaj je w etykiecie pulpitu. Wykres zatytułowany wysyłanie klienta, który w rzeczywistości rysuje ruch do rdzenia, przejdzie przegląd i po cichu wprowadzi w błąd wszystkich, którzy używają go do decyzji o pojemności. To samo ryzyko dotyczy alertów zbudowanych na tych wykresach, bo wezwą niewłaściwy zespół. Oznacz każdy wykres kierunkiem ruchu względem pseudowire, a mapowanie klienta niech żyje w panelu, który go potrzebuje.
Jeden test bije każdą ilość czytania opisów obiektów: przeciągnij znany plik przez usługę, natychmiast potem odpytaj oba kierunki i zobacz, który licznik się ruszył. Zapisz wynik obok roli urządzenia, bo następna osoba zada to samo pytanie.
Tempo jest ważne tylko w obrębie jednego okna nieciągłości
Oblicz tempo jako przyrost licznika bajtów podzielony przez upływające sekundy i pomnóż przez osiem, aby otrzymać bity na sekundę. Traktuj interwał jako nieważny, jeśli licznik spadł, agent się zrestartował, wiersz się zmienił lub obiekt nieciągłości się przesunął. Ten obiekt jest wyrażany względem czasu działania systemu, więc restart urządzenia także go unieważnia. Odrzuć próbkę i otwórz nowe okno zamiast rysować skok.
Weź dwie próbki w znanym odstępie i zachowaj znaczniki czasu z kolektora, a nie z historii terminala.
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.7Liczniki o dużej pojemności czynią przepełnienie nieistotnym na pojedynczym pseudowire, więc spadek prawie zawsze oznacza reset, wymienionego agenta lub inny wiersz, a nie przepełnienie arytmetyczne. Dlatego trzecie polecenie jest równie ważne jak dwa pierwsze.
Sprawdź, co faktycznie obsługuje zainstalowane wydanie
Definicja MIB to specyfikacja, a nie obietnica dotycząca twojego obrazu. Tabele mogą brakować, być częściowo zaimplementowane albo istnieć, lecz nie być wypełnione, dopóki funkcja nie zostanie włączona, a ta sama platforma może się różnić między wydaniami. Definicja CISCO-IETF-PW-MIB daje ci nazwy obiektów; urządzenie mówi, czy odpowiadają.
Odpytaj obie tabele i ciąg firmware w jednym przebiegu, a potem porównaj z tym, co twierdzi nota wydania.
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 -lPuste przejście i nieobsługiwane przejście to różne awarie, więc czytaj błąd, a nie tylko liczbę wierszy. Jeśli tabela stanu odpowiada, a tabela wydajności nie, złączenie zaprojektowane w pierwszej sekcji nie ma gdzie wylądować, a poprawką jest zmiana kolektora, nie obwodu.
Sekwencja dla spornego obwodu jest krótka: potwierdź tożsamość wiersza z indeksu, potwierdź mapowanie kierunku jednym znanym transferem, oblicz tempo tylko w czystym oknie nieciągłości i potwierdź, że obie tabele odpowiadają na tym wydaniu. Każdy krok usuwa jedno możliwe wyjaśnienie. Gdy wszystkie cztery warunki są spełnione, a liczniki nadal się nie ruszają, dowody wskazują z dala od pseudowire. Wtedy właśnie przechwytywanie pakietów na obwodzie przyłączeniowym się opłaca.