Jakie są dobre sposoby monitorowania sklepu na żywo?

41

Przedmowa: Chcemy rozszerzyć monitorowanie jednego z naszych sklepów internetowych, ponieważ dostawca miał problemy z konfiguracją PHP i awarie części sklepu internetowego na żywo (backend i kasy nie działały). Nie chcę tutaj rozmawiać o przeprowadzce do innego dostawcy.

Ponieważ zastanawiamy się teraz nad możliwościami monitorowania samego sklepu internetowego i dostępności niektórych części (np. „Czy kasy działa?”), Pytanie brzmi:

Jakie narzędzia i strategie sugerujesz do monitorowania strony internetowej na żywo?

Jakieś pomysły:

  • Czy automatycznie sprawdzasz, czy kasa nadal działa w witrynie na żywo?
  • Jakie mogą być dobre parametry do monitorowania w celu wykrycia awarii? Ostatnie zamówienie <1 dzień temu, ostatni login użytkownika, ...
  • Korzystanie z zadań cron: Sprawdzanie na przykład daty / godziny ostatniego zamówienia, a jeśli jest to zbyt dawno temu, wyślij wiadomość e-mail i / lub sprawdź ręcznie, czy kasa nadal działa?
  • Korzystanie z oprogramowania / narzędzi takich jak Icinga, Uptime Robot, ...
  • Wysyłanie e-maili ostrzegawczych do administratorów ...

Czekam na twoje odpowiedzi :)

Anna Völkl
źródło
1
Nawet jeśli wygląda to na „oparte na opiniach”, bardzo zależy mi na odpowiedziach :).
Marius
Dzięki @Marius, wiem, że to subiektywne, ale i tak może być interesujące udostępnianie :)
Anna Völkl
Świetne pytanie, zastanawiałem się nad tym samym! Dzięki!
Wessel

Odpowiedzi:

30

Istnieje kilka rzeczy, które możesz zrobić automatycznie.

  1. Jeśli części sklepu przestaną działać Testy jednostkowe są dobrym sposobem na wykrycie, czy pewne funkcje nadal działają.
  2. Aby przetestować frontend, używam phpQuery na zdalnym serwerze, aby okresowo wyszukiwać pewne elementy DOM na niektórych kluczowych stronach, takich jak „czy nadal są produkty na liście kategorii”, „czy jest stopka * na stronie głównej” itp.
  3. Skonfiguruj prostą cronjob, która wysyła ping do twojego hosta, aby sprawdzić, czy nadal jest dostępny
  4. Skorzystaj z natywnego kanału RSS zamówienia Magento, aby sprawdzić, czy zamówienia wciąż nadchodzą. W sklepach o dużym natężeniu ruchu brak zamówienia na godzinę w piątek wieczorem jest dobrym wskaźnikiem, że coś jest nie tak :)
  5. Monitoruj dostawcę usług płatniczych. W Holandii do obsługi płatności używamy iDeal. Ta strona wyświetla ich czas pracy, twój PSP może świadczyć podobną usługę

* jeśli na stronie nie ma stopki, która mogłaby wskazywać na błąd PHP wstrzymujący renderowanie.

Oto kilka rozwiązań, z których korzystamy. Potrzebują tylko trochę czasu na konfigurację i są bezpłatne.

Nawiasem mówiąc, świetne pytanie, naprawdę nie mogę się doczekać wszystkich odpowiedzi!

Sander Mangel
źródło
25

Podzielę się fantastyczną odpowiedzią Sandera, która zakłada, że ​​skonfigurowałeś i używasz usługi monitorowania, takiej jak Pingdom *:

  • Uważaj na treść na stronie; zazwyczaj</html> tag zamykający . Widziałem tak wiele before_body_endskryptów, które zawiodły w przypadku stron trzecich (nieprzechwycone wyjątki itp.), Które są niewidoczne dla użytkowników końcowych, ale zwracają status 500 - bardzo źle dla SEO / Google / Narzędzi dla webmasterów
  • Skonfiguruj Narzędzia dla webmasterów, aby powiadamiać Cię, gdy liczba błędów wzrośnie powyżej określonego progu
  • Ustaw alerty na temat unieważnionego SSL na stronie
  • Ustaw alerty dotyczące błędów javascript na stronie
  • Używaj grup e-mail / bcc do wysyłania nieudanych wiadomości e-mail, raportów o błędach.
  • Bądź w kontakcie z pracownikami call center i upewnij się, że wiedzą, jak rozwiązywać problemy ze zrzutami ekranowymi - zwykle są pierwszymi, którzy wskazują, kiedy coś idzie nie tak.
  • Wolna strona jest tak samo zła, jak awaria witryny. Upewnij się, że alerty są wrażliwe na to, kiedy ładowanie witryny trwa dłużej niż zwykle.
  • Subskrybuj kanały Twitter dla wszystkich swoich kluczowych usług zewnętrznych / hostowanych. Większe hosty zwykle mają wyzwalacze Twittera w przypadku problemów. Możesz skonfigurować Twittera, aby wysyłał Ci wiadomości e-mail / SMS, gdy niektóre konta są publikowane.

Devops:

  • Skonfiguruj Nagios do monitorowania krytycznych systemów i wysyłania alertów
  • Ustaw syslog lub Splunk (bezpłatnie do określonej liczby zapytań / dzień), aby agregować dzienniki i wysyłać alerty na podstawie danych dziennika
  • Skonfiguruj skryptową, rutynową kontrolę sprzętu sieciowego. Widziałem (przy więcej niż jednej okazji) karty sieciowe cofają się i spadają z 1 GB do 10 MB bez naszej wiedzy.

