Korzystanie z narzędzia śledzenia

Wyświetlasz dokumentację Apigee Edge.
Zapoznaj się z dokumentacją Apigee X. info

Czym jest narzędzie Ślad?

Śledzenie to narzędzie do rozwiązywania problemów i monitorowania serwerów proxy interfejsu API działających na platformie Apigee Edge. Śledzenie umożliwia sprawdzanie szczegółów każdego kroku w przepływie proxy interfejsu API.

Obejrzyj ten film, aby poznać narzędzie Śledzenie.

Jak korzystać z funkcji Śledzenie

Trace jest proste w obsłudze. Rozpoczynasz sesję śledzenia, a potem wywołujesz interfejs API platformy Edge i odczytujesz wyniki.

  1. Otwórz stronę serwerów proxy interfejsu API, jak opisano poniżej.

    Edge

    Aby otworzyć stronę serwerów proxy interfejsu API w interfejsie Edge:

    1. Zaloguj się na apigee.com/edge.
    2. Na pasku nawigacyjnym po lewej stronie wybierz Develop > API Proxies (Programowanie > Serwery proxy interfejsu API).

    Classic Edge (Private Cloud)

    Aby otworzyć stronę serwerów proxy interfejsu API w klasycznym interfejsie Edge:

    1. Zaloguj się w http://ms-ip:9000, gdzie ms-ip to adres IP lub nazwa DNS węzła serwera zarządzającego.
    2. Na górnym pasku nawigacyjnym kliknij Interfejsy API > Serwery proxy interfejsów API.
  2. Na stronie Proxy interfejsu API wybierz proxy interfejsu API.
  3. Upewnij się, że interfejs API, który chcesz śledzić, jest wdrożony.
  4. Kliknij Ślad, aby przejść do widoku narzędzia Ślad.
  5. W menu Wdrożenie do śledzenia wybierz środowisko wdrożenia i wersję 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. Podczas sesji śledzenia komunikaty i dane kontekstowe są rejestrowane z bieżącego ruchu.

  7. Jeśli przez Twój serwer proxy nie przepływa żaden ruch na żywo, po prostu wyślij żądanie do interfejsu API. Do wysłania żądania możesz użyć dowolnego narzędzia, np. curl, Postman lub innego znanego Ci narzędzia. Możesz też wysłać prośbę bezpośrednio z narzędzia Śledzenie. Wystarczy wpisać adres URL i kliknąć Wyślij. Uwaga: za pomocą narzędzia Śledzenie możesz wysyłać tylko żądania GET, a nie POST.

    Uwaga: jedna sesja śledzenia może obsługiwać 10 transakcji żądanie/odpowiedź na procesor wiadomości za pomocą wybranego serwera proxy interfejsu API. W chmurze brzegowej z 2 procesorami wiadomości obsługującymi ruch obsługiwanych jest 20 transakcji żądanie/odpowiedź. Sesja śledzenia zatrzymuje się automatycznie po 10 minutach, jeśli nie zatrzymasz jej ręcznie.
  8. Gdy zarejestrujesz wystarczającą liczbę żądań, kliknij Zakończ sesję śledzenia.
  9. W menu po lewej stronie wyświetli się lista zarejestrowanych transakcji żądanie/odpowiedź. Kliknij dowolną transakcję, aby wyświetlić szczegółowe wyniki.

Jak odczytać ślad

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

  • Mapa transakcji używa ikon do oznaczania każdego istotnego kroku, który występuje podczas transakcji proxy interfejsu API, w tym wykonywania zasad, kroków warunkowych i przejść. Najedź kursorem na dowolną ikonę, aby wyświetlić podsumowanie informacji. Kroki przepływu żądania są wyświetlane u góry mapy transakcji, a kroki przepływu odpowiedzi – u dołu.
  • Sekcja Szczegóły fazy narzędzia zawiera informacje o wewnętrznym przetwarzaniu przez serwer proxy, w tym o ustawionych lub odczytanych zmiennych, nagłówkach żądań i odpowiedzi oraz wiele innych. Kliknij dowolną ikonę, aby wyświetlić szczegóły fazy tego kroku.

