Korzystanie z narzędzia śledzenia

Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
Informacje

Co to jest narzędzie do śledzenia?

Trace to narzędzie do rozwiązywania problemów i monitorowania serwerów proxy API działających w Apigee Edge. Śledzenie umożliwia sondowanie szczegółów każdego kroku przez przepływ serwera proxy interfejsu API.

Obejrzyj ten film, aby dowiedzieć się więcej o narzędziu do śledzenia.

Jak korzystać z Trace

Śledzenie jest proste w użyciu. Rozpoczynasz sesję śledzenia, a następnie wykonujesz wywołanie interfejsu API do platformy Edge i odczytywać wyniki.

  1. Otwórz stronę serwerów proxy interfejsu API w sposób opisany poniżej.

    Edge

    Aby uzyskać dostęp do strony serwerów proxy interfejsu API za pomocą interfejsu Edge:

    1. Zaloguj się na stronie apigee.com/edge.
    2. Na pasku nawigacyjnym po lewej stronie wybierz Programowanie > Proxies API.

    Klasyczna wersja Edge (Private Cloud)

    Aby uzyskać dostęp do strony serwerów proxy interfejsu API za pomocą klasycznego interfejsu użytkownika Edge:

    1. Zaloguj się w http://ms-ip:9000, gdzie ms-ip to adres IP lub nazwa DNS węzła serwera zarządzania.
    2. Na górnym pasku nawigacyjnym wybierz Interfejsy API > Serwery proxy API.
  2. Wybierz serwer proxy interfejsu API na stronie Proxies API.
  3. Upewnij się, że interfejs API, który chcesz śledzić, został wdrożony.
  4. Kliknij Ślad, aby przejść do widoku narzędzia do śledzenia.
  5. Z menu Wdrożenie do śledzenia wybierz środowisko wdrożenia i wersję serwera proxy, które chcesz śledzić.
  6. Kliknij Rozpocznij sesję śledzenia. Gdy sesja śledzenia jest aktywna, serwer proxy interfejsu API rejestruje szczegóły każdego kroku w potoku przetwarzania. Gdy sesja śledzenia jest uruchomiona, wiadomości i dane kontekstowe są rejestrowane na podstawie rzeczywistego ruchu.

  7. Jeśli nie masz rzeczywistego ruchu przechodzącego przez Twój serwer proxy, po prostu wyślij żądanie do interfejsu API. Możesz użyć dowolnego narzędzia, które chcesz wysłać, na przykład curl, Postmana lub innego znanego narzędzia. Możesz też wysłać żądanie bezpośrednio z samego narzędzia do śledzenia. Wystarczy, że wpiszesz URL i klikniesz Wyślij. Uwaga: z narzędzia do śledzenia możesz wysyłać tylko żądanie GET, ale nie żądanie POST.

    Uwaga: sesja usługi One Trace może obsługiwać 10 transakcji żądań i odpowiedzi na każdy procesor wiadomości przez wybrany serwer proxy interfejsu API. W chmurze Edge z 2 procesorami przetwarzania wiadomości obsługującymi ruch obsługiwany jest 20 transakcji żądań/odpowiedzi. Sesja śledzenia zatrzymuje się automatycznie po 10 minutach, jeśli nie zatrzymasz jej ręcznie.
  8. Po przechwyceniu wystarczającej liczby żądań kliknij Zatrzymaj sesję śledzenia.
  9. W menu po lewej stronie pojawi się lista zarejestrowanych transakcji związanych z żądaniami i odpowiedziami. Kliknij dowolną transakcję, aby wyświetlić szczegółowe wyniki.

Jak odczytać log czasu

Narzędzie do śledzenia składa się z 2 głównych części: mapy transakcji i szczegółów fazy:

  • Mapa transakcji korzysta z ikony do oznaczania wszystkich ważnych kroków, które mają miejsce podczas transakcji z użyciem serwera proxy interfejsu API, w tym wykonania zasad, kroków warunkowych i przejść. Aby wyświetlić podsumowanie informacji, najedź kursorem na dowolną ikonę. Kroki procesu żądania pojawiają się u góry mapy transakcji, a kroki przepływu odpowiedzi – u dołu.
  • Sekcja Szczegóły etapu narzędzia zawiera informacje o wewnętrznym przetwarzaniu przez serwer proxy, w tym o zmiennych ustawionych lub odczytanych, nagłówkach żądań i odpowiedzi oraz wiele innych informacji. Kliknij dowolną ikonę, aby zobaczyć szczegóły etapu danego kroku.

Oto przykładowa mapa narzędzia do śledzenia z segmentami głównych segmentów przetwarzania serwera proxy oznaczonych etykietami:

Mapa transakcji narzędzia do śledzenia

Legenda mapy transakcji

