Diversity w polskim IT
mBank
Bartosz BojańczykIT Team Leader @ mBank

Jak wykorzystać Splunk, czyli od 1GB do 1.8TB logów dziennie

Jak wykorzystać Splunk jako naprawdę efektywne narzędzie analityczne? Przeczytaj w poniższym artykule i dowiedz się, jak przejść od 1GB do 1.8TB logów dziennie.
15.04.20204 min
Jak wykorzystać Splunk,  czyli od 1GB do 1.8TB logów dziennie

Splunk w mBanku to na dzień dzisiejszy niemal 600 indeksów, dedykowanych dla poszczególnych systemów, przeszło 700 użytkowników online uruchamiających w każdej sekundzie ponad 16 wyszukań w tzw. real-time oraz przeszło 200 wyszukań ad-hoc. Jak dojść do takich wyników? Przedstawiam w 5 prostych krokach poniżej.

Krok pierwszy – nowe wyzwania

Pierwszy PoC rozpoczął się u nas w trzecim kwartale roku 2013 wraz z wdrożeniem projektu Nowego mBanku (nowej odsłony Serwisu Transakcyjnego mBanku). Wraz z nową architekturą przyszły nowe wyzwania – dotychczasowy kolektor logów nie był rozwijany i nie mógł być wykorzystany w budowanej infrastrukturze systemu detalicznego. Szybka analiza rynku wskazała na rozwiązanie Splunk Enterprise. Logów nie było wiele – wówczas potrzeby sprowadzały się wyłącznie do agregacji Event Logów z sekcji Application, więc wystarczała licencja 1GB.

W ramach tego wdrożenia uruchomiono zaawansowany monitoring kontekstowy logów aplikacji oraz przygotowano wykresy i ekrany pozwalające na monitoring on-line produkcyjnych systemów „detalu” (bankowości detalicznej). Kolorowa, atrakcyjna konsola przykuwała uwagę obserwatorów i szybko okazało się, że rozwiązanie można zastosować też m.in. na środowiskach developerskich. 

Do tej pory w „detalu” były dwie instancje Splunka, po jednej dla środowisk developerskich oraz produkcyjnego. Obie instancje łączył jedynie wspólny serwer licencji, który znajdował się na instancji produkcyjnej. Poniżej schemat ówczesnej infrastruktury Splunk w mBanku.


Do roku 2015 licencja posiadana przez mBank została powiększona do wielkości 70GB.

Równocześnie z uruchomieniem produkcyjnym zostały zainicjowane szkolenia z posługiwania się narzędziem wśród pracowników IT. Były to dwudniowe praktyczne warsztaty realizowane wspólnie z dostawcą usług splunkowych.

Krok drugi – „korpo” w Splunku

Po sukcesie wdrożenia Splunka w „detalu” przyszła pora na „korpo” (bankowość korporacyjną). Osoby odpowiedzialne za systemy bankowości korporacyjnej przyłożyły się do swojej pracy i już na starcie uruchomiły projekt z wydzieleniem najbardziej istotnych logów do zaczytania w Splunku.

W oparciu o tak przygotowane logi, skonstruowali panele pozwalające na monitorowanie WSZYSTKICH żywotnych parametrów systemów korporacyjnych – od wydajności poszczególnych serwerów aplikacyjnych, po pełny monitoring procesów „EndOfDay”.

Krok trzeci – pora na klaster

W drugiej połowie 2016 roku Splunk wprowadził funkcjonalność klastra indekserów do swojego produktu. Pozwalała ona na przechowywanie informacji w formie rozproszonej, przez co zmniejszał ryzyko ich utraty. Zespół odpowiedzialny za Splunk podjął wówczas decyzję, że jest to architektura niezbędna dla dalszego funkcjonowania platformy. Poniżej infrastruktura „nowego” Splunka w połączeniu z tzw. "platformą legacy”.

Na powyższym schemacie wyraźnie widać, że serwery wchodzące w skład tzw. „platformy legacy” przestały pełnić swoją funkcję indekserów i zaczęły pełnić inne funkcje (DeployServer oraz LicenceMaster). Był to zabieg celowy prowadzący do ostatecznego ich wycofania. Trzonem klastra były cztery serwery realizujące rolę indekserów (cluster-peer, CP), dane z systemów źródłowych były dostarczane poprzez dwa serwery przesyłające (heavy forwarder, HF).

Jednocześnie z uruchomieniem klastra indekserów, zwiększyliśmy posiadaną licencję splunkową do 180GB/day oraz uruchomiliśmy wewnętrzny strumień projektowy, mający na celu modyfikację i uspójnienie monitoringu systemów informatycznych, m.in. w oparciu o platformę Splunk, który zyskał nową, oficjalną nazwę: Centralny System Agregacji Logów.

Krok czwarty – SIEM i nie tylko

Zespół odpowiedzialny w banku za bezpieczeństwo również dostrzegł wielką wartość w systemie Splunk i rozpoczął wdrożenie systemu SIEM opartego o dodatek Splunk Enterprise Security. Od tego momentu jest on jednym z systemów wspierających działania w zakresie monitorowania bezpieczeństwa  .

Równocześnie, dzięki rozmowom z firmą Splunk, w czerwcu 2017 roku mBank zmienił swój model licencjonowania i przechodzi na licencję 1TB/day. Pozwoliło to na większą elastyczność w przyłączaniu nowych systemów oraz lepsze monitorowanie systemów produkcyjnych.

Zespoły IT prowadzą prace nad implementację mechanizmów machine learning w alertowaniu i monitorowaniu poszczególnych systemów podłączonych do Splunk.

Krok piąty – migracja, unifikacja, standaryzacja

Kolejnym krokiem było podjęcie decyzji o migracji systemu Splunk do nowo uruchamianych DC. Niezbędne były prace pozwalające na przygotowanie migracji tej platformy. Po raz kolejny Splunk wyszedł naprzeciw naszym potrzebom i zaimplementował w swoim produkcie funkcję „multi-data-center cluster”, dzięki czemu mogliśmy przygotować platformę odporną na awaryjne „zniknięcie” jednego z data centrów. 

Poniżej schemat wysoko dostępnej architektury splunkowej wykorzystującej oba centra danych i działającej w trybie Active-Active.

Równocześnie z pracami nad architekturą ruszył projekt polegający na unifikacji platform służących do przechowywania i analizy logów mBanku oraz standaryzację sposobu logowania w systemach IT. Zaowocował on przygotowaniem ogólnoorganizacyjnego standardu logowania w systemach IT oraz zaimplementowaniem go w kilku kluczowych systemach detalicznych.

Dodatkowo w ramach prac projektowych pojawiła się inicjatywa tzw. correlationID, czyli identyfikatora pozwalającego śledzić w logach poszczególnych warstw systemu zdarzenia wygenerowane na podstawie akcji konkretnego użytkownika. W chwili obecnej trwa implementacja w poszczególnych warstwach systemowych. 

W październiku 2019 roku planowany dzienny przyrost danych w Splunku do 1,8TB został osiągnięty.

Podsumowanie

Droga od 1GB do niemal 2TB dziennie nie jest wcale długa i trudna. Należy tylko odpowiednio podejść do zagadnień architektury, planowania pojemności oraz procesów Continuous Integration/Continuous Delivery (CI/CD).

Samo przekonanie użytkowników do korzystania z aplikacji nie jest trudne, być może dlatego, że Splunk jest produktem dobrej jakości z ogromem funkcjonalności, bez których żadna nowoczesna instytucja finansowa nie może się obejść. 

<p>Loading...</p>