Omówienie interfejsu API Analytics

Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
info

W tym artykule znajdziesz wprowadzenie do statystyk interfejsu Edge API.

Film: obejrzyj krótki film z omówieniem usług statystycznych interfejsu Edge API.

Ulepszanie interfejsu API za pomocą analiz

Usługa Edge API Analytics zbiera i oblicza wiele informacji przepływających przez proxy interfejsów API. Dane te możesz wizualizować za pomocą wykresów w interfejsie Edge lub pobierać dane pierwotne do analizy offline za pomocą interfejsów API zarządzania Edge.

Analytics pomagają znaleźć odpowiedzi na typowe pytania, takie jak:

  • Jak zmienia się z czasem ruch w interfejsie API?
  • Które metody interfejsu API są najpopularniejsze?
  • Kim są moi najlepsi deweloperzy?
  • Kiedy czas odpowiedzi interfejsu API jest najkrótszy? Najwolniejszy?
  • W których regionach geograficznych odnotowuję największy ruch w interfejsie API?

Odpowiedzi na te pytania pomogą Ci ulepszyć interfejsy API, rozwiązywać problemy i podejmować lepsze decyzje biznesowe związane z programem interfejsów API.

Analityka API pomaga wszystkim w ulepszaniu usług

Dzięki ciągłemu procesowi zbierania, analizowania i wizualizowania danych Edge API Analytics pomaga zespołowi API ulepszać interfejsy API, a programistom aplikacji – ulepszać aplikacje:

alt_text
  • Zespół ds. interfejsów API – zespół ds. interfejsów API korzysta z systemów wewnętrznych, aby tworzyć ciekawe interfejsy API. Zespół ds. interfejsów API chce wiedzieć, jak ogólnie radzi sobie program interfejsów API, jak działają poszczególne interfejsy API i jak je ulepszyć.
  • Deweloperzy aplikacji – udostępniając informacje analityczne deweloperom aplikacji, możesz korzystać z lepszych aplikacji. Ci programiści wykorzystują Twój interfejs API do tworzenia innowacyjnych aplikacji, które pomagają zwiększać przychody Twojego przedsiębiorstwa. Analityka pomaga deweloperom aplikacji sprawdzać, jak działają ich aplikacje i w jakim stopniu przyczyniają się do zwiększania zysków Twojej firmy. Deweloperzy aplikacji chcą wiedzieć, jak mogą je ulepszyć.
  • Zespół ds. operacyjnych – zespół ds. operacyjnych chce poznać wzorce ruchu i przewidywać, kiedy należy dodać zasoby backendu lub wprowadzić inne ważne zmiany.
  • Właściciel firmy – właściciel firmy chce sprawdzić, czy inwestycja w interfejs API się opłaca i gdzie w przyszłości warto zainwestować w interfejs API.

Jakie dane są zbierane i analizowane?

Edge API Analytics zbiera i analizuje szeroki zakres danych przepływających przez proxy interfejsów API, takich jak:

  • Czas odpowiedzi
  • Czas oczekiwania na żądanie
  • Rozmiar żądania
  • Błędy celu
  • Nazwa usługi API
  • adres e-mail dewelopera,
  • Nazwa aplikacji
  • wiele innych.

Pełną listę danych zbieranych przez API Analytics znajdziesz w tym artykule.

Jak zbierać niestandardowe dane analityczne?

Edge natywnie zbiera wiele danych. Możesz też zbierać niestandardowe dane analityczne dotyczące konkretnych proxy interfejsów API, aplikacji, usług lub deweloperów. Możesz na przykład zbierać dane analityczne z parametrów zapytania, nagłówków żądań, treści żądań i odpowiedzi lub zmiennych zdefiniowanych w interfejsach API.

