• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Monitorowanie dostępności stron - projekt "po godzinach"

+7 głosów
730 wizyt
pytanie zadane 7 marca 2025 w Nasze projekty przez m_i_n Nowicjusz (190 p.)

Cześć,

Mój owoc blisko dwu rocznej pracy po godzinach/po weekendach, i zebranego zawodowego doświadczenia.

uMonitor (https://umonitor.eu/) - aplikacja/usługa służąca monitorowania dostępności stron internetowych i serwerów.

Poza główną funkcjonalnością jaką jest informowanie nas gdy nasza strona "pada", pozwala na zbieranie danych statystycznych o monitorowanych zasobach, ich analizowaniu, zbiera screenshoty jak coś jest nie tak, itd :)

To oczywiście wciąż early access, dużo rzeczy brakuje jak dla tego typu usług, więc prace cały czas trwają i pewnie jeszcze sporo potrwają :D

Tym na co postawiłem aby mieć jakąś szansę na rynku, to model rozliczeń (ale i darmowa wersja), gdzie nie trzeba kupować subskrypcji i pakietu z 10, 50, 100 monitorami, gdzie tak na prawdę potrzebujemy np. 2-3 - tylko właśnie jesteśmy liczeni co do sztuki, co do sprawdzenia, co efektywnie obniża koszt całości.

Można za free założyć konto i używać w wariancie podstawowym, bez podawania jakichś wrażliwych danych czy innych dziwnych zabiegów.

Będę zobowiązany za jakikolwiek feedback :)

3 odpowiedzi

+4 głosów
odpowiedź 7 marca 2025 przez rafal.budzis Szeryf (86,000 p.)
Wszystko bardzo jasne i przejrzyste! Duży plus!!!

Ale zastanawiam się czy nie chcesz mieć za dużo w swojej appce.

Screeny? Mam Hotjar mogę pooglądać video.

Błedy? Mam cały stacktrace w Sentry na co mi sam screen.

Może warto się skupić na jednym obszarze i go dopracować. W powiadomieniach o tym że system padł brakuje mi integracji z Slack czy powiadomienia SMS. Może przydatne by było również sprawdzanie sieci wewnętrznej? Nie jestem sysAdminem wiec trudno mi stwierdzić pewności co do braków.

Aaa i Twoje wymagania odnośnie haseł są dość mocno rygorystyczne. Sile hasło wygenerowane za pomocą generatora chrome okazało się za słabe dla Twojej aplikacji :D Ja bym zmniejszył wymagania bo rejestracja była dla mnie irytująca.
1
komentarz 7 marca 2025 przez m_i_n Nowicjusz (190 p.)
Cześć,

Dzięki wielkie za komentarz i poświęcony czas :)

Hotjar trochę jednak ma inne zastosowanie, jeśli Twoja strona wyrzuci nagle jakiś wew. błąd serwera, to Hotjar się nawet nie załaduje abyś to mógł zauważyć. Jest dużo przypadków gdzie nie dojdzie do załadowania kodu Twojej strony aby tego typu narzędzie mogło coś zarejestrować.

sentry.io - tutaj podobna sytuacja, wszystko zależy czy dojdziemy do etapu załadowania Twojej aplikacji. Swoją drogą, sam używam :)

Taki przykład szybki: WAF serwera wyrzuci nagle 403 bo coś mu tam nie podpasuje (oversecurity).

Abstrahując od powyższego, jest to po prostu typowa funkcja dla tego typu usług. Też kwestia potrzeb, osoba prowadząca bloga na WP raczej nie sięgnie po sentry.io, czy to z powodu zbytniego rozmachu tego narzędzia w stosunku do potrzeb, czy też niewiedzy.

>  Ja bym zmniejszył wymagania bo rejestracja była dla mnie irytująca.