Oto przykładowa mapa narzędzia do śledzenia z oznaczonymi głównymi segmentami przetwarzania serwera proxy:

Mapa transakcji w narzędziu do śledzenia

Legenda mapy transakcji

Tabela poniżej zawiera opis ikon, które zobaczysz na mapie transakcji. Te ikony oznaczają poszczególne etapy przetwarzania w przepływie proxy.

Ikony na mapie transakcji

Aplikacja kliencka, która wysyła żądanie do punktu końcowego ProxyEndpoint serwera proxy interfejsu API.
Okręgi oznaczają punkty końcowe przejściowe w przepływie serwera proxy. Są one obecne, gdy klient wysyła żądanie, gdy żądanie trafia do miejsca docelowego, gdy odpowiedź wraca z miejsca docelowego i gdy odpowiedź wraca do klienta.

Wysokie słupki oznaczają początek segmentu przepływu w przepływie proxy interfejsu API. Segmenty przepływu to: żądanie ProxyEndpoint, żądanie TargetEndpoint, odpowiedź TargetEndpoint i odpowiedź ProxyEndpoint. Segment obejmuje PreFlow, Conditional Flows i PostFlow.

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

Wskazuje, że w tle miały miejsce działania Analytics.

Przepływ warunkowy, który ma wartość „prawda”. Wprowadzenie do przepływów warunkowych znajdziesz w artykule Konfigurowanie przepływów.

Pamiętaj, że niektóre warunki są generowane przez Edge. Na przykład to wyrażenie jest używane przez Edge do sprawdzania, czy w ProxyEndpoint wystąpił błąd:

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

Przepływ warunkowy, który ma 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 Edge. Na przykład to wyrażenie jest używane przez Edge do sprawdzania, czy w usłudze TargetEndpoint 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 zasady ma unikalną ikonę. Dotyczy to zasady AssignMessage. Te ikony pokazują, gdzie zasady są wykonywane w odpowiedniej kolejności i czy są stosowane. Możesz kliknąć ikonę zasady, aby zobaczyć wyniki jej wykonania i sprawdzić, czy są one zgodne z oczekiwaniami. Możesz na przykład sprawdzić, czy wiadomość została prawidłowo przekształcona lub czy jest buforowana.

Prawidłowo egzekwowane zasady są wyraźnie oznaczone ptaszkami. W przypadku błędu na ikonie wyświetla się czerwony wykrzyknik.

Wskazówka: zwracaj uwagę na etykietkę lub oś czasu, aby sprawdzić, czy któraś z zasad nie działa dłużej niż oczekiwano.

Pojawia się, gdy docelowy backend to aplikacja Node.js. Zobacz Omówienie Node.js w Apigee Edge.
Docelowy backend wywoływany przez proxy interfejsu API.
Oś czasu pokazuje, ile czasu (w milisekundach) zajęło przetworzenie danych. Porównanie segmentów czasu, który upłynął, pomaga wyodrębnić zasady, których wykonanie zajmuje najwięcej czasu i które spowalniają wywołania interfejsu API.
Epsilon oznacza okres krótszy niż milisekunda.

Wyłączono. Wyświetla się na ikonie zasady, gdy jest ona wyłączona. Zasadę można wyłączyć za pomocą publicznego interfejsu API. Więcej informacji znajdziesz w dokumentacji konfiguracji serwera proxy interfejsu API.

Błąd. Pojawia się na ikonie zasady, gdy warunek kroku zasady ma wartość false (patrz Zmienne przepływu i warunki) lub na ikonie zasady RaiseFault, gdy jest ona wykonywana.
Pominięto. Wyświetla się na ikonie zasady, gdy zasada nie została wykonana, ponieważ warunek kroku miał wartość fałsz. Więcej informacji znajdziesz w artykule Zmienne i warunki przepływu.

Interpretowanie szczegółów fazy

Sekcja Szczegóły fazy w narzędziu zawiera wiele informacji o stanie serwera proxy na każdym etapie przetwarzania. Oto niektóre szczegóły podane w sekcji Szczegóły fazy. Kliknij dowolną ikonę w narzędziu do śledzenia, aby wyświetlić szczegóły wybranego kroku, lub użyj przycisków Dalej/Wstecz, aby przechodzić między krokami.

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

