Narzędzia open source do monitoringu: uptime, strony statusu, metryki i błędy

Strona statusu z paskami uptime dla każdej usługi, wykresem czasu odpowiedzi i kafelkami aplikacji do monitoringu

W skrócie

  • Monitoring open source obejmuje cztery zadania: sprawdzanie uptime (SolidPing), strony statusu (Kener), metryki serwerów (Beszel, Komari) i śledzenie błędów (GlitchTip, Rustrak).
  • Wszystkie sześć narzędzi korzysta z licencji zatwierdzonych przez OSI: MIT (Kener, Beszel, Komari, GlitchTip), AGPL-3.0 (SolidPing) i GPL-3.0 (Rustrak).
  • GlitchTip i Rustrak przyjmują zdarzenia z SDK Sentry po stronie klienta, więc zmiana sprowadza się do skierowania DSN na własną instancję.
  • Nodion ma też wbudowane sprawdzanie uptime dla dowolnego URL lub aplikacji, nawet co 30 sekund, z alertami przez e-mail, Slacka, Discorda i inne kanały.

„Monitoring” obejmuje cztery różne zadania: sprawdzanie, czy Twoja strona odpowiada, informowanie użytkowników na stronie statusu, obserwowanie serwerów, na których działa aplikacja, i wyłapywanie błędów w kodzie. Do każdego z tych zadań są narzędzia open source. Sześć opisanych niżej możesz wdrożyć jednym kliknięciem z katalogu Nodion i uruchomić jako własne instancje.

Jedna zasada dotyczy ich wszystkich: uruchamiaj narzędzie do monitoringu w innym miejscu niż monitorowaną aplikację, na przykład w innym regionie. W przeciwnym razie jedna awaria może unieruchomić zarówno aplikację, jak i narzędzie, które powinno ją zgłosić.

W skrócie

NarzędzieZadanieLicencjaDziała z
SolidPingMonitoring dostępności, strony statusu, dyżury (on-call)AGPL-3.0PostgreSQL, magazyn obiektowy
KenerStrony statusu i incydentyMITPostgreSQL, Valkey
BeszelMetryki serwerów i kontenerówMITWolumen
KomariLekkie metryki serwerówMITWolumen (SQLite)
GlitchTipŚledzenie błędów i proste kontrole dostępnościMITPostgreSQL, wolumen, strefa e-mail
RustrakŚledzenie błędów w jednym małym procesieGPL-3.0PostgreSQL, wolumen

Jak wybieraliśmy

  • Dobrze wykonuje jedno z czterech zadań: monitorowanie dostępności, strony statusu, zbieranie metryk serwerów lub śledzenie błędów.
  • Działa jako Twoja własna instancja z obrazu kontenera.
  • Licencja open source zatwierdzona przez OSI, sprawdzona w pliku LICENSE każdego projektu.
  • Niewielkie wymagania: presety potrzebują najwyżej 1 GB pamięci.

1. SolidPing: monitoring dostępności

SolidPing to pełnoprawne narzędzie do monitorowania dostępności w jednym pliku binarnym Go. Obsługuje nie tylko HTTP, ale też kontrole TCP, UDP, ICMP, DNS, certyfikatów SSL i domen, serwerów pocztowych, gRPC, baz danych, kolejek wiadomości i wielu innych usług. Kontrole mogą być wykonywane przez workery w kilku regionach, a agenci działający w sieci prywatnej sprawdzają cele w Twojej własnej sieci przez wychodzące połączenie WebSocket (zobacz README). Do tego dochodzą strony statusu, incydenty, które wysyłają jeden alert na awarię zamiast jednego na każdą kontrolę, okna serwisowe, grafiki dyżurów z eskalacją oraz powiadomienia przez Slacka, Discorda, e-mail, webhooki, PagerDuty, ntfy i inne kanały.

Licencja: AGPL-3.0. Plik licencji, strona projektu.

Na Nodion: jeden proces web z PostgreSQL i bucketem w magazynie obiektowym. Zaloguj się, podając admin@solidping.io i solidpass; przy pierwszym logowaniu SolidPing wymaga ustawienia nowego hasła. Zrób to od razu po pierwszym wdrożeniu, zanim udostępnisz URL: te domyślne dane logowania są publiczne, więc kto zaloguje się pierwszy, ten przejmuje instancję.