Ooo! Dzięki wielkie! Muszę to zrewidować, faktycznie zapewne jest tak jak mówisz.
komentarz 7 marca 2025 przez rafal.budzis Szeryf (86,000 p.)
Ja pracowałem przez chwile na stacku że setry wysyłało nam alert na kanał na slacku następnie mogliśmy wejść na hotjara i lepiej zrozumieć błąd jeśli stack trace w setry za dużo nam nie mówił.

Rozumiem że hotjar nie spełnia funkcji w przypadku błędów serwerowych ale czy twoje screeny bedą użyteczne w takim przypadku? Jesli błąd był po stronie serwera i dostaniesz 500 z nginx czy jakieś innej warstwy to nie za dużo to powie o stanie aplikacji, a wystarczającym był by tekstowy response z serwera. Po prostu nie wiem czy screen to nie jest przesada. Koszty przechowywania zdjęć beda wieksze, a nie czuje jakiejś wartości w tym.

Jednak jeśli Twoim targetem są osoby nie techniczne to może oni lepiej podpowiedzą czego oczekują. W sumei sam jestem Ciekawy czego chca osoby nie techniczne od takich aplikacji.

Powodzenia w rozwoju! ;)
komentarz 7 marca 2025 przez m_i_n Nowicjusz (190 p.)

Mam taki use case gdzie mam prostą stronę na WordPressie i co jakiś czas wyrzuci mi taki screen:

Zrzut ekranu

I w tym wypadku jakąś tam informację niesie :)
Sam kod 500 Internal Server Error mi tu niewiele by powiedział, gdyż ta informacja jest wyrzucana w body.
Ale to wszystko zależy od przypadku - rozumiem Twój punkt widzenia. Ile sytuacji tyle pewnie rozwiązań.
Tak, zrobienie screenshota jest dość zasobożerne, sam storage już może mniej - niewykluczone że w przyszłości trzeba będzie zrewidować ten ficzer :)

+2 głosów
odpowiedź 7 marca 2025 przez pr0way Nałogowiec (42,220 p.)
edycja 7 marca 2025 przez pr0way
Wygląda nieźle, cenowo skrojone pod polskiego odbiorcę, więc nie powinno być powodów do narzekania. Mysle, że u nas znajdzie się zbyt wielu kombinatorów którzy nie będą chcieli płacić za usługę tego typu ale utrzymując taką cenę na arenie międzynarodowej byłbyś dobra konkurencja.

Brakuje mi:

- i18n

- customowej strony którą można w formie dashboardu podpiąć rekordem cname pod subdomenę (zwykle tego brakuje w planach bezpłatnych usług do monitoringu).

Ale jak najbardziej rozumiem, że to projekt po godzinach więc nie można mieć wszystkiego.
komentarz 7 marca 2025 przez m_i_n Nowicjusz (190 p.)
Hej,

Dzięki za komentarz :)
Obie te rzeczy są w trakcie albo w planach.

Tak, idzie to wszystko powoli bo z racji tego że trzeba jakoś na życie zarabiać, nie mogę temu poświęcić 100% czasu. Obecny stan jest też wynikiem tego że po 2 latach pracy trzeba było sobie powiedzieć "sprawdzam", aby dalej nie inwestować czasu w coś co może nie mieć sensu.

