← Wszystkie realizacje Wewnętrzne · Monitoring i SLA

Down-Alert: własny system monitoringu, który pilnuje uptime'u naszych wdrożeń

Nie każda realizacja jest dla klienta. Tę zbudowaliśmy dla siebie — bo skoro budujemy systemy, na których opiera się czyjaś firma, sami musimy wiedzieć o awarii pierwsi, nie z telefonu od klienta.

ZastosowanieMonitoring własnej infrastruktury i usług klientów
Kto korzystaZespół Code-Made
StatusDziała produkcyjnie, rozwijany na bieżąco

Tak wygląda panel

Pulpit Down-Alert: kafelki z liczbą działających monitorów i średnim uptime'em, trzy karty serwerów z obciążeniem CPU, RAM i dysku na żywo oraz lista usług pogrupowana na produkcję, klientów, dema i infrastrukturę, każda z dostępnością z ostatnich 24 godzin.
Pulpit główny: obciążenie serwerów na żywo (CPU, RAM, dysk, load, uptime) i dostępność każdej usługi z ostatnich 24 godzin — strony, systemy klientów, dema i baza danych, pogrupowane tak, żeby od razu było widać, czego dotyczy problem.
Tabela historii awarii w Down-Alert: monitor, sprawdzany adres, początek i koniec incydentu, czas trwania oraz przyczyna, np. przekroczony czas odpowiedzi albo odrzucone połączenie.
Historia awarii: każdy incydent z dokładnym początkiem, końcem, czasem trwania i przyczyną. Gdy kilka usług pada w tej samej minucie, od razu widać, że problem dotyczy serwera albo łącza, a nie pojedynczej aplikacji.
Panel ataków w Down-Alert: liczba prób ataków z ostatnich 24 godzin w podziale na serwery, bazy danych, aplikacje WWW i infrastrukturę sieciową, mapa świata z krajami pochodzenia, ranking krajów i lista zdarzeń na żywo.
Panel ataków: Down-Alert czyta logi serwerów i routera (SSH, serwer WWW, fail2ban, firewall) i pokazuje, skąd przychodzą próby włamań i skany portów oraz w co celują — na mapie, w rankingu krajów i na żywo.

Nazwy serwerów i usług, adresy stron i adresy IP celowo zamazaliśmy.

Wyzwanie

Utrzymujemy nie tylko własną stronę, ale też produkcyjne systemy klientów i publiczne wersje demo naszych aplikacji — na kilku różnych serwerach. Każda minuta niedostępności to dla klienta niezrealizowane zamówienie albo telefon od zdenerwowanego pracownika, więc o awarii musimy wiedzieć pierwsi.

Gotowe narzędzia typu Uptime Kuma dobrze odpowiadają na pytanie „czy strona odpowiada", ale nie mówią nic o samym serwerze: czy nie kończy się miejsce na dysku, czy nie brakuje pamięci, ani kto właśnie próbuje się do niego dostać. Do tego dane o naszej infrastrukturze lądowałyby w cudzej chmurze.

Potrzebowaliśmy jednego miejsca, które łączy trzy rzeczy: dostępność usług sprawdzaną z zewnątrz, kondycję samych serwerów i obraz prób włamań — w całości pod naszą kontrolą.

Co potrafi Down-Alert

Dostępność usług

Strony i aplikacje sprawdzamy po HTTP(S), bazy danych i inne usługi po porcie TCP, a same serwery pingiem — domyślnie co minutę. Dla każdej usługi osobno ustawiamy interwał, limit czasu, oczekiwany kod odpowiedzi i liczbę prób, zanim system uzna, że coś naprawdę nie działa.

Kondycja serwerów

Procesor, pamięć, zajętość dysku, obciążenie i czas działania każdego serwera, odświeżane co kilkanaście sekund, z wykresem z ostatniej godziny. Dane zbieramy po SSH — bez instalowania na serwerze żadnego dodatkowego oprogramowania.

Alerty SMS i e-mail

Gdy usługa przestaje odpowiadać, alert od razu trafia SMS-em i mailem do wszystkich osób z listy kontaktów. Gdy wraca — druga wiadomość, z dokładnym czasem przestoju. Bez logowania do panelu wiadomo, co się stało i jak długo trwało.

