4digital.cloud4digital.cloud
← Wszystkie realizacje

Przyczyny problemów

Ciągłość operacji bez trwałego identyfikatora

Rezultat: Wieloetapowe operacje można prześledzić etap po etapie i wskazać, gdzie powstaje opóźnienie, także gdy nie łączy ich jeden identyfikator.

01 / Zagadnienie

Diagnostyka wieloetapowych operacji wymagała odtworzenia przebiegu pojedynczej operacji przez kolejne systemy — od jej rozpoczęcia do potwierdzenia.

Zakładano, że jeden identyfikator łączy wszystkie komunikaty operacji. Od tego założenia zależała wiarygodność każdego wniosku o tym, na którym etapie powstaje problem.

02 / Metodologia

Analizę oparłem na czterech zasadach:

  • Weryfikacja założenia o identyfikacji — przed wyciąganiem wniosków o przebiegu operacji sprawdzenie, czy zakładany identyfikator rzeczywiście łączy wszystkie komunikaty jednej operacji.
  • Interpretacja pól w kontekście etapu — ta sama informacja może zmieniać postać między stanami albo zostać zastąpiona innymi danymi, dlatego identyfikacja uwzględnia znaczenie pól na konkretnym etapie przetwarzania, a nie tylko ich wartości.
  • Korelacja oparta na przejściach między stanami — kolejne komunikaty są wiązane na podstawie informacji z warstwy transportowej i aplikacyjnej, kontekstu źródła operacji, jej rodzaju i zależności między etapami. Czas wykonania, sesja ani pojedyncza wartość identyfikacyjna nie są samodzielnym dowodem przynależności do tej samej operacji.
  • Weryfikacja na większym zbiorze — reguły rozpoznane na początkowej próbie są sprawdzane na znacznie większym zbiorze danych, aby wykluczyć, że wynikają ze specyfiki małej próby.

03 / Autorskie rozwiązanie i rezultat

Zbudowałem narzędzie analizujące komunikaty binarne na poziomie bajtów, z interpretacją pól zweryfikowaną względem dostępnej specyfikacji.

Analiza wykazała, że zakładany identyfikator zmieniał się we wszystkich kompletnych przypadkach. Tylko niewielka część operacji pozwalała na prostą korelację od początku do końca, a zestaw pól dostępnych w komunikatach zmieniał się między etapami.

Na tej podstawie zaprojektowałem i wdrożyłem mechanizm odtwarzania ciągłości operacji na podstawie przejść między stanami. Raportowanie wskazuje, na jakiej podstawie powiązano komunikaty. Mechanizm umożliwia analizę czasów poszczególnych etapów przetwarzania oraz rozpoznawanie opóźnień i zawieszeń także w operacjach, których nie łączy jeden identyfikator.

Na podstawie około 2000 przypadków rozpoznałem, jak zmieniają się identyfikatory, i opracowałem reguły korelacji, a następnie zweryfikowałem je na ponad 170 tys. przypadków. Proporcje obserwowanych zjawisk pozostały stabilne, co potwierdziło, że zależności nie wynikały ze specyfiki początkowej próby.

Wartość: diagnostyka wieloetapowych operacji opiera się na zweryfikowanym modelu komunikacji, a nie na niepotwierdzonym założeniu o identyfikatorze.

Obszary technologiczne
Programowanie · Analiza komunikatów binarnych · Korelacja zdarzeń · Rekonstrukcja stanów · Diagnostyka systemów rozproszonych