Wdróż SolidPing

2. Kener: strony statusu

Kener skupia się na stronie, którą widzą Twoi użytkownicy. Tworzy strony statusu w Twojej identyfikacji wizualnej, z Twoim logo, kolorami i CSS, trybem jasnym i ciemnym oraz widżetami i odznakami statusu, które możesz osadzić w innych miejscach. Incydenty mają oś czasu z aktualizacjami, a okna serwisowe są ogłaszane z wyprzedzeniem. Kener wykonuje też własne sprawdzenia (API, ping, TCP, DNS, SSL, SQL i heartbeat), wysyła powiadomienia przez e-mail, webhook, Slacka lub Discorda, a jedna instancja może obsługiwać kilka stron statusu.

Licencja: MIT. Plik licencji, strona projektu.

Na Nodion: jeden proces web z PostgreSQL i Valkey, z adresem URL aplikacji ustawionym już jako origin Kenera. Przy pierwszym otwarciu Kener pokazuje formularz konfiguracji, w którym podajesz imię, e-mail i hasło właściciela.

Wdróż Kener

3. Beszel: metryki serwerów

Beszel obserwuje maszyny, a nie adresy URL. Mały agent na każdym serwerze raportuje do huba CPU, pamięć, zajętość dysku i operacje I/O, ruch sieciowy, temperatury, użycie GPU oraz statystyki kontenerów Docker lub Podman. Hub przechowuje historię i wysyła alerty. Beszel obsługuje wielu użytkowników, logowanie przez OAuth i OIDC oraz automatyczne backupy na dysk lub do magazynu zgodnego z S3.

Licencja: MIT. Plik licencji, strona projektu.

Na Nodion: preset uruchamia hub jako jeden proces web z wolumenem 10 GB. Agenci nie są częścią wdrożenia: zainstaluj agenta na każdej maszynie, którą chcesz obserwować; może on łączyć się z hubem przez wychodzące połączenie WebSocket. Przy pierwszej wizycie tworzysz konto administratora.

Wdróż Beszel

4. Komari: lekkie metryki serwerów

Komari to jeszcze mniejszy monitor serwerów. Agenci raportują CPU, pamięć, dysk, sieć i uptime, a dashboard pokazuje dane na żywo co sekundę oraz wykresy historyczne. Motywy i wtyczki zmieniają wygląd. Panel administracyjny zawiera też terminal webowy dla podłączonych serwerów, więc chroń logowanie administratora tak jak hasło roota.

Licencja: MIT. Plik licencji, strona projektu.

Na Nodion: jeden proces web z SQLite na wolumenie 10 GB. Zaloguj się jako admin, podając wygenerowane hasło ADMIN_PASSWORD z zakładki Environment. Agenci łączą się z aplikacją przez HTTPS pod jej adresem URL, więc dodatkowy port przychodzący nie jest potrzebny.

Wdróż Komari

5. GlitchTip: śledzenie błędów

GlitchTip to narzędzie do śledzenia błędów, które współpracuje z klienckimi SDK Sentry: skieruj DSN używanego już SDK na swoją instancję, a wyjątki, komunikaty logów i naruszenia Content Security Policy trafią w jedno miejsce. Pokazuje też Twoje najwolniejsze żądania i zapytania do bazy danych oraz oferuje prosty monitoring dostępności: sprawdza Twoją stronę albo czeka na heartbeat z zaplanowanego zadania i wysyła alerty e-mailem lub przez webhook.

Licencja: MIT. Plik licencji, strona projektu.

Na Nodion: jeden proces web z PostgreSQL, wolumen 10 GB na przesłane pliki i strefa e-mail do poczty wychodzącej. Przy pierwszym otwarciu rejestrujesz pierwszego użytkownika.

Wdróż GlitchTip

6. Rustrak: śledzenie błędów

Rustrak również obsługuje protokół Sentry, więc istniejące SDK Sentry potrzebuje tylko nowego DSN. Działa jako jeden mały proces i przyjmuje zdarzenia, najpierw zapisując je na dysk, więc nagły skok ruchu nie czeka na bazę danych. Oprócz błędów przyjmuje logi, transakcje, release health i ślady (traces) z agentów AI.

Licencja: GPL-3.0. Plik licencji, strona projektu.