Niestandardowe dane analityczne zbierasz za pomocą zasad StatisticsCollector. Po wyodrębnieniu danych niestandardowych możesz je sprawdzić w interfejsie lub interfejsie API Analytics. Pełny przykład pokazujący, jak zbierać niestandardowe dane analityczne, znajdziesz w artykule Analizowanie treści wiadomości API za pomocą niestandardowych danych analitycznych.

Różnice między danymi Analytics a danymi monitorowania interfejsu API

W tej sekcji opisujemy drobne różnice między danymi zbieranymi przez Edge Analytics a monitorowaniem interfejsu API. Usługi API Monitoring i Analytics korzystają z różnych potoków danych, więc w raportach niestandardowych generowanych przez Monitoring i Analytics mogą występować niewielkie różnice. Możesz na przykład zauważyć rozbieżności w raportowanych wynikach w przypadku błędów przekroczenia limitu czasu – zarówno przekroczenia limitu czasu backendu (kod stanu HTTP 504 w żądaniu), jak i przekroczenia limitu czasu klienta (kod stanu HTTP 499). W raportach niestandardowych Analytics mogą się one pojawiać z kodem stanu 200, ale w raportach niestandardowych Monitorowania będą wyświetlane z kodem stanu 504 lub 499.

Kiedy i jak długo moje dane analityczne są dostępne?

Istnieją 2 przedziały czasowe, które określają, kiedy i jak długo możesz wyświetlać dane analityczne:

  • Interwał opóźnienia danych – po wywołaniu serwera proxy interfejsu API może minąć do 10 minut, zanim dane będą dostępne do wyświetlenia lub za pomocą wywołań interfejsu Management API.
  • Przechowywanie danych – okres przechowywania danych Analytics zależy od Twojego abonamentu:
    • Standardowa: 30 dni
    • Enterprise: 3 miesiące
    • Enterprise Plus: 14 miesięcy
    Więcej informacji znajdziesz w cenniku Apigee API Management.

Jak uzyskać dostęp do danych analitycznych?

Edge API Analytics udostępnia narzędzia do wizualizacji danych wbudowane w interfejs Edge. Narzędzia te obejmują predefiniowane panele analityczne i raporty niestandardowe, które wyświetlają dane w postaci wykresów i diagramów oraz umożliwiają przechodzenie do szczegółów, aby wyświetlać dane pogrupowane według różnych wymiarów (np. według serwera proxy interfejsu API, adresu IP lub kodu stanu HTTP).

Dane analityczne możesz też pobrać za pomocą interfejsu Edge Management API. Po pobraniu możesz zaimportować te dane do własnych narzędzi do wizualizacji danych lub systemu analitycznego.

Panele Analytics

Interfejs Edge udostępnia zestaw wstępnie zdefiniowanych paneli, których możesz używać do wyświetlania danych analitycznych. Na przykład na tych obrazach widać panel Skuteczność serwera proxy:

Ten panel zawiera wykresy dotyczące:

  • Całkowity ruch – łączna liczba żądań do interfejsu API otrzymanych przez Edge w środowisku API w organizacji.
  • Udany ruch – łączna liczba żądań, które zakończyły się pomyślną odpowiedzią. Błędne odpowiedzi nie są brane pod uwagę.
  • Błędy w ruchu – łączna liczba wszystkich nieudanych żądań do interfejsu API, czyli żądań, które nie generują odpowiedzi. Liczba obejmuje zarówno błędy serwera proxy (po stronie Apigee), jak i błędy usługi docelowej (usługi backendu).
  • Średnia liczba transakcji na sekundę – średnia liczba żądań do interfejsu API i odpowiedzi na sekundę.

Dodatkowe wstępnie zdefiniowane panele:

Więcej informacji o tych wstępnie zdefiniowanych panelach znajdziesz w artykule Korzystanie z paneli analitycznych.

Raporty niestandardowe

