Jak monitorujemy 250 aplikacji w trybie 24/7/365?
Autor
Tomasz Słomczyński
Dlaczego to robimy?
250 aplikacji działających w trybie 24/7/365? Dziwne? A u nas działa. Mówiąc poważniej – dzisiejsze czasy wymagają dostępności „wszystkiego wszędzie naraz”.
Jak to pogodzić? I jak dogodzić najbardziej wymagającym?
Być może nie powiemy nic odkrywczego, ale… kluczowym elementem działania jest stałe monitorowanie aplikacji. „As simple as that”. W tym celu powołaliśmy dedykowany zespół, który trzyma rękę na pulsie – na pulsie infrastruktury IT oraz samych aplikacji.
Aby sprawnie (i z sensem) odpowiedzieć na oczekiwania rynku, potrzebne jest złożone i rozbudowane środowisko IT – czyli dokładnie takie, jakie stworzyliśmy w PZU. Dzięki temu reakcja z naszej strony jest zawsze szybka, a przede wszystkim, skuteczna.
Jak do tego podeszliśmy?
Czy mówi Wam coś nazwa Centralna Konsola Zdarzeń (CKZ)? Podpowiadamy, nie ma to nic wspólnego z grami, chociaż, w pewnym sensie, jest to gra o dużą stawkę, bo o satysfakcję klientów, wizerunek zaufanego partnera i ciągłość finansową.
Centralna Konsola Zdarzeń to platforma, którą wdrożyliśmy, aby mieć pod ręką wszystkie inne narzędzia do monitoringu, sprawnie kontrolować złożone procesy i integracje między aplikacjami, a także mieć wgląd we wszystkie nieprzewidziane zdarzenia. Z jej poziomu jesteśmy nie tylko w stanie natychmiast je dostrzec, ale też zaalarmować inne zespoły eksperckie, by zapobiec awarii lub ją usunąć najszybciej, jak się da. I chociaż wiele osób ma w głowie bardzo stereotypowy wizerunek osób z IT (kultowe seriale nie pomagają…), u nas jasna komunikacja to podstawa, bez której nie wyobrażamy sobie funkcjonowania w tak rozbudowanej i dynamicznej strukturze.
Jakie technologie za tym stoją?
Wspomniana wyżej Centralna Konsola Zdarzeń zasilana jest kilkoma narzędziami monitorowania pełniącymi różne, uzupełniające się funkcje:
- Synthetic User Monitoring, czyli monitoring robotyczny, w ramach którego narzędzie monitoringu wykonuje w aplikacjach biznesowych w sposób zautomatyzowany scenariusze działań takie, jakie powszechnie realizują fizyczni użytkownicy. Monitoring realizowany jest przez jeden z modułów CKZ działający w oparciu o Selenium.
- Real User Monitoring, czyli analiza ruchu sieciowego generowanego przez fizycznych użytkowników w komunikacji z konkretną aplikacją biznesową, realizowany jest w oparciu o bardzo zaawansowany, wielopoziomowy sniffer.
- Infrastructure Monitoring realizowany jest w oparciu o kilka instancji NAGIOS, do których dostęp jest agregowany nakładką Thruk. Czujki dla NAGIOS piszemy w Pythonie, PowerShell i bash.
- Monitorowanie środowisk Microsoft (Active Directory, Exchange, SharePoint, MSSQL) – realizowane jest przy użyciu SCOM.
Poza wyżej wymienionymi narzędziami w organizacji wykorzystujemy również inne rozwiązania, np. DynaTrace do testów wydajnościowych, Elastich Serach razem z Kibaną i Logstashem wspierają nas w analizie i wizualizacji logów pochodzących z różnych źródeł. Dodatkowo sporo eksperymentujemy ze stosem OpenSearch, w celu poszerzania możliwości działania Centralnej Konsoli Zdarzeń.
Liczby tego projektu
- 250 aplikacji
- ponad 65 tysięcy czujek monitorujących infrastrukturę i aplikacje
- około 50 tysięcy alertów z narzędzi monitoringu w ciągu miesiąca