Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

brak logowania działań integracyjnych

Termin Definicja
brak logowania działań integracyjnych

Brak logowania działań integracyjnych to luka uniemożliwiająca prześledzenie operacji wykonywanych przez połączone systemy.

Na czym polega brak śladu operacji integracyjnych

Brak logowania działań integracyjnych oznacza, że systemy wymieniają dane, wywołują swoje interfejsy lub uruchamiają procesy synchronizacji, ale nie zapisują wystarczających informacji o przebiegu tych operacji. Integracją może być na przykład żądanie HTTP wysłane do zewnętrznego API, komunikat przekazany przez kolejkę, import pliku, eksport danych albo wywołanie usługi sieciowej. Sam fakt, że dane zostały przesłane, nie zapewnia jeszcze możliwości odtworzenia zdarzenia. Potrzebne są informacje wskazujące, kiedy wykonano operację, jaki komponent ją rozpoczął, jaki zasób był używany i jaki wynik zwrócił system odbiorczy.

Problem nie ogranicza się do całkowitego wyłączenia logów. Luka występuje również wtedy, gdy zapisy są zbyt ogólne, nie mają jednoznacznego identyfikatora żądania, nie rozróżniają kolejnych prób albo przechowują wyłącznie komunikat „błąd integracji”. Bez kontekstu nie da się ustalić, czy przyczyną była niedostępność usługi, odrzucenie danych wejściowych, przekroczenie limitu czasu, błąd uwierzytelniania, niezgodność schematu czy problem z lokalnym urządzeniem zapisującym dane.

Jak brak logów utrudnia odtworzenie przepływu danych

W poprawnie obserwowalnym przepływie każde istotne żądanie powinno mieć identyfikator korelacyjny, czyli wartość pozwalającą połączyć wpisy z wielu komponentów. Ten sam identyfikator może występować w logu aplikacji wysyłającej żądanie, warstwie pośredniej oraz systemie odbierającym. Przy operacjach asynchronicznych przydatny jest także identyfikator komunikatu, identyfikator partii oraz informacja o kolejności przetwarzania. Jeżeli takich pól brakuje, kilka równoległych operacji może wyglądać jak jedno zdarzenie albo pojedyncze żądanie może zostać pomylone z inną próbą.

Istotne są również dane opisujące kierunek i rezultat przepływu. Log powinien wskazywać nazwę integracji, operację, punkt końcowy lub typ komunikatu, czas rozpoczęcia i zakończenia, czas trwania, wynik oraz kod błędu, jeśli wystąpił. W przypadku ponowień trzeba odróżnić pierwszą próbę od kolejnych i zapisać powód ponowienia. Dla komunikatów kolejkowanych należy rozróżnić przyjęcie do kolejki, pobranie przez konsumenta, przetworzenie, potwierdzenie odbioru oraz przeniesienie do kolejki błędów. Bez tych etapów nie można rzetelnie stwierdzić, czy dane zaginęły, zostały przetworzone dwukrotnie, czy tylko oczekują na obsługę.

Skutki diagnostyczne i ryzyko niespójności

Brak logowania zwiększa czas potrzebny do znalezienia przyczyny awarii, ponieważ diagnostyka opiera się wtedy na objawach widocznych dopiero w systemie końcowym. Rekord może nie zostać utworzony, zostać utworzony częściowo albo otrzymać nieaktualne wartości, a operator nie ma dowodu, na którym etapie nastąpiło odchylenie. Szczególnie trudne są błędy przejściowe: chwilowa utrata połączenia, przekroczenie limitu czasu lub chwilowe odrzucenie żądania. Jeśli nie ma wpisu z dokładnym czasem i wynikiem próby, późniejsza kontrola systemu może nie ujawnić pierwotnego zdarzenia.

Niepełny zapis utrudnia także wykrywanie duplikatów i ocenę skutków ponawiania operacji. Gdy nadawca nie wie, czy odbiorca przyjął żądanie przed zerwaniem połączenia, może wysłać je ponownie. Jeżeli operacja nie jest idempotentna, czyli wielokrotne wykonanie tego samego żądania nie daje tego samego bezpiecznego efektu co wykonanie jednokrotne, może dojść do powielenia danych lub wielokrotnego wykonania czynności. Log powinien pozwalać porównać identyfikator operacji, parametry techniczne, status odpowiedzi i moment wykonania. Nie oznacza to zapisywania całej zawartości danych bez ograniczeń: log musi rozdzielać informacje potrzebne do diagnozy od danych, których ujawnienie zwiększałoby ryzyko wycieku.

Jak zaplanować naprawę obserwowalności integracji

Usuwanie luki należy rozpocząć od opisania wszystkich punktów wymiany danych oraz stanów, przez które przechodzi pojedyncza operacja. Następnie trzeba ustalić minimalny zestaw pól wspólny dla wszystkich komponentów: znacznik czasu z informacją o strefie lub w uzgodnionym formacie, identyfikator korelacyjny, nazwę integracji, typ operacji, źródło, odbiorcę, wynik i czas trwania. Dla błędów należy zachować klasę problemu oraz komunikat techniczny, a dla ponowień numer próby i przyczynę. Warto stosować ustrukturyzowany format, na przykład wpisy zawierające pary nazwa-wartość, ponieważ ułatwia to filtrowanie i łączenie zdarzeń.

Po wdrożeniu logowania trzeba sprawdzić je na rzeczywistych scenariuszach: poprawnym przepływie, odrzuceniu nieprawidłowych danych, braku odpowiedzi odbiorcy, przerwaniu połączenia, ponowieniu oraz obsłudze komunikatu błędnego. Test powinien potwierdzić, że można przejść od identyfikatora operacji do wszystkich związanych z nią etapów i jednoznacznie określić wynik. Należy też kontrolować rotację, dostępność i retencję logów, aby zapisy nie znikały zbyt szybko ani nie zajmowały całej przestrzeni dyskowej. Przy diagnostyce laptopa lub komputera PC analizuje się między innymi konfigurację klienta, pliki logów, działanie usług sieciowych, błędy systemowe i stan nośnika, na którym zapisy są przechowywane.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę