Niezawodny monitoring dostępności urządzeń sieciowych

W ramach realizacji projektu opracowaliśmy aplikację monitorującą dostępność urządzeń w infrastrukturze technicznej. System cyklicznie pinguję zdefiniowaną listę urządzeń, umożliwiając szybkie wykrycie problemów z łącznością oraz bieżący nadzór nad stanem sieci.

Rozwiązanie zostało zaprojektowane z myślą o odporności na chwilowe zakłócenia komunikacji oraz precyzyjnym raportowaniu rzeczywistych problemów.

project image

Źródło: realizacja własna


Kluczowe założenia projektu

  • Cykliczne pingowanie listy urządzeń w określonych interwałach czasowych
  • Wykrywanie braku odpowiedzi (timeout) dla poszczególnych hostów
  • Wysyłanie zdarzeń o braku łączności do systemu ELK (Elasticsearch, Logstash, Kibana)
  • Ograniczenie fałszywych alarmów przy chwilowych problemach sieciowych
  • Wysyłka powiadomień e-mail dopiero po powtarzających się nieudanych próbach połączenia
  • Architektura kontenerowa umożliwiająca łatwe wdrożenie i skalowanie

Architektura rozwiązania

System został zaprojektowany jako zestaw współpracujących komponentów:

  • Backend w Pythonie odpowiedzialny za:
    • cykliczne pingowanie urządzeń,
    • analizę odpowiedzi i timeoutów,
    • obsługę logiki eskalacji zdarzeń,
    • integrację z systemem ELK,
    • wysyłkę powiadomień e-mail.
  • Frontend w Next.js, umożliwiający:
    • podgląd aktualnego stanu dostępności urządzeń,
    • prezentację ostatnich zdarzeń i historii,
    • czytelny widok statusów sieci.
  • ELK (Elasticsearch, Logstash, Kibana) jako:
    • centralne repozytorium zdarzeń,
    • narzędzie do analizy i wizualizacji problemów z dostępnością,
    • wsparcie diagnostyki i raportowania.
  • Docker jako warstwa uruchomieniowa, zapewniająca spójność środowiska i łatwe wdrożenie.

Obsługa braku łączności i eskalacja zdarzeń

System działa w sposób odporny na chwilowe przerwy w komunikacji:

  • pojedyncze nieudane próby połączenia są rejestrowane w systemie ELK,
  • aplikacja zapamiętuje liczbę kolejnych nieudanych prób dla danego urządzenia,
  • dopiero po przekroczeniu ustalonego progu generowane jest powiadomienie e-mail o braku łączności.

Takie podejście pozwala uniknąć nadmiarowych alarmów i skupiać się na rzeczywistych problemach infrastrukturalnych.


Wizualizacja i analiza danych w ELK oraz Next.js

Dzięki integracji z Kibana możliwe jest:

  • analizowanie historii zdarzeń,
  • identyfikowanie powtarzających się problemów z łącznością,
  • szybka diagnostyka stanu sieci.

Frontend w Next.js zapewnia natomiast czytelną prezentację aktualnego stanu systemu oraz łatwy dostęp do informacji dla użytkowników.


Wykorzystane technologie

  • Python – backend, logika monitoringu i powiadomień
  • Next.js – frontend webowy do prezentacji danych
  • Docker – konteneryzacja i wdrożenie
  • ELK (Elasticsearch, Logstash, Kibana) – centralne logowanie i analiza zdarzeń
  • System powiadomień e-mail – kontrolowane alertowanie

System umożliwia skuteczny monitoring dostępności urządzeń, szybkie wykrywanie problemów z łącznością oraz ich analizę w oparciu o dane historyczne.

Jeżeli jesteś zainteresowany wdrożeniem podobnego rozwiązania monitorującego infrastrukturę sieciową, zapraszamy do kontaktu.