W tabeli poniżej opisujemy intencje ikon, które zobaczysz na mapie transakcji. Te ikony oznaczają każdy z istotnych kroków podczas przetwarzania serwera proxy.

Ikony mapy transakcji

Aplikacja kliencka, która wysyła żądanie do punktu ProxyEndpoint serwera proxy interfejsu API.
Kręgi oznaczają przejściowe punkty końcowe w procesie serwera proxy. Są one dostępne, gdy żądanie przychodzi od klienta, gdy żądanie trafia do celu, gdy odpowiedź wraca z miejsca docelowego i gdy odpowiedź jest zwracana do klienta.

Wysokie słupki wskazują początek segmentu procesu w procesie serwera proxy interfejsu API. Segmenty przepływu to: żądanie ProxyEndpoint, żądanie TargetEndpoint, odpowiedź TargetEndpoint i odpowiedź ProxyEndpoint. Segment obejmuje przepływy wstępne, warunkowe i postFlow.

Więcej informacji znajdziesz w artykule Konfigurowanie przepływów.

Wskazuje, że działania Analytics wystąpiły w tle.

Schemat warunkowy, który zwraca wartość prawda. Wprowadzenie do przepływów warunkowych znajdziesz w artykule o konfigurowaniu przepływów.

Pamiętaj, że niektóre warunki są generowane przez brzeg. Poniżej znajdziesz na przykład wyrażenie, którego Edge używa do sprawdzenia, czy w punkcie ProxyEndpoint wystąpił błąd:

((error.state equals PROXY_REQ_FLOW) or (error.state equals PROXY_RESP_FLOW))

Proces warunkowy, którego wartość zwraca wartość fałsz. Wprowadzenie do przepływów warunkowych znajdziesz w artykule Konfigurowanie przepływów.

Pamiętaj, że niektóre warunki są generowane przez brzeg. Poniżej znajdziesz na przykład wyrażenie, którego Edge używa do sprawdzenia, czy w docelowym punkcie końcowym wystąpił błąd:

(((error.state equals TARGET_REQ_FLOW) or (error.state equals TARGET_RESP_FLOW)) or ((error.state equals REQ_SENT) or (error.state equals RESP_START)))

Zasady. Każdy typ zasad ma unikalną ikonę. Dotyczy to zasady AssignMessage. Te ikony pozwalają sprawdzić, gdzie zasady są wykonywane we właściwej kolejności oraz czy są skuteczne. Możesz kliknąć ikonę zasady, aby wyświetlić wyniki jej wykonania oraz sprawdzić, czy są one oczekiwane czy nie. Możesz na przykład sprawdzić, czy wiadomość została prawidłowo przekształcona lub czy jest przechowywana w pamięci podręcznej.

Właściwe wykonywanie zasad jest wyraźnie oznaczone ikonami wyboru. W przypadku błędu na ikonie wyświetla się czerwony wykrzyknik.

Wskazówka: zwróć uwagę na etykietkę lub oś czasu, aby sprawdzić, czy jakaś zasada nie trwa dłużej niż zwykle.

Pojawia się, gdy miejscem docelowym backendu jest aplikacja Node.js. Zobacz Omówienie Node.js w Apigee Edge.
Miejsce docelowe backendu wywoływane przez serwer proxy interfejsu API.
Oś czasu wskazuje, ile czasu (w milisekundach) zajęło proces przetwarzania. Porównanie segmentów czasu, w których upływa, pozwala wyodrębnić zasady, których wykonanie najdłużej trwa, a które spowalniają wywołania interfejsu API.
Epsilon wskazuje przedział czasu krótszy niż milisekunda.

Wyłączono. Wyświetla się na ikonie zasad, gdy zasada jest wyłączona. Zasadę można wyłączyć za pomocą publicznego interfejsu API. Zobacz dokumentację konfiguracji serwera proxy interfejsu API.

Błąd. Pojawia się na ikonie zasady, gdy warunek kroku zasady ma wartość fałsz (zobacz Zmienne i warunki przepływu) lub na ikonie zasady romotingFault przy uruchamianiu zasady AssistFault.
Pominięto. Wyświetla się na ikonie zasady, gdy zasada nie została wykonana z powodu wartości warunku kroku o wartości fałsz. Więcej informacji znajdziesz w artykule Zmienne i warunki przepływu.

Omówienie szczegółów etapu

W sekcji Szczegóły fazy w narzędziu znajdziesz dużo informacji o stanie serwera proxy na każdym etapie przetwarzania. Oto niektóre szczegóły ze szczegółów etapu. Kliknij dowolną ikonę w narzędziu do śledzenia, aby wyświetlić szczegóły wybranego kroku, lub użyj przycisków Dalej/Wstecz, aby przejść z jednego kroku do kolejnego.