Także teraz zbieram feedback, poprawiam, dodaję to co widzę brakuje największej liczbie userów :)
+2 głosów
odpowiedź 7 marca 2025 przez Comandeer Guru (607,980 p.)
  • Na pewno byłoby fajnie dodać 2FA – ostatecznie to narzędzie przechowuje informacje o dostępności konkretnych witryn, co w połączeniu z adresem e-mail już daje dość ciekawy zbiór danych (np. pozwala namierzyć freelancerów zajmujących się utrzymaniem witryn klientów).
  • Czym się różni tak dokładnie monitor HTTP od monitora przeglądarki? Skoro monitor HTTP również robi screenshota strony, to prawdopodobnie też leci na przeglądarce.
  • Jak już przy tym jesteśmy – w jaki sposób identyfikuje się monitor (nagłówek User-Agent)? Czy udaje przeglądarkę (jeśli tak, to jaką?), czy może ma swój własny user agent?
  • Czy to zadziała w momencie, gdy monitorowana strona używa np. Cloudflare'a z włączonym zabezpieczeniem przed botami AI? Albo gdy strona ma jakikolwiek sposób zabezpieczenia przed botami, który może wykryć nietypowy ruch z konkretnego IP/konkretnym user agentem?
  • Na dobrą sprawę można dodać jakąkolwiek stronę do monitorowania, niekoniecznie swoją. Co więcej, można ustawić więcej niż jeden monitor dla danego adresu. Przy obecnej niskiej cenie usługi na dobrą sprawę można ją wykorzystać do ataków DDoS (ustawiam se kilkaset monitorów na konkretną stronę z najniższym interwałem i najdłuższym czasem oczekiwania). Myślałeś nad jakąś formą weryfikacji dodawanych stron? Np. jakiś wpis w DNS albo plik z unikatową nazwą, który musi się znaleźć w root witryny.
  • Swoją drogą, fajnie by było, gdyby przy tworzeniu monitora była prognozowana cena na miesiąc, czyli przesuwam suwaczek na 15 sekund i obok mi się wyświetla, ile to będzie kosztować. Na ten moment są podane ceny wyłącznie dla interwałów 1 minuta i 5 minut, nie ma informacji dla innych interwałów.
  • Nie widzę nigdzie info, kto obsługuje karty kredytowe w tej usłudze, co niekoniecznie mnie nastraja do tego, żeby dane tej karty podać.
  • W ustawieniach jest możliwość wybrania jednego z kilkuset języków. Obstawiałem, że będzie to tłumaczone maszynowo… ale zmieniłem na niemiecki i dalej wszystko jest po polsku. Nie bardzo rozumiem, czemu mogę zmienić język na jakiś, który nie jest w żaden sposób obsługiwany.
  • Breadcrumbs w nawigacji nie bardzo działają – skoro już są, to zakładałbym, że kliknięcie na jakiś fragment w nich przeniesie na daną podstronę, np. gdy kliknę "Monitory" w "Monitory / <nazwa monitora>" zostanę przeniesiony z powrotem do listy monitorów.
  • Nie do końca rozumiem, jak działa opcja screenshotów. Jak na razie zrobiło tylko jednego screenshota, na początku monitorowania. Myślałem, że to będzie robić screenshota przy każdej wizycie? Zwłaszcza, że jest w UI info "Historia wyglądu Twojej witryny".
komentarz 7 marca 2025 przez m_i_n Nowicjusz (190 p.)
edycja 7 marca 2025 przez m_i_n

Wow, dzięki za poświęcony czas i ten komentarz! Zatem po kolei:

>  Czym się różni tak dokładnie monitor HTTP od monitora przeglądarki?

Monitor HTTP wykonuje tylko request HTTP, i co za tym idzie mierzy jedynie czas tej odpowiedzi (i rozmiar). Z kolei przeglądarki, ładuje całą stronę ze wszystkimi zasobami, więcej mierzy czas pełnego załadowania strony, pokazuje całkowity rozmiar, LCP, FCP, ilość requestów.

Aczkolwiek skoro pada takie pytanie, tzn. że nie jest to dostatecznie dobrze przekazane :)

>  w jaki sposób identyfikuje się monitor (nagłówek User-Agent)?

Jako "Mozilla/5.0 (compatible; uMonitor/1.0; +https://umonitor.eu/)", będzie możliwość zmiany, choć tutaj jeszcze mam pewne wątpliwości.

>  Czy to zadziała w momencie, gdy monitorowana strona używa np. Cloudflare'a z włączonym zabezpieczeniem przed botami AI?

