Ważną częścią systemu kolektora w systemie telemetrii jest moduł, za pomocą którego będziemy tworzyć graficzną reprezentację zebranych danych. Surowe dane z Cisco MDT zapisane w bazie InfluxDB może i są dla inżynierów bardziej sexy, ale ciężko się na ich podstawie wyciąga wnioski szczególnie osobom nietechnicznym lub mniej doświadczonym inżynierom. Od wielu lat Grafana jest jednym z najpopularniejszych narzędzi do wizualizacji danych, nic więc dziwnego że znajduje zastosowanie także w telemetrii.
Grafana i Cisco MDT
W poprzedniej części pokazałem jak połączyć urządzenia z IOS XE z kolektorem zbierającym dane telemetryczne w prostym scenariuszy Cisco MDT. Ostatnim elementem ekosystemu telemetrii jest graficzna reprezentacja uzyskanych danych. Dostępnych produktów jest sporo, zarówno tych komercyjnych jak i darmowych. Ze względu na elastyczność jak i prostą integrację z InfluxDB Grafana jest jednym z tych najbardziej znanych i popularnych.
Wspomniany w poprzedniej części Jeremy Cohoe umieścił w ramach projektu Grafana własny Dashboard o nazwie Device Health Monitoring. Przeznaczony jest on do monitorowania urządzeń działających pod kontrolą systemu IOS XE i wysyłających dane w modelach dial-out i dial-in do kolektora.
Aby zainstalować przygotowany przez Jeremy’ego dashboard wybieramy z menu Create -> Import, wpisujemy numer projektu 13462 oraz klikamy Import. Musimy następnie jeszcze wybrać bazę InfluxDB jako źródło danych.
Przygotowany panel zawiera większość dostępnych danych telemetrycznych, które można uzyskać z urządzeń.
Troubleshooting MDT
Okresowo warto sprawdzać poprawność działania systemu telemetrii. Służyć do tego może polecenie show telemetry internal subscription all stats
csrv1000#sh telemetry internal subscription all stats
Telemetry subscription stats:
Subscription ID Connection Info Msgs Sent Msgs Drop Records Sent
------------------------------------------------------------------------------
108 test peer 9 0 0
106 test peer 9 0 0
104 test peer 9 0 0
102 test peer 9 0 0
100 test peer 9 0 0
3306 test peer 7 0 0
3305 test peer 7 0 0
3303 test peer 7 0 0
503 test peer 490 0 0
101 test peer 0 796 0
Polecenie to pozwala w prosty sposób wyłapać, które dane telemetryczne nie są wysyłane do kolektora. W moim przypadku jest to subskrypcja 101, gdyż dla niej komunikaty telemetryczne są odrzucane. Jak się okazuje z dalszej diagnostyki Cisco MDT wynika to z faktu braku połączenia dla tej subskrypcji z kolektorem.
csrv1000#show telemetry ietf subscription 101 receiver
Telemetry subscription receivers detail:
Subscription ID: 101
Address: 10.10.20.50
Port: 57500
Protocol: grpc-tcp
Profile:
State: Disconnected
Explanation:
Jak wspominałem w poprzedniej części, aby naprawić tego typu błąd, wymagane jest usunięcie i ponowne wprowadzenie konfiguracji wskazanej subskrypcji. Niestety w moim przypadku subskrypcja z niewiadomego powodu rozłącza się po kilkunastu sekundach. W logach widoczny jest poniższy komunikat błędu. Niestety nie udało mi się ustalić, co jest jego przyczyną.
*May 20 15:22:27.452: %MDT_SUBSCRIPTION-4-TERMINATED: R0/0: pubd: Subscription terminated (stream yang-push, id 101, client 10.10.20.50:57500): run-time error.