Zawiera listę zmiennych przepływu, które zostały odczytane i którym przypisano wartość przez zasadę. Zobacz 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 zmiennej nie można było przypisać wartości, ponieważ jest ona tylko do odczytu lub wystąpił błąd podczas wykonywania zasady.
  • Puste pole oznacza, że wartość zmiennej została odczytana.
Nagłówki żądań Zawiera listę nagłówków żądań HTTP.
Żądanie treści Wyświetla treść żądania HTTP.
Właściwości Właściwości reprezentują stan wewnętrzny serwera proxy interfejsu API. Nie są one domyślnie wyświetlane.
Docelowy punkt końcowy Wskazuje, który element TargetEndpoint został wybrany do wykonania.
Nagłówki odpowiedzi Wyświetla nagłówki odpowiedzi HTTP.
Treść odpowiedzi Wyświetla treść odpowiedzi HTTP.
PostClientFlow Zawiera informacje o PostClientFlow, który jest wykonywany po zwróceniu żądania do aplikacji klienckiej, która je wysłała. Do PostClientFlow można dołączyć tylko zasady MessageLogging. Funkcja PostClientFlow jest obecnie używana głównie do pomiaru przedziału czasu między sygnaturami czasowymi początku i końca wiadomości z odpowiedzią.

Doprecyzowywanie przechwytywania wiadomości za pomocą filtrów

Możesz filtrować żądania wyświetlane w narzędziu Śledzenie, określając wartości nagłówka lub parametru zapytania. Filtry umożliwiają kierowanie na konkretne połączenia, które mogą powodować problemy. Możesz na przykład potrzebować zawęzić zakres do żądań zawierających określone treści lub pochodzących od konkretnych partnerów lub aplikacji. Możesz filtrować według:

  • Nagłówki HTTP – ogranicz śledzenie tylko do wywołań zawierających określony nagłówek. To dobry sposób na rozwiązywanie problemów. Możesz wysłać nagłówek do dewelopera aplikacji i poprosić go o uwzględnienie go w wywołaniu, które powoduje problemy. W takim przypadku Apigee Edge będzie rejestrować tylko wywołania z tym nagłówkiem, dzięki czemu możesz sprawdzić wyniki.
  • Parametry zapytania – rejestrowane będą tylko wywołania z określoną wartością parametru.

Co musisz wiedzieć o funkcji filtrowania

  • Po określeniu parametrów filtra w polach filtra musisz ponownie uruchomić sesję śledzenia.
  • Parametry filtra są połączone operatorem logicznym ORAZ. W żądaniu muszą być obecne wszystkie określone pary zapytanie lub nazwa/wartość nagłówka, aby dopasowanie było prawidłowe.
  • W narzędziu Filtry nie jest obsługiwane dopasowywanie wzorców.
  • W parametrach i wartościach filtrów rozróżniana jest wielkość liter.

Jak utworzyć filtr śledzenia

  1. Jeśli sesja śledzenia jest aktywna, zatrzymaj ją, klikając Zatrzymaj sesję śledzenia.
  2. W lewym górnym rogu narzędzia Śledzenie kliknij Filtry, aby rozwinąć pole Filtry.

    W narzędziu Śledzenie etykieta paska bocznego Filtry jest zakreślona.
  3. W polu Filtry określ parametr zapytania lub wartości nagłówka, według których chcesz filtrować. W tym przykładzie określamy 2 parametry zapytania, według których chcemy filtrować. Aby dopasowanie było skuteczne, w żądaniu muszą być obecne oba parametry.

    W narzędziu Śledzenie w sekcji Filtry – Parametr zapytania ustawione są 2 przykładowe nazwy i wartości.
  4. Rozpocznij sesję śledzenia.
  5. wywoływać interfejsy API, Tylko żądania, które zawierają wszystkie określone nagłówki lub parametry zapytania, powodują dopasowanie.

W sekcji Transakcje pojawią się 4 wyniki pasujące do 2 wstępnie ustawionych parametrów zapytania.