Raporty niestandardowe umożliwiają szczegółowe analizowanie konkretnych danych API i wyświetlanie dokładnie tych informacji, które Cię interesują. Raport niestandardowy możesz utworzyć, korzystając z dowolnych danych analitycznych wbudowanych w Edge lub niestandardowych danych analitycznych zbieranych przez zasadę StatisticsCollector.

Podczas tworzenia raportu niestandardowego wybierasz dane, które chcesz zobaczyć (dane), grupujesz je w istotny sposób (wymiary) i opcjonalnie ograniczasz zwracane dane na podstawie określonych cech (filtrowanie).

Możesz też ustawić typ wykresu wyświetlanego w raporcie niestandardowym jako wykres kolumnowy lub liniowy. Na ilustracjach poniżej przedstawiono przykładowe wykresy transakcji na sekundę pogrupowane według serwera proxy interfejsu API:

  • Kolumna – każdy serwer proxy interfejsu API jest reprezentowany przez inną kolumnę:

    Niestandardowy wykres kolumnowy

  • Linia – każdy proxy interfejsu API jest reprezentowany przez inną linię:

    Niestandardowy wykres liniowy

Więcej informacji znajdziesz w artykule Tworzenie raportów niestandardowych i zarządzanie nimi.

Interfejs Analytics API

Aby pobrać dane analityczne, użyj interfejsu Edge Management API. Możesz na przykład użyć interfejsu API do tworzenia własnych narzędzi do wizualizacji, które możesz umieszczać w portalach lub aplikacjach niestandardowych.

Oto przykładowe wywołanie interfejsu API, które umożliwia pobranie danych analitycznych dotyczących proxy interfejsów API:

curl  https://api.enterprise.apigee.com/v1/o/org_name/environments/test/stats/apiproxy?"select=sum(message_count)&timeRange=6/24/2018%2000:00~6/24/2018%2023:59&timeUnit=hour" \
-u email:password

Wywołanie zwraca:

  • Suma żądań (liczba wiadomości) dla poszczególnych proxy interfejsu API
  • przez 24 godziny,
  • Grupowanie według godziny

Parametr zapytania timeRange określa okres w formacie:

?timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM

Zwróć uwagę na %20 przed HH:MM. Parametr timeRange wymaga znaku spacji zakodowanego na potrzeby adresu URL przed znakiem HH:MM lub znaku +, np. MM/DD/YYYY+HH:MM~MM/DD/YYYY+HH:MM.

Więcej informacji znajdziesz w artykule Korzystanie z interfejsów API wskaźników, aby mierzyć skuteczność programu API.

Eksportowanie danych analitycznych do Google Cloud

Za pomocą interfejsu Edge Management API możesz eksportować wszystkie dane analityczne z całego dnia z Edge do własnego repozytorium danych, np. Google Cloud Storage lub BigQuery. Możesz wtedy korzystać z zaawansowanych funkcji zapytań i uczenia maszynowego oferowanych przez Google Cloud BigQuery i TensorFlow, aby przeprowadzać własne analizy danych.

Więcej informacji znajdziesz w artykule Eksportowanie danych z analityki.

Jak udostępniać dane deweloperom aplikacji?

Jeśli deweloperzy aplikacji są Twoimi klientami, musisz zadbać o to, aby mieli do dyspozycji narzędzia i informacje, które pozwolą im jak najlepiej wykorzystać Twój interfejs API.

alt_text

Deweloperzy aplikacji nie tylko dbają o jakość swoich aplikacji, ale też bardzo interesują się Twoimi interfejsami API. Portale deweloperów oparte na Drupalu zawierają opcjonalną stronę Wydajność aplikacji, która zapewnia deweloperom aplikacji dostęp do ważnych danych dotyczących ich aplikacji. Na tej stronie deweloperzy znajdą informacje o:

  • Błędy: jakie błędy interfejsu API występują w mojej aplikacji?
  • Wydajność: czy interfejs API działa teraz wolno? Które metody interfejsu API są zwykle wolne lub wolne w danym momencie?
  • Dostępność: czy interfejs API działa obecnie?
  • Limit: czy Twój interfejs API ma limit? Jak sobie radzę jako deweloper aplikacji w porównaniu z limitem?

