Monitorowanie aplikacji w chmurze
- Józef Muszyński,
- 18.02.2013
Automatyczne rozpoznawanie środowiska
Automatyczne wykrywanie sprzętu i konfigurowanie to dwie najważniejsze funkcje systemów monitorowania. Coraz więcej ośrodków przechodzi z małych farm serwerów na elastyczną chmurę, gdzie serwery są dodawane i wycofywane tak często, że zespół testujący nie ma praktycznie możliwości skonfigurowania strategii testowania. Automatyczne systemy monitorujące mogą identyfikować nowe maszyny, zanim testujący dowiedzą się o ich istnieniu.
Najbardziej wymyślne systemy rozpoznają nowe serwery po przychodzących nowych zdarzeniach. Niektóre systemy śledzą wszystkie kwerendy do baz danych i statystyki o nich przesyłają do monitorujących serwerów. Kiedy pojawiają się nowe kwerendy, oprogramowanie monitorujące oznacza je i zaczyna automatycznie śledzić. Zwrócenie uwagi na nowe kwerendy może też pomóc w wykrywaniu nieoczekiwanych problemów, które znalazły się poza planem testowania. Jeżeli jakiś intruz sfałszuje stronę WWW wysyłającą kwerendy do bazy danych, oprogramowanie automatycznego wykrywania może oznaczyć to natychmiast. Ten rodzaj anomalii był ignorowany przez wcześniejszą generację narzędzi monitorowania, ponieważ nie miały one preprogramowanych skryptów.
Automatyczne środowiska monitorowania stosują różne mechanizmy. W oprogramowaniu wdrażanym na każdym serwerze zagnieżdżane są agenty. Mogą być one konfigurowane do raportowania szczegółowych statystyk o czasach odpowiedzi. Kiedy agenty raportują interakcje z innymi serwerami, inteligentne narzędzia monitorowania zaczynają śledzić te serwery. Z kolei monitorowanie na poziomie sieci może odpytywać routery, urządzenia rozkładania obciążeń i inne elementy infrastruktury - w celu rozpoznania, które maszyny pracują w sieci.
W niektórych przypadkach narzędzia pozwalają uruchamiać nowe serwery w chmurze automatycznie. Może to mieć miejsce, gdy obciążenie przekracza pewien poziom lub w określonych porach dnia. Ułatwia to życie administratorowi a także przyspiesza reakcje na zaistniałe potrzeby. Niektóre zautomatyzowane środowiska testowe mogą też uzupełniać swoje analizy danymi zbieranymi przez usługi niezależne.
Skuteczne raportowanie
Informacje uzyskane z testów są bezwartościowe, jeżeli zespół nie zostanie poinformowany o problemie. Pierwsze narzędzia monitorowania anonsowały włamanie do serwisu przez włączenie sygnału dźwiękowego lub wysłanie wiadomości e-mail. Ta podstawowa technika nadal jest ważnym elementem wszystkich rozwiązań, ale jest uzupełniana przez bardziej wymyślne narzędzia, oferujące głębszą analizę oraz przewidywanie problemu. Dzisiejsze narzędzia monitorowania zapewniają dostosowywane pulpity raportujące różne statystyki i uwidaczniające te, które mogą wskazywać na problem.
Dobre narzędzia raportowania mogą ujawnić natłok ruchu i dać szanse administratorom na ograniczenie jego skutków. Graficzny pulpit może łatwo uwidocznić zwiększone obciążenie buforów i podnieść alarm zanim odwiedzający witrynę przejdą do bardziej obciążających zadań. Reakcją może być udostępnienie dodatkowych serwerów.
Wyzwaniem jest zazwyczaj upakowanie całej takiej informacji w prostym interfejsie - na ograniczonej powierzchni ekranu. Pulpit musi klasyfikować wszystkie zdarzenia w taki sposób, aby najbardziej krytyczne problemy były widoczne (dobre statystyki są wyświetlane na zielono, problemy na czerwono, a zdarzenia podejrzane na żółto).
Specjalne wyzwanie dla projektantów pulpitów stanowią urządzenia mobilne. Większość narzędzi mobilnych to przeprojektowane na mały ekran standardowe pulpity desktopu. Lepsze narzędzia analityczne skupiają się na edycji informacji, którą muszą widzieć administratorzy.