Dla większych zespołów:

  • Skonfiguruj serwer CI (Travis, Jenkins / Hudson, Capistrano), aby ostrzegał cię przed potencjalnymi niepowodzeniami testów po zatwierdzeniu.
  • Skonfiguruj zaczepy przed zatwierdzeniem w kontroli źródła, aby egzekwować standardy kodu lub sprawdzać rażące problemy, takie jak uszkodzony kod
  • Jak powiedział Sander, skonfiguruj coś do monitorowania kanałów RSS pod kątem zamówień i wolumenu według pory dnia - korzyścią jest to, że nie jest przechowywany w pamięci podręcznej i zazwyczaj, jeśli ustawisz wystarczająco niski próg powiadomień, potencjalny problem natychmiast się wyłączy
  • Użyj Selenium. DUŻO. Testuj skrypty, które przebiegają przez proces kasowania co godzinę lub dwie.
  • Skonfiguruj przypomnienia kalendarza i określone alerty dotyczące wygaśnięcia protokołu SSL

Wygenerujesz DUŻO danych i potencjalnie fałszywe alarmy; nie stań się odporny na alerty.


Nie jestem związany z Pingdom. Po prostu uwielbiam ich (darmowy) produkt.

philwinkle
źródło
8

Jeśli masz tylko problemy z hostingiem, a nie z płatnością, możesz pomyśleć o skonfigurowaniu produktu, który jest ukryty, napisz test selenu, włóż go do koszyka, dodaj kupon, aby go zwolnić, a następnie przejdź do kasy.

Fabian Blechschmidt
źródło
1
fajnie, podoba mi się ukryty darmowy pomysł na produkt :-)
Anna Völkl,
5

Istnieją już świetne odpowiedzi, w zależności od konfiguracji. Używam NewRelic do monitorowania statystyk serwera i transakcji, a także do konfigurowania kluczowych transakcji na każdym etapie realizacji transakcji. W ten sposób mogę spojrzeć na pojedynczy ekran mojego telefonu i ustalić, czy nadal otrzymujemy odpowiednią liczbę osób sprawdzających przez cały proces i czy otrzymają odpowiedni czas reakcji. Jeśli widzę dużą przepustowość wszystkiego do ostatniego kroku, wiem, że PayPal jest prawdopodobnie zepsuty, ponieważ nikt nie jest w stanie przetworzyć swoich kart. Otrzymuję również powiadomienia, jeśli jest dużo błędów, czasy odpowiedzi są wyłączone itp. Nie potrzebujesz do tego NewRelic, ale jest to bardzo proste i szybkie w konfiguracji i nie miałem czasu na kompilację mój własny pulpit nawigacyjny / aplikacja / system alarmowy.

ddavidn
źródło
1
Zgadzam się z tobą, że NewRelic działa jak urok. Dodałbym również, że korzystanie z usługi takiej jak Pingdom jest dobrym rozwiązaniem do monitorowania dostępności serwera.
Eirik
5

Lubię za to NewRelic i PagerDuty, są po prostu idealne i powiadamiają Cię (e-mailem, SMS-em i telefonicznie) za minutę, jeśli Twoja witryna lub jakakolwiek część witryny jest niedostępna. Informuje nawet, czy Twój procesor lub pamięć wykraczają poza określony procent wykorzystania, przez co witryna nie odpowiada.

  • Skonfiguruj New Relic ze wszystkimi stronami, które chcesz monitorować i częstotliwością monitorowania. Przykład: strona główna, dowolna strona 1 kategorii, dowolna strona 1 produktu, strona koszyka, strona kasy itp.
  • Dodaj użytkowników (którzy wszyscy otrzymują powiadomienia), harmonogramy (dzień i godzinę, kiedy wolisz otrzymywać powiadomienia), usługi (alerty New Relic) i zasady eskalacji do alertów PagerDuty i żądanych rodzajów powiadomień (e-mail, SMS, połączenie)

https://www.pagerduty.com/docs/guides/new-relic-integration-guide/

Oświadczenie: Nie jestem powiązany z żadną z powyższych usług.

Kalpesh
źródło
3
  • Munin po stronie dostawcy, aby uzyskać wartości historyczne dla wszystkich serwerów (LB, App, DB, Redis itp.) I wszystkich usług (pamięć, obciążenie, itd.)
  • Nagios / Icinga włączony po stronie dostawcy lub strony lokalnej w celu monitorowania obciążenia na żywo na wszystkich serwerach prawie na żywo
  • Pingdom do zbierania czasu odpowiedzi na „ważne” adresy URL, takie jak strona główna, kasa itp.
  • Pingdom do monitorowania rzeczywistych użytkowników, otrzymujesz wartość podobną do APDEX i widzisz rozwój historyczny
  • Pingdom do sprawdzania adresów URL i ich poprawnej zawartości
  • Raportowanie ostatnich X zamówień w trybie automatycznego przeładowania. Dzięki niemu widzę możliwe przerwy
  • Zautomatyzowane testy z Selenium na identycznym systemie etapowym. Nie jestem przyjacielem automatycznych kas w moim systemie na żywo. Później pojawią się problemy z rachunkowością :)
  • Zapier i Twilio dla Email2SMS. Krytyczne błędy są wysyłane jako SMS na telefon
  • freeboard.io i dweet.io, aby wyświetlić wszystko na ładnym pulpicie nawigacyjnym.
waltavista
źródło