W powyższym przykładzie to wywołanie interfejsu API pojawi się w śladzie:

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ą usługi Trace

Śledzenie umożliwia wyświetlanie wielu wewnętrznych szczegółów dotyczących serwera proxy interfejsu API. Na przykład:

  • Możesz szybko sprawdzić, które zasady są wykonywane prawidłowo, a które nie.
  • Załóżmy, że na jednym z paneli Statystyk zauważysz, że wydajność jednego z Twoich interfejsów API znacznie spadła. Teraz możesz użyć Trace, aby zidentyfikować miejsce, w którym występuje wąskie gardło. Ślad podaje czas (w milisekundach) potrzebny na wykonanie każdego kroku przetwarzania. Jeśli zauważysz, że jeden z kroków trwa zbyt długo, możesz podjąć działania korygujące.
  • W szczegółach fazy możesz sprawdzić nagłówki wysyłane do backendu, wyświetlić zmienne ustawione przez zasady itp.
  • Weryfikując ścieżkę podstawową, możesz mieć pewność, że zasady kierują wiadomość do właściwego serwera.

Wybieranie opcji widoku

Wybierz opcje widoku sesji śledzenia.

Opcja Opis
Pokaż wyłączone zasady Wyświetl wszystkie wyłączone zasady. Zasadę można wyłączyć za pomocą publicznego interfejsu API. Więcej informacji znajdziesz w dokumentacji konfiguracji serwera proxy interfejsu API.
Pokaż pominięte etapy Pokaż wszystkie pominięte etapy. Pominięta faza występuje, gdy zasady nie zostały wykonane, ponieważ warunek kroku miał wartość fałsz. Więcej informacji znajdziesz w artykule Zmienne i warunki przepływu.
Pokaż wszystkie informacje o przepływach Reprezentują przejścia w segmencie przepływu.
Automatyczne porównywanie wybranej fazy Porównuje wybrany etap z poprzednim. Wyłącz tę opcję, aby wyświetlać tylko wybraną fazę.
Pokaż zmienne Wyświetlanie lub ukrywanie zmiennych, które zostały odczytane lub którym przypisano wartość.
Pokaż właściwości Właściwości reprezentują stan wewnętrzny serwera proxy interfejsu API. (Domyślnie ukryta).

Pobieranie wyników śledzenia

Możesz pobrać plik XML z nieprzetworzonymi wynikami śledzenia, aby wyświetlać je i wyszukiwać offline w edytorze tekstu. Plik zawiera szczegółowe informacje o sesji odsłuchiwania, w tym zawartość wszystkich nagłówków, zmiennych i zasad.

Aby pobrać sesję śledzenia, kliknij Pobierz sesję śledzenia.

Wyświetlanie żądań jako poleceń curl

Po prześledzeniu wywołania interfejsu API wysłanego na serwer docelowy możesz wyświetlić żądanie jako polecenie curl. Jest to szczególnie przydatne podczas debugowania z kilku powodów:

  • Serwer proxy interfejsu API może modyfikować żądanie, dlatego warto sprawdzić, czym żądanie z serwera proxy do serwera docelowego różni się od żądania pierwotnego. Polecenie curl reprezentuje zmodyfikowane żądanie.
  • W przypadku większych ładunków wiadomości polecenie curl umożliwia wyświetlanie nagłówków HTTP i treści wiadomości w jednym miejscu. (Obecnie obowiązuje limit około 1000 znaków. Wskazówkę, jak obejść ten limit, znajdziesz w tym poście na forum społeczności).

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

Aby wyświetlić żądania w formacie curl po otrzymaniu wywołania interfejsu API w logu czasu, wybierz etap „Żądanie wysłane do serwera docelowego” na diagramie mapy transakcji, a następnie kliknij przycisk Pokaż curl w kolumnie „Żądanie wysłane do serwera docelowego” w panelu Szczegóły fazy.

Adnotacje do obrazu wskazują przycisk Pokaż Curl i jedno z kółek na diagramie mapy transakcji.

Korzystanie z narzędzia Trace przez zespół pomocy Apigee

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.