Na Nodion: jeden proces web z PostgreSQL i wolumenem 10 GB. Zaloguj się, podając e-mail admin i hasło zapisane po dwukropku w CREATE_SUPERUSER w zakładce Environment.

Wdróż Rustrak

Monitoring wbudowany w Nodion

Jeśli Twoje aplikacje działają na Nodion, masz już podstawowy monitoring dostępności. Monitoring w dashboardzie wykorzystuje obserwatorów (w interfejsie: Observers) do sprawdzania dowolnego adresu URL http(s) albo jednej z Twoich aplikacji i jej domeny w odstępach od 30 sekund do 30 minut, metodą GET lub HEAD. Ustawiasz oczekiwany kod statusu, a każdy inny liczy się jako awaria. Alerty trafiają na e-mail, Slacka, Discorda, Google Chat, Telegram, Pushover, ntfy lub dowolny webhook, a każda kontrola jest zapisywana z czasem odpowiedzi i regionem. Jeśli zawiedzie sonda Nodion, a nie Twoja strona, kontrola zostaje oznaczona i nie liczy się jako niedostępność. Konfigurację opisuje dokumentacja monitoringu.

Jeśli potrzebujesz publicznej strony statusu, metryk serwerów lub śledzenia błędów, dodaj jedno z powyższych narzędzi.

Warto też sprawdzić

  • Tianji (Apache 2.0) łączy analitykę stron, monitoring dostępności i strony statusu w jednej aplikacji i również można go wdrożyć jednym kliknięciem z katalogu.
  • Uptime Kuma (MIT) to proste narzędzie do monitorowania dostępności z kontrolami HTTP, TCP, ping i DNS, wieloma usługami powiadomień i wieloma stronami statusu.

Jak wybrać

  • Chcesz mieć wiele typów sprawdzeń, strony statusu i dyżury w jednym narzędziu: SolidPing.
  • Potrzebujesz głównie dopracowanej publicznej strony statusu z incydentami: Kener.
  • Chcesz zbierać metryki CPU, pamięci, dysku i kontenerów ze swoich serwerów: Beszel albo Komari, jeśli setup ma być jeszcze lżejszy.
  • Chcesz wyłapywać błędy ze swojego kodu za pomocą SDK Sentry: GlitchTip albo Rustrak, jeśli wolisz jeden mały proces.
  • Twoje aplikacje już działają na Nodion i potrzebujesz alertów o dostępności: wbudowany Monitoring.

Każde narzędzie działa na Nodion jako Twoja własna instancja w wybranym przez Ciebie regionie: EU Central (Frankfurt nad Menem), US East lub US West. Wszystkie aplikacje znajdziesz w katalogu aplikacji do wdrożenia jednym kliknięciem.

Najczęściej zadawane pytania

Jakie jest najlepsze narzędzie open source do monitoringu uptime?

SolidPing, jeśli chcesz mieć w jednym narzędziu wiele typów sprawdzeń, sprawdzenia z kilku regionów, strony statusu i dyżury (on-call). Prostszą opcją jest Uptime Kuma (MIT) ze sprawdzeniami HTTP, TCP, ping i DNS oraz stronami statusu.

Jaka jest dobra strona statusu open source?

Kener (MIT) tworzy publiczne strony statusu w Twojej identyfikacji wizualnej, z incydentami, oknami serwisowymi i odznakami do osadzenia, a do tego wykonuje własne sprawdzenia. Strony statusu ma też SolidPing.

Czy istnieje alternatywa open source dla Sentry?

Tak. GlitchTip (MIT) i Rustrak (GPL-3.0) przyjmują zdarzenia z SDK Sentry po stronie klienta, więc przechodzisz na nie, kierując DSN na własną instancję.

Czy Nodion ma monitoring uptime?

Tak. Monitoring w dashboardzie sprawdza dowolny adres URL http(s) albo jedną z Twoich aplikacji w odstępach od 30 sekund do 30 minut i wysyła alerty przez e-mail, Slacka, Discorda, Google Chat, Telegram, Pushover, ntfy lub webhook.

Daj swojemu agentowi chmurę.

Zyskaj do 15 € środków na start przy rejestracji.

Kontynuuj z GitHub

lub przez e-mail

Bądź na bieżąco.

Nowości produktowe, bez spamu. Możesz zrezygnować w każdej chwili.