1 / 47

Monitoring aplikacji PHP Zaawansowany, aktywny monitoring aplikacji PHP / Zend Framework

Monitoring aplikacji PHP Zaawansowany, aktywny monitoring aplikacji PHP / Zend Framework. Bartłomiej Rozkrut Empathy – Internet Software House. Kilka słów o mnie…. www.empathy.pl. Wstęp. Po co monitorować aplikacje PHP?. … aby uniknąć niezdrowej frustracji użytkowników? ;-).

summer-dean
Download Presentation

Monitoring aplikacji PHP Zaawansowany, aktywny monitoring aplikacji PHP / Zend Framework

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Monitoring aplikacji PHP Zaawansowany, aktywny monitoring aplikacji PHP / Zend Framework Bartłomiej Rozkrut Empathy – Internet Software House

  2. Kilka słów o mnie… www.empathy.pl

  3. Wstęp Po co monitorować aplikacje PHP? … aby uniknąć niezdrowej frustracji użytkowników? ;-) www.empathy.pl

  4. Wstęp www.empathy.pl

  5. Monitoring infrastruktury

  6. Monitoring infrastruktury www.empathy.pl

  7. Monitoring infrastruktury Popularne narzędzia do monitoringu www.empathy.pl

  8. Monitoring infrastruktury Nagios - dashboard www.empathy.pl

  9. Monitoring infrastruktury Nagios – mapa sieci www.empathy.pl

  10. Monitoring infrastruktury Cacti www.empathy.pl

  11. Monitoring infrastruktury Munin www.empathy.pl

  12. Monitoring infrastruktury Zabbix www.empathy.pl

  13. Monitoring aplikacji PHP

  14. Monitoring aplikacji PHP Prosty monitoring aplikacji www.empathy.pl

  15. Monitoring aplikacji PHP gdy pojawia się … • Nie możemy się dostać na przeciążony serwer (opóźnienie konsoli) • Problem z dostępem do logów na serwerze • Dostajemy tysiące powiadomień mailowych – pada nam poczta ;-) • Nie mamy informacji o stanie serwera i aplikacji z przed awarii! • Pozostaje nam zablokowanie ruchu na firewallu lub twardy reset… www.empathy.pl

  16. Monitoring aplikacji PHP Czego potrzebujemy? • Niezależnego systemu monitoringu • Korelacji pomiędzy monitoringiem infrastruktury, a aplikacji • Historii danych oraz wystąpień problemów • Wizualizacji danych • Elastycznego powiadamiania względem skali problemów • Powiadamiania o ustąpieniu problemu • Możliwości monitorowania typowych ścieżek nawigacji/akcji • Możliwości wykorzystania obecnych mechanizmów logowania www.empathy.pl

  17. Monitoring aplikacji PHP Komercyjne rozwiązania www.empathy.pl

  18. Monitoring aplikacji PHP www.empathy.pl

  19. Monitoring aplikacji PHP www.empathy.pl

  20. Monitoring aplikacji PHP Rozwiązania Open Source • Brak kompleksowego, dedykowanego rozwiązania  • Projekty: • Monitorix for Zend Framework • Alternative PHP Monitor – peclapm • Pinba • XH GUI www.empathy.pl

  21. Monitoring aplikacji PHP Możliwe rozwiązania? • Wykorzystanie oprogramowania do monitoringu infrastruktury • Duży wybór narzędzi Open Source • Konieczność kompleksowej konfiguracji • Konieczność wyszukania wtyczek monitorujących • Część narzędzi jest przygotowana do monitoringu aplikacji www.empathy.pl

  22. Monitoring aplikacji PHP Co możemy monitorować? www.empathy.pl

  23. Monitoring aplikacji PHP Co możemy monitorować? www.empathy.pl

  24. Monitoring aplikacji PHP • Platforma Zabbix • Zaawansowany system monitoringu Open Source • Aktualnie mniej popularny od Nagiosa • Szybki – Server oraz Agent napisany w C, GUI w PHP • Wieloplatformowy – Server/Agent na Linux / BSD / Unix / Mac OS X + Agent na Windows / Novell • Prosta instalacja, dostępne Live CD oraz maszyny wirtualne • Dostępne GUI na smartphone – iPhone (Mozaby), Android (Mobbix) + wersja WWW dla urządzeń mobilnych (MoZBX) www.empathy.pl

  25. Monitoring aplikacji PHP • Możliwości Zabbix • Połączenie możliwości Nagiosa i Cacti – domyślnie wizualizacja danych • Możliwość pracy w konfiguracji rozproszonej – master-slave • Monitoring WWW poprzez specjalny moduł • Moduł monitorowania logów • Możliwość uruchamiania własnych skryptów monitorujących • Zaawansowane uprawnienia użytkowników, dostęp przez API • Zaawansowane możliwości powiadamiania oraz eskalacji • Szablony, mapy, zaawansowane panele „dashboard” • Możliwość kalkulacji SLA www.empathy.pl

  26. Monitoring aplikacji PHP Rozproszona konfiguracja Zabbix www.empathy.pl

  27. Monitoring aplikacji PHP Konfiguracja monitoringu prostych ścieżek nawigacji www.empathy.pl

  28. Monitoring aplikacji PHP www.empathy.pl

  29. Monitoring aplikacji PHP Selenium Remote Control + Zabbix_Sender www.empathy.pl

  30. Monitoring aplikacji PHP Konfiguracja kontraktu SLA www.empathy.pl

  31. Monitoring aplikacji PHP Podgląd realizacji SLA www.empathy.pl

  32. Case study

  33. Case Study – kontri.pl www.empathy.pl

  34. Case Study – kontri.pl www.empathy.pl

  35. Case Study – kontri.pl Powiązania pomiędzy systemami www.empathy.pl

  36. Case Study – kontri.pl Serwer multimediów www.empathy.pl

  37. Case Study – kontri.pl • Wyzwania • Bardzo duże skomplikowanie aplikacji, wielosklepowość, B2C+B2B • Konieczność inteligentnego cachowania • każdy użytkownik może widzieć inną cenę • pełen on-line na stanach magazynowych • rezerwacje koszykowe • zaawansowana wieloatrybutowość • Mnogość integracji • system ERP • serwer stanów magazynowych • serwer multimediów • integracje z systemami internetowymi, kurierami www.empathy.pl

  38. Case Study – kontri.pl • Co monitorować? • Serwery i łącza • Obciążenie systemu, uptime • Użycie dysków twardych (w tym także ramdrive) • Użycie pamięci operacyjnej / użycie swap • Ilość połączeń do SQL, ilość locków na bazie • Dostępność i wolne zasoby MemCached • Dostępność i czas odpowiedzi serwera WWW, SMTP, PostgreSQL • Status macierzy dyskowej • Wykorzystanie dostępnego pasma • Czasy odpowiedzi serwerów, routerów oraz kluczowych sieci www.empathy.pl

  39. Case Study – kontri.pl • Co monitorować? • Aplikacja • Status połączenia WebService z systemem ERP • Czas trwania importu danych XML • Możliwość zapisu danych Zend_Cache • Ilość jednocześnie przetwarzanych dynamicznych requestów • Długość kolejek (mailowych, synchronizacyjnych) • Wersje oprogramowania – PHP, PostgreSQL • Zmiana pliku konfiguracyjnego aplikacji (md5) www.empathy.pl

  40. Case Study – kontri.pl • Co monitorować? • Biznes • Ilość jednoczesnych użytkowników • Ilość rezerwacji koszykowych – czy próba nadużycia? • Czy w ostatniej godzinie było złożone X zamówień? • Poprawność rezerwacji towaru w serwerze stanów magazynowych • Czas realizacji zamówienia – zmiana statusów • Selenium • Rejestracja, logowanie użytkownika • Złożenie próbnego zamówienia • Rezerwacja koszykowa towaru www.empathy.pl

  41. Case Study – kontri.pl Architektura monitoringu www.empathy.pl

  42. Case Study – kontri.pl • Podstawowe pojęcia Zabbix • Host– monitorowane urządzenie • Item– parametr z danymi, przechowuje dane • Application – grupa parametrów • Trigger– test parametru względem zadanych warunków • Action – podjęcie akcji na podstawie triggera(ów) • Graph – wykres (line, stacked, pie) – dostępny konfigurator www.empathy.pl

  43. Case Study – kontri.pl • Zabbix_Server – przetwarza i przechowuje dane • Zabbix_Agent – instalowany na monitorowanym systemie • Zabbix_Proxy – instalowany poza LAN • Zabbix_Agent • Parametry użytkownika • UserParameter=users.active,phpusers_active.php • Zabbix_Sender • Wysyłanie wyników do serwera centralnego • zabbix_sender -z ZABBIX_SERVER • -s MONITOROWANY_HOST -k nazwa_parametru -o 0 www.empathy.pl

  44. Case Study – kontri.pl Monitoring logów • Przyrostowy monitoring logów • Działa poprawnie z rotacją logów • Zend_Log • Monitorujemy wystąpienia błędów PHP – WARN, ERROR • Monitorujemy błędy logiczne www.empathy.pl

  45. Case Study – kontri.pl Powiadamianie • Elastyczna konfiguracja • Zdefiniowanie osób odpowiedzialnych • Zdefiniowanie czasu pracy osób oraz metod komunikacji • Pełna historia problemu – kto podjął, komentarz, rozwiązanie • Zmiana trendów - bez powiadomienia, ew. Jabber • Problemy mogące poczekać – powiadomienie e-mail • Problemy krytyczne – SMS 24x7 www.empathy.pl

  46. Pytania? www.empathy.pl

  47. Dziękuję bartek@empathy.plwww.empathy.pl/facebook

More Related