Historia awarii i SLA

Każdy incydent to osobny wpis: początek, koniec, czas trwania i przyczyna — przekroczony czas odpowiedzi, odrzucone połączenie albo błędny kod HTTP. Uptime i SLA liczymy z rzeczywistych danych, a nie z pamięci.

Panel ataków

System czyta logi serwerów, baz danych, serwera WWW, firewalla i routera i pokazuje próby włamań oraz skany portów: na mapie świata, w rankingu krajów, w podziale na serwery, bazy danych, aplikacje WWW i sieć oraz na cztery poziomy ryzyka — od niskiego do krytycznego. Do tego zdarzenia na żywo, filtry i eksport do CSV.

Panel na żywo

Pulpit odświeża się sam w chwili, gdy coś się zmieni — bez przeładowywania strony i bez czekania na kolejne odpytanie. Dostęp chroni logowanie, a hasło przechowujemy wyłącznie w postaci kryptograficznego skrótu.

Jak to działa — od awarii do raportu

01

Sprawdzenie z zewnątrz

Down-Alert działa na osobnym serwerze niż to, czego pilnuje, więc awaria jednej maszyny nie ukryje sama siebie. Odpytuje każdą usługę przez internet — dokładnie tak, jak zrobiłby to klient.

02

Potwierdzenie awarii

Pojedyncze zacięcie sieci to jeszcze nie awaria. Usługa dostaje status „nie działa” dopiero po kilku nieudanych próbach z rzędu, więc nikogo nie budzimy fałszywym alarmem.

03

Alert do właściwych osób

W tej samej chwili wychodzi SMS i e-mail. Na pulpicie od razu widać, czy padła jedna aplikacja, czy cały serwer — i czy serwer nie był w tym czasie przeciążony.

04

Powrót i raport

Gdy usługa wraca, przychodzi wiadomość z czasem przestoju, a incydent trafia do historii z przyczyną i dokładnymi godzinami — gotowy do rozliczenia SLA.

Bezpieczeństwo i dane

  • Dane zostają u nas — historia, konfiguracja i logi są na naszym serwerze, a nie w zewnętrznej usłudze w chmurze.
  • Bez agentów na serwerach — wystarczy zwykłe konto SSH z prawem odczytu logów. Za każdym razem pobierane są tylko nowe wpisy od ostatniego odczytu.
  • Hasła i klucze nie wracają do przeglądarki — dane dostępowe do serwerów, raz zapisane w panelu, są używane wyłącznie po stronie serwera.
  • Adresy IP nie wychodzą na zewnątrz — kraj pochodzenia ataku ustalamy z własnej, lokalnej kopii bazy adresów, bez odpytywania zewnętrznych serwisów.
  • Bez szumu w statystykach — ruch z sieci wewnętrznych i z naszych własnych adresów nie jest liczony jako atak.
  • Długa pamięć — szczegóły zdarzeń trzymamy przez rok, a zbiorcze statystyki godzinowe bez limitu, więc łatwo porównać miesiąc do miesiąca.
  • Lekki — cała aplikacja zajmuje kilkadziesiąt megabajtów pamięci i działa nawet na najmniejszym serwerze.

Efekt

O problemie wiemy pierwsi — zanim zadzwoni klient. Gdy alarm okazuje się fałszywy, na przykład przez chwilowe kłopoty z siecią u dostawcy, zestawienie kontroli z zewnątrz z metrykami samego serwera pozwala to rozstrzygnąć w kilka minut, a nie po długiej diagnostyce. A każde nowe wdrożenie trafia pod nadzór Down-Alert, zanim zobaczy je pierwszy użytkownik.

Technologie

Node.js / Express SQLite SSH (metryki i logi) Server-Sent Events (panel na żywo) Alerty SMS i e-mail Geolokalizacja IP offline HTML / CSS / JS bez frameworka Docker

Tak samo pilnujemy Twojego systemu

Down-Alert nie jest produktem, który sprzedajemy — to dowód na to, jak podchodzimy do utrzymania systemów, które budujemy. Każde nasze wdrożenie trafia pod ten sam nadzór: dostępność, kondycja serwera i próby ataków, 24 godziny na dobę.

Porozmawiajmy o Twoim projekcie