Więcej informacji znajdziesz w tych artykułach:

Możesz też udostępniać statystyki deweloperom, wykonując te czynności:

Jak generować pełne dane analityczne?

Co rozumiemy przez pełne statystyki? Możesz na przykład utworzyć proxy interfejsu API, a Edge będzie zbierać dane analityczne dotyczące tego proxy. Ale co z danymi o deweloperze lub aplikacji, które wywołały proxy interfejsu API? Jeśli Edge nie wie, kto wykonał wywołanie interfejsu API, nie może zbierać tych danych.

Aby Edge mógł określić, którzy programiści i które aplikacje deweloperów wywołują Twoje proxy interfejsów API, musisz wykonać kilka czynności. Oto lista tych kroków z linkami do bardziej szczegółowych informacji:

  1. Utwórz co najmniej jedną usługę API, czyli grupę serwerów proxy API wraz z planem usług. Zobacz Zarządzanie produktami API.
  2. Rejestruj deweloperów aplikacji w Edge. Zobacz Rejestrowanie deweloperów aplikacji.
  3. Rejestruj aplikacje i generuj klucze interfejsu API dla swoich deweloperów. Zobacz Rejestrowanie aplikacji i zarządzanie kluczami interfejsu API.
  4. Dodaj do proxy interfejsu API zasady bezpieczeństwa, które weryfikują klucze interfejsu API lub tokeny zabezpieczające. Zapoznaj się z tymi tematami:zasada Verify API Key, zasada OAuthV2zasada Verify JWT.
  5. Jeśli używasz Edge Microgateway, sprawdź, czy masz włączoną wtyczkę analityczną (jest ona domyślnie włączona). Jeśli wtyczka analityczna jest wyłączona, Edge Microgateway nie będzie wysyłać danych analitycznych do Edge Analytics.

Poniższe samouczki przeprowadzą Cię przez niezbędne kroki, które pozwolą Ci wyświetlać statystyki dotyczące deweloperów i aplikacji: Zabezpieczanie interfejsu API przez wymaganie kluczy interfejsu APIZabezpieczanie interfejsu API za pomocą OAuth.

Porównanie API Analytics z API Monitoring

Możesz korzystać zarówno z monitorowania interfejsu API Edge, jak i z analityki interfejsu API. Monitorowanie interfejsów API analizuje dane analityczne, aby dostarczać w czasie rzeczywistym kontekstowe statystyki dotyczące wydajności interfejsów API. Umożliwia to szybkie diagnozowanie problemów i podejmowanie działań naprawczych w celu zapewnienia ciągłości biznesowej. Monitorowanie interfejsów API zostało zaprojektowane z myślą o szybkim znajdowaniu problematycznych miejsc w interfejsach API i backendach. Usługa API Analytics została zaprojektowana tak, aby rejestrować szeroki zakres danych analitycznych, z których może korzystać kilka różnych zespołów. Dane te są jednak zwykle używane do analizy w scenariuszach innych niż w czasie rzeczywistym.

Jedną z głównych różnic między monitorowaniem interfejsu API a analityką interfejsu API jest mechanizm alertów wbudowany w monitorowanie interfejsu API. W przypadku alertów możesz określić kod stanu HTTP (2xx/4xx/5xx), opóźnienie lub kod błędu, którego przekroczenie spowoduje wysłanie powiadomienia o alercie do zespołu operacyjnego. Powiadomienia o alertach mogą być wysyłane różnymi kanałami, takimi jak e-mail, Slack, pagery czy webhooki, co pozwala natychmiast reagować na problemy.

Szczegółowe porównanie tych usług znajdziesz w artykule Porównanie monitorowania interfejsów API z analityką interfejsów API Edge.

Więcej informacji