Trudno mi odpowiedzieć, zapewne zależy od przypadku. Zakładam że skoro monitorujemy własny zasób to mamy też nad tym kontrolę i możemy dodać wykluczenie. Jeśli z kolei cudzy, to może takie zachowanie jest pożądane? To się wiążę też z punktem wyżej, aby w takiej sytuacji, raz można wyciąć taki ruch, dwa, mieć możliwość zwrócić się na support i finalnie zaprzestać takiego ruchu.

>  Przy obecnej niskiej cenie usługi na dobrą sprawę można ją wykorzystać do ataków DDoS

Rozpatrując to w kwestii kosztu DDoSa, to tutaj jestem spokojny, to raczej nie jest tania droga do wykonania takiego ataku tym sposobem - po prostu 1000x taniej jest sobie postawić choćby na AWS własny serwer i z niego wykonać taką operację.

Ale oczywiście jest druga strona, gdzie faktycznie, nieświadomie sporo userów może (np. dla testów) odpalić sobie monitor na jakiś popularny adres który mu przyjdzie na myśl. I tutaj mam już koncepcje na mechanizmy przeciwdziałaniu temu, począwszy od cachowania wyników, rate limitery a skończywszy na weryfikacji o jakiej wspominasz. Obserwuję ten aspekt bo mam świadomość iż faktycznie może to być zagrożenie.

Zauważyłem że inny usługi tego typu również nie wymagają żadnej weryfikacji iż jesteśmy autorem strony. Ale przyznam, że też budzi to u mnie mieszane uczucia.

>  Swoją drogą, fajnie by było, gdyby przy tworzeniu monitora była prognozowana cena na miesiąc

Jeśli przejdziesz na płatny plan, jak najbardziej widnieje taka informacja:

Dla konta darmowego nie jest to wyświetlane aby nie wprowadzać użytkownika w błąd.

>  Nie widzę nigdzie info, kto obsługuje karty kredytowe w tej usłudze

Operatorem płatności jest Stripe, jest ta informacja zawarta w polityce prywatności. Choć faktycznie, można by to powtórzyć gdzieś przy procesie dodawania formy płatności.

>  W ustawieniach jest możliwość wybrania jednego z kilkuset języków.

Po części jeszcze tłumaczenia są w trakcie, ale po części ta informacja wykorzystywana jest choćby do tego jak formatowane są liczby (np. separator dziesiętny jest inny w PL niż w USA).

>  Breadcrumbs w nawigacji nie bardzo działają 

Good point :) Thx!

>  Nie do końca rozumiem, jak działa opcja screenshotów.

Screenshot jest wykonywany na dzień dobry, i okresowo dla tworzenia historii, oraz (dla planu płatnego) w przypadku awarii i po jej ustaniu.

Dla monitora HTTP nie następuje całkowite ładowanie strony aby w ogóle możliwe było robienia takowego co sprawdzenie. Ale dla przeglądarki również nie - screenshot raczej pełni tu funkcję okresowego podglądu oraz aby mieć obraz tego co poszło nie tak, nie ma to na celu być aż tak dokładnym archiwum :)

komentarz 8 marca 2025 przez Comandeer Guru (607,980 p.)

Dla konta darmowego nie jest to wyświetlane aby nie wprowadzać użytkownika w błąd.

A jak ktoś nie wie, czy ma odpowiedni budżet na taką płatną wersję usługi? Nie jest w stanie tego sprawdzić bez przejścia na płatną. 

komentarz 8 marca 2025 przez m_i_n Nowicjusz (190 p.)
Tak, to jest jakiś argument - coś muszę wymyślić w tym kierunku.

Podobne pytania

+1 głos
0 odpowiedzi 205 wizyt
0 głosów
0 odpowiedzi 961 wizyt
0 głosów
2 odpowiedzi 265 wizyt

93,692 zapytań

142,611 odpowiedzi

323,220 komentarzy

63,220 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...