Szczegóły fazy Opis
Punkt końcowy serwera proxy Wskazuje przepływ ProxyEndpoint został wybrany do wykonania. Serwer proxy interfejsu API może mieć wiele nazwanych punktów końcowych serwera proxy.
Zmienne

Zawiera listę zmiennych przepływu, które zostały odczytane i którym przypisano wartość przez zasadę. Patrz też Zarządzanie stanem serwera proxy za pomocą zmiennych przepływu.

Uwaga:

  • Znak równości (=) wskazuje wartość przypisaną do zmiennej.
  • Przekreślony znak równości (≠) oznacza, że nie można przypisać wartości do zmiennej, ponieważ jest ona tylko do odczytu lub wystąpił błąd podczas wykonywania zasady.
  • Puste pole wskazuje, że wartość zmiennej została odczytana.
Nagłówki żądań Wyświetla nagłówki żądań HTTP.
Poproś o treść Pokazuje treść żądania HTTP.
Właściwości Właściwości reprezentują wewnętrzny stan serwera proxy interfejsu API. Domyślnie nie są one wyświetlane.
Docelowy punkt końcowy Wskazuje, który punkt docelowy został wybrany do wykonania.
Nagłówki odpowiedzi Wyświetla nagłówki odpowiedzi HTTP.
Treść odpowiedzi Wyświetla treść odpowiedzi HTTP.
PostClientFlow Pokazuje informacje o elemencie PostClientFlow, który jest wykonywany po zwróceniu żądania do żądającej aplikacji klienckiej. Do obiektu PostClientFlow można dołączyć tylko zasady MessageLogging. Typ PostClientFlow jest obecnie używany głównie do pomiaru przedziału czasu między sygnaturami czasowymi rozpoczęcia i zakończenia wiadomości z odpowiedzią.

Udoskonalanie rejestrowania wiadomości za pomocą filtrów

Możesz filtrować żądania wyświetlane w narzędziu do śledzenia, określając wartości parametrów nagłówka lub zapytania. Filtry umożliwiają wskazywanie konkretnych połączeń, które mogą powodować problemy. Możesz na przykład skupić się na żądaniach, które zawierają określone treści lub żądania pochodzące od konkretnych partnerów lub aplikacji. Możesz filtrować według tych kryteriów:

  • Nagłówki HTTP – ogranicz śledzenie tylko do wywołań zawierających określony nagłówek. To dobry sposób na rozwiązanie problemu. Możesz wysłać nagłówek do dewelopera aplikacji i poprosić go o uwzględnienie go w rozmowie, która powoduje problemy. Apigee Edge będzie wtedy nagrywać tylko wywołania z tym konkretnym nagłówkiem, aby umożliwić Ci sprawdzenie wyników.
  • Parametry zapytania – rejestrowane będą tylko wywołania z określoną wartością parametru.

Co warto wiedzieć o funkcji Filtr

  • Po określeniu parametrów filtrów w polach filtrów musisz ponownie uruchomić sesję śledzenia.
  • Parametry filtra są połączone operatorem ORAZ. Aby dopasowanie przebiegło pomyślnie, żądanie musi zawierać wszystkie określone pary nazwy i wartości nagłówka lub zapytania.
  • Narzędzie Filtry nie obsługuje dopasowania do wzorca.
  • Wielkość liter w parametrach i wartościach filtra ma znaczenie.

Jak utworzyć filtr śledzenia

  1. Jeśli sesja śledzenia jest uruchomiona, zatrzymaj ją, klikając Zatrzymaj sesję śledzenia.
  2. Kliknij Filtry w lewym górnym rogu narzędzia śledzenia, aby rozwinąć pole Filtry.

    W narzędziu Śledzenie etykieta Filtry na pasku bocznym jest zakreślona.
  3. W polu Filtry określ parametr zapytania lub wartości nagłówków, według których chcesz filtrować. W tym przykładzie określamy 2 parametry zapytania, według których filtrować. Żądanie musi zawierać oba parametry.

    W sekcji Filtry w narzędziu do śledzenia ustawione są 2 przykładowe nazwy i wartości w sekcji Parametr zapytania.
  4. Rozpocznij sesję śledzenia.
  5. Wywołuj swoje interfejsy API. Tylko żądania, które zawierają wszystkie określone nagłówki lub parametry zapytania, dają dobre dopasowanie.

W sekcji Transakcje zobaczysz 4 wyniki pasujące do 2 gotowych parametrów zapytania.

W przykładzie powyżej to wywołanie interfejsu API pojawi się w Trace:

http://docs-test.apigee.net/cats?name=Penny&breed=Calico

Nie spowoduje to jednak:

http://docs-test.apigee.net/cats?name=Penny

Debugowanie za pomocą systemu śledzenia

