Juniper Networks

Telemetria w urządzeniach sieciowych na przykładzie ruterów MX firmy Juniper

Krzysztof Bieliński
Placeholder for Krzysztof Bieliński szare portretKrzysztof Bieliński szare portret

Krzysztof Bieliński , Network Architekt , Nomios Poland sp. z o.o.

Do przeczytania w 3 min.
Placeholder for Close up fibre optic cablesClose up fibre optic cables
Juniper Networks

Share

Telemetria, to dziedzina telekomunikacji, która zajmuje się zbieraniem i przesyłaniem danych pomiarowych na odległość. Znajduje szerokie zastosowanie w wielu dziedzinach gospodarki, jako że jest to skuteczny i wygodny sposób na monitoring, diagnostykę, sterowanie i optymalizację procesów technologicznych w różnych dziedzinach gospodarki: telekomunikacji/IT, przemyśle, energetyce, gazownictwie, transporcie, klimatologii i wielu innych.

W zakresie urządzeń sieciowych (rutery/switche/firewalle) szeroko pojęta infrastruktura telemetryczna jest znana jako zbiór różnych technik pozyskiwania danych, należą do nich dobrze znane protokoły takie jak SNMP, syslog, netflow. Dodatkowo producenci sprzętu sieciowego, m.in. Juniper, definiują telemetrię sieciową jako stosunkowo nowy osobny element układanki wchodzący w skład infrastruktury telemetrycznej 1. Telemetria, w tym znaczeniu, może być odbierana jako technika, która może zastąpić i zastępuje SNMP. Główne zadania stawiane przed telemetrią to:

  • Monitorowanie stanu urządzeń,
  • Monitorowanie przepustowości,
  • Optymalizacja ruchu (traffic engineering),
  • Wykrywanie problemów we wczesnej fazie, m.in. błędów na matrycach przełączających, burstów, itp.

Wraz ze wzrostem liczby obiektów w sieci i generowanych przez nie metryk tradycyjne modele, takie jak SNMP, wykorzystywane do gromadzenia statystyk operacyjnych w celu monitorowania stanu sieci, napotykają ograniczenia skalowalności i wydajności urządzeń sieciowych jak i kolektorów. Tak zwany pull model używany przez SNMP lub command-line interface (CLI), który wymaga dodatkowego przetwarzania w celu okresowego odpytywania elementu sieci, co bezpośrednio ma wpływ na skalowalność.

Junos Telemetry Interface

Junos Telemetry Interface (JTI) znosi te ograniczenia, opierając się na tak zwanym modelu push na potrzeby asynchronicznego dostarczania danych, co eliminuje cykliczne odpytywanie (im bardziej dokładne i zbliżone do czasu rzeczywistego dane chcemy kolekcjonować, tym częściej musi następować odpytywanie, co obciąża zarówno system odpytywany jak i odpytujący). Żądanie wysłania danych jest wysyłane jednorazowo przez stację zarządzającą w celu żądania okresowego strumieniowania danych pomiarowych. Dzięki temu JTI jest wysoce skalowalny i może wspierać monitorowanie tysięcy obiektów w sieci.

Placeholder for 1t1t

Krótkie porównanie SNMP vs Telemetria:

Placeholder for 2t2t

Junos Telemetry Interface ma za zadanie odpowiednio ustawić (skonfigurować) sensory do kolekcji I eksportu danych związanych z różnymi zasobami systemu, np.: statystykami z interfejsów fizycznych. Do osiągnięcia tych celów można zastosować dwa modele:

  • Natywne sensory (native sensors for Junos Telemetry Interface)
  • OpenConfig i gRPC

Native sensors

Wykorzystują własnościowy model firmy Juniper Networks do generowania danych telemetrycznych (streaming) z użyciem protokołu GBP (Google protocol buffers). Po skonfigurowaniu na urządzeniu odpowiednich parametrów wysyła ono dane telemetryczne poprzez UDP.

Placeholder for 3t3t

Dane wysyłane są bezpośrednio z płaszczyzny przełączającej (forwarding plane) - PFE (Packet Forwarding Engine ), czyli bezpośrednio z karty liniowej (kolektor musi być osiągalny poprzez ruting przez kartę liniową - in-band).

Przykład konfiguracji native sensor na ruterze MX, który wysyła dane telemetryczne co 10s o obciążeniu interfejsów logicznych z portów et:

Placeholder for Kod 1Kod 1

OpenConfig

Użycie tego modelu telemetrycznego wymaga skonfigurowania urządzenia jako serwer gRPC, podczas gdy kolektor pracuje jako klient. Klient określa jakie sensory chce „subskrybować” jednorazowo wysyłając żądanie gRPC (remote procedure calls) do urządzenia. Dane telemetryczne mogą być wysyłane cyklicznie lub w reakcji na zmianę stanu.

OpenConfig wspiera modelowanie danych w YANG,a dane generowane są jako GBP w uniwersalnym formacie key/value. gRPC wspiera szyfrowanie SSL. Dane telemetryczne mogą być wysyłane jako gbp poprzez UDP lub TCP.

Placeholder for 4t4t

Konfiguracja rouetra MX w modelu OpenConfig wymaga zastosowania certyfikatu używanego do zabezpieczenie połączenia klient-serwer i zdefiniowania portu tcp:

Placeholder for Kod 2Kod 2

Jeśli klient po połączeniu subskrybuje sensor (provitioning) i jest to widoczne na ruterze – w poniższym przykładzie sensor wysyła dane ruchowe z interfejsów:

Placeholder for Kod 3Kod 3

Wizualizacja i analityka

W zakresie wizualizacji danych telemetrycznych Juniper Networks proponuje produkt Paragon Insights (formerly HealthBot)2, który jest jednym z modułów w portfolio Paragon Automation.

Placeholder for 5t5t

Paragon Insights zapewnia kolekcję danych telemetrycznych z różnych źródeł: JTI, OpenConfig, Netconf, CLI, Syslog, Netflow. Jego zadanie to nie tylko wizualizowanie danych, ale analiza m.in. dzięki uczeniu maszynowemu (machine learning), aby proaktywnie wykrywać problemy i umożliwić znalezienie ich źródła. Użytkownik ma możliwość zaprogramować akcje w reakcji na zdarzenia w sieci.

  • Placeholder for 6t6t
  • Placeholder for 7t7t

Oczywiście kolekcję danych możemy także realizować na narzędziach opensourse, gdzie dosyć możemy się zetknąć z następującym zestawem:

  1. Telegraf dla kolekcji danych pomiarowych (Data Streaming Collector)
  2. InfluxDB jako Datastore
  3. Grafana do wizualizacji danych telemetrycznych

Źródła:

1. https://www.juniper.net/documentation/us/en/software/junos/interfaces-telemetry/index.html

2. https://www.juniper.net/us/en/...

Zapisz się do naszego newslettera

Otrzymuj najnowsze wiadomości na temat bezpieczeństwa, spostrzeżenia i trendy rynkowe do swojej skrzynki pocztowej.

Updates

Więcej aktualizacji