Śledzenie pozwala zobaczyć wiele wewnętrznych szczegółów na temat serwera proxy interfejsu API. Na przykład:

  • Możesz szybko sprawdzić, które zasady działają prawidłowo, a które nie.
  • Załóżmy, że w jednym z paneli Analytics zauważysz, że jeden z Twoich interfejsów API zauważa nietypowy spadek wydajności. Teraz możesz użyć funkcji śledzenia, aby łatwiej zidentyfikować, gdzie występuje wąskie gardło. Śledzenie podaje czas (w milisekundach) potrzebny na wykonanie każdego etapu przetwarzania. Jeśli okaże się, że jeden krok trwa zbyt długo, możesz podjąć działania naprawcze.
  • Dzięki analizie szczegółów etapu możesz sprawdzić nagłówki wysyłane do backendu, wyświetlić zmienne ustawione przez zasady itd.
  • Weryfikując ścieżkę bazową, możesz upewnić się, że zasada kieruje wiadomość na właściwy serwer.

Wybieranie opcji widoku

Wybierz opcje widoku sesji śledzenia.

Opcja Opis
Pokaż wyłączone zasady Pokaż wszystkie wyłączone zasady. Zasadę można wyłączyć przy użyciu publicznego interfejsu API. Więcej informacji znajdziesz w dokumentacji dotyczącej konfiguracji serwera proxy interfejsu API.
Pokaż pominięte fazy Pokaż wszystkie pominięte fazy. Faza pominięta ma miejsce, gdy zasada nie została wykonana, ponieważ warunek kroku został oceniony jako fałsz. Więcej informacji znajdziesz w artykule Zmienne i warunki przepływu.
Pokaż wszystkie informacje o Flow Przedstaw przejścia w ramach segmentu przepływu.
Automatycznie porównaj wybrany etap Porównuje wybrany etap z poprzednim. Wyłącz tę opcję, aby wyświetlić tylko wybrany etap.
Pokaż zmienne Wyświetl lub ukryj zmienne, które zostały odczytane lub miały przypisaną wartość.
Pokaż właściwości Właściwości reprezentują wewnętrzny stan serwera proxy interfejsu API. (Ta opcja jest domyślnie ukryta).

Pobieram wyniki logu czasu

Możesz pobrać plik XML z nieprzetworzonymi wynikami śledzenia, aby móc wyświetlać i wyszukiwać je offline w edytorze tekstu. Plik zawiera pełne informacje o sesji słuchania, w tym zawartość wszystkich nagłówków, zmiennych i zasad.

Aby pobrać dane, kliknij Download Trace Session (Pobierz sesję śledzenia).

Wyświetlam żądania jako curl

Po prześledzeniu wywołania interfejsu API wysyłanego do serwera docelowego możesz wyświetlić żądanie jako polecenie curl. Jest to szczególnie przydatne w przypadku debugowania z kilku powodów:

  • Serwer proxy interfejsu API może modyfikować żądanie, warto więc sprawdzić, czym żądanie wysyłane z serwera proxy do serwera docelowego różni się od pierwotnego. Polecenie curl reprezentuje zmodyfikowane żądanie.
  • W przypadku większych ładunków wiadomości funkcja curl pozwala wyświetlić nagłówki HTTP i treść wiadomości w jednym miejscu. (Obecnie obowiązuje limit około 1000 znaków. Wskazówki na temat przekroczenia tego limitu znajdziesz w tym poście na karcie Społeczność).

Ze względów bezpieczeństwa funkcja curl maskuje nagłówek HTTP Authorization.

Aby wyświetlić żądania w formie zwijania po przekazaniu wywołania interfejsu API w Trace, wybierz etap „Żądanie wysłane do serwera docelowego” na diagramie mapy transakcji, a następnie kliknij przycisk Pokaż zawinięcie w kolumnie „Żądanie wysłane do serwera docelowego” w panelu szczegółów etapu.

Adnotacje do obrazów wskazują przycisk Pokaż zawinięcie i jeden z okręgów na diagramie mapy transakcji.

Obsługa przez Apigee wykorzystania śledzenia

Domyślnie Apigee Edge pozwala zespołowi pomocy Apigee używać narzędzia śledzenia na serwerach proxy interfejsu API, aby zapewniać wsparcie. W każdej chwili możesz wyłączyć tę opcję. Wyłączenie tej opcji może jednak ograniczyć możliwość zapewniania pomocy przez Apigee.

Aby wyłączyć narzędzie śledzenia Apigee przez zespół pomocy Apigee:

  1. Zaloguj się na https://apigee.com/edge.
  2. Na pasku nawigacyjnym po lewej stronie kliknij Administracja > Prywatność i bezpieczeństwo.
  3. Kliknij przełącznik Włącz pomoc Apigee dla śledzenia, aby wyłączyć korzystanie z narzędzia Trace przez zespół pomocy Apigee.