Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację
Apigee X. info
Usługa Edge API Analytics zbiera i analizuje wiele informacji statystycznych z każdego żądania do interfejsu API i odpowiedzi. Te informacje są zbierane automatycznie i mogą być wyświetlane w interfejsie Edge lub za pomocą interfejsu Metrics API. Więcej informacji o tych statystykach znajdziesz w artykule Dane i wymiary.
Możesz też zbierać niestandardowe dane analityczne dotyczące serwerów proxy interfejsu API, aplikacji, usług lub deweloperów. Możesz na przykład zbierać dane z parametrów zapytania, nagłówków żądań, treści żądań i odpowiedzi lub zmiennych zdefiniowanych w interfejsach API.
Z tego artykułu dowiesz się, jak używać zasady StatisticsCollector do wyodrębniania niestandardowych danych analitycznych z żądania do interfejsu API lub odpowiedzi i przekazywania tych danych do usługi Edge API Analytics. Następnie pokażemy, jak wyświetlać dane analityczne w raporcie w interfejsie Edge lub za pomocą interfejsu Edge API.
Interfejs Google Book API
Ten temat opisuje, jak przechwytywać niestandardowe dane analityczne z żądań serwera proxy interfejsu API do interfejsu API Książek Google. Interfejs API Książek Google umożliwia wyszukiwanie książek według tytułu, tematu, autora i innych cech.
Możesz na przykład wysyłać żądania do punktu końcowego /volumes, aby wyszukiwać według tytułu książki.
Przekaż do interfejsu Books API pojedynczy parametr zapytania zawierający tytuł książki:
curl https://www.googleapis.com/books/v1/volumes?q=davinci%20code
Wywołanie zwraca tablicę JSON znalezionych elementów, które pasują do kryteriów wyszukiwania. Poniżej znajdziesz pierwszy element tablicy w odpowiedzi (pamiętaj, że niektóre treści zostały pominięte dla uproszczenia):
{ "kind": "books#volumes", "totalItems": 1799, "items": [ { "kind": "books#volume", "id": "ohZ1wcYifLsC", "etag": "4rzIsMdBMYM", "selfLink": "https://www.googleapis.com/books/v1/volumes/ohZ1wcYifLsC", "volumeInfo": { "title": "The Da Vinci Code", "subtitle": "Featuring Robert Langdon", "authors": [ "Dan Brown" ], "publisher": "Anchor", "publishedDate": "2003-03-18", "description": "MORE THAN 80 MILLION COPIES SOLD ....", "industryIdentifiers": [ { "type": "ISBN_10", "identifier": "0385504217" }, { "type": "ISBN_13", "identifier": "9780385504218" } ], "readingModes": { "text": true, "image": true }, "pageCount": 400, "printType": "BOOK", "categories": [ "Fiction" ], "averageRating": 4.0, "ratingsCount": 710, "maturityRating": "NOT_MATURE", "allowAnonLogging": true, "contentVersion": "0.18.13.0.preview.3", "panelizationSummary": { "containsEpubBubbles": false, "containsImageBubbles": false }, ... "accessInfo": { "country": "US", "viewability": "PARTIAL", "embeddable": true, "publicDomain": false, "textToSpeechPermission": "ALLOWED_FOR_ACCESSIBILITY", "epub": { "isAvailable": true, "acsTokenLink": "link" }, "pdf": { "isAvailable": true, "acsTokenLink": "link" }, ... } }
Zwróć uwagę, że wyróżniono kilka obszarów odpowiedzi:
- Liczba wyników wyszukiwania
- Średnia ocena książki
- Liczba ocen
- Dostępność wersji książki w formacie PDF
W sekcjach poniżej dowiesz się, jak zbierać statystyki dotyczące tych obszarów odpowiedzi, a także parametru zapytania q zawierającego kryteria wyszukiwania.
Tworzenie serwera proxy interfejsu API dla interfejsu Google Book API
Zanim zaczniesz zbierać statystyki dotyczące interfejsu Google Book API, musisz utworzyć serwer proxy interfejsu Edge API, który będzie go wywoływać. Następnie wywołaj ten serwer proxy interfejsu API, aby wysyłać żądania do interfejsu Google Book API.
Krok 2: tworzenie serwera proxy interfejsu API w samouczku dotyczącym tworzenia serwera proxy interfejsu API opisano, jak utworzyć serwer proxy, który wywołuje interfejs https://mocktarget.apigee.net API. Zwróć uwagę, że serwer proxy opisany w tym samouczku nie wymaga klucza interfejsu API do wywołania.
Użyj tej samej procedury, aby utworzyć serwer proxy interfejsu API dla punktu końcowego /volumes interfejsu Google Book API. W kroku 5 procedury, podczas tworzenia serwera proxy interfejsu API, ustaw te właściwości, aby odwoływać się do interfejsu API Książek Google:
- Nazwa serwera proxy: "mybooksearch"
- Podstawowa ścieżka serwera proxy: "/mybooksearch"
- Istniejący interfejs API: "https://www.googleapis.com/books/v1/volumes"
Po utworzeniu i wdrożeniu serwera proxy powinno być możliwe jego wywołanie za pomocą polecenia curl w tym formacie:
curl http://org_name-env_name.apigee.net/mybooksearch?q=davinci%20code
gdzie org_name i env_name określają organizację i środowisko, w których został wdrożony serwer proxy. Na przykład:
curl http://myorg-test.apigee.net/mybooksearch?q=davinci%20code
Zbieranie niestandardowych danych analitycznych
Zbieranie danych analitycznych z żądania do interfejsu API to procedura dwuetapowa:
Wyodrębnij interesujące Cię dane i zapisz je w zmiennej.
Wszystkie dane przekazywane do usługi Edge API Analytics pochodzą z wartości przechowywanych w zmiennych. Niektóre dane są automatycznie przechowywane w predefiniowanych zmiennych flow Edge, np. wartości parametrów zapytania przekazywanych do serwera proxy interfejsu API. Więcej informacji o predefiniowanych zmiennych przepływu znajdziesz w artykule Omówienie zmiennych przepływu.
Użyj zasady Extract Variables do wyodrębnienia niestandardowych treści z żądania lub odpowiedzi i zapisania tych danych w zmiennej.
Zapisz dane ze zmiennej w usłudze Edge API Analytics.
Użyj zasady Statistics Collector do zapisania danych ze zmiennej w usłudze Edge API Analytics. Dane mogą pochodzić z predefiniowanych zmiennych przepływuEdge, lub zmiennych utworzonych przez zasadę Extract Variables.
Po zebraniu danych statystycznych możesz użyć interfejsu zarządzania Edge lub interfejsu API, aby pobrać i filtrować statystyki. Możesz na przykład wygenerować raport niestandardowy, który pokazuje średnią ocenę każdej książki, gdzie tytuł książki odpowiada wartości parametru zapytania przekazanego do interfejsu API.
Używanie zasady Extract Variables do wyodrębniania danych analitycznych
Zanim dane analityczne zostaną przekazane do usługi API Analytics, muszą zostać wyodrębnione i zapisane w zmiennej – zmiennej przepływu predefiniowanej przez Edge lub zmiennej niestandardowej zdefiniowanej przez Ciebie. Aby zapisać dane w zmiennej, użyj zasady Extract Variables.
Zasada Extract Variables może analizować ładunki wiadomości za pomocą wyrażeń JSONPath lub XPath.
Aby wyodrębnić informacje z wyników wyszukiwania JSON interfejsu Google Book API, użyj wyrażenia JSONPath.
Aby na przykład wyodrębnić wartość averageRating z pierwszego elementu tablicy wyników JSON, użyj tego wyrażenia JSONPath:
$.items[0].volumeInfo.averageRating
Po obliczeniu wyrażenia JSONPath zasada Extract Variables zapisuje wyodrębnioną wartość w zmiennej.
W tym przykładzie użyjesz zasady Extract Variables, aby utworzyć 4 zmienne:
responsejson.totalitemsresponsejson.ratingscountresponsejson.avgratingresponsejson.pdf
W przypadku tych zmiennych responsejson jest prefiksem zmiennej, a totalitems,
ratingscount, avgrating i pdf to nazwy zmiennych.
Zasada Extract Variables poniżej pokazuje, jak wyodrębnić dane z odpowiedzi JSON i zapisać je w zmiennych niestandardowych. Każdy element <Variable> używa atrybutu name, który
określa nazwę zmiennych niestandardowych i powiązane z nimi wyrażenie JSONPath.
Element <VariablePrefix> określa prefiks zmiennej.
Dodaj tę zasadę do serwera proxy interfejsu API w interfejsie Edge. Jeśli tworzysz serwer proxy interfejsu API w formacie XML, dodaj zasadę do pliku w katalogu /apiproxy/policies o nazwie ExtractVars.xml:
<ExtractVariables name="ExtractVars"> <Source>response</Source> <JSONPayload> <Variable name="totalitems"> <JSONPath>$.totalItems</JSONPath> </Variable> <Variable name="ratingscount"> <JSONPath>$.items[0].volumeInfo.ratingsCount</JSONPath> </Variable> <Variable name="avgrating"> <JSONPath>$.items[0].volumeInfo.averageRating</JSONPath> </Variable> <Variable name="pdf"> <JSONPath>$.items[0].accessInfo.pdf.isAvailable</JSONPath> </Variable> </JSONPayload> <VariablePrefix>responsejson</VariablePrefix> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> </ExtractVariables>
Używanie zasady Statistics Collector do zapisywania danych w usłudze Analytics
Użyj zasady Statistics Collector , aby zapisać dane ze zmiennej w usłudze Edge API Analytics. Zasada Statistics Collector ma taką postać:
<StatisticsCollector> <DisplayName>Statistics Collector-1</DisplayName> <Statistics> <Statistic name="statName" ref="varName" type="dataType">defVal</Statistic> … </Statistics> </StatisticsCollector>
gdzie:
- statName określa nazwę, której używasz do odwoływania się do danych statystycznych w raporcie niestandardowym.
- varName określa nazwę zmiennej zawierającej dane analityczne do zebrania. Ta zmienna może być wbudowana w Edge lub może to być zmienna niestandardowa utworzona przez zasadę Extract Variables.
dataType określa typ danych zarejestrowanych danych jako ciąg znaków, liczbę całkowitą, liczbę zmiennoprzecinkową, liczbę długą, liczbę podwójną lub wartość logiczną.
W przypadku danych typu ciąg znaków odwołujesz się do danych statystycznych jako wymiaru w raporcie niestandardowym. W przypadku numerycznych typów danych (liczba całkowita, liczba zmiennoprzecinkowa, liczba długa, liczba podwójna) odwołujesz się do danych statystycznych jako wymiaru lub danych w raporcie niestandardowym.
- defValue opcjonalnie podaj wartość domyślną zmiennej niestandardowej, która jest wysyłana do usługi API Analytics, jeśli nie można rozpoznać zmiennych lub zmienna jest niezdefiniowana.
W przykładzie poniżej użyjesz zasady Statistics Collector, aby zbierać dane dotyczące zmiennych utworzonych przez zasadę Extract Variables. Zbierzesz też wartość parametru zapytania przekazanego do każdego wywołania interfejsu API. Odwołuj się do parametrów zapytania za pomocą predefiniowanej zmiennej przepływu:
request.queryparam.queryParamName
W przypadku parametru zapytania o nazwie „q” odwołuj się do niego w ten sposób:
request.queryparam.q
Dodaj tę zasadę do serwera proxy interfejsu API w interfejsie Edge lub, jeśli tworzysz serwer proxy interfejsu API w formacie XML,
dodaj plik w katalogu/apiproxy/policies o nazwie AnalyzeBookResults.xml, z tą zawartością:
<StatisticsCollector name="AnalyzeBookResults"> <Statistics> <Statistic name="totalitems" ref="responsejson.totalitems" type="integer">0</Statistic> <Statistic name="ratingscount" ref="responsejson.ratingscount" type="integer">0</Statistic> <Statistic name="avgrating" ref="responsejson.avgrating" type="float">0.0</Statistic> <Statistic name="pdf" ref="responsejson.pdf" type="boolean">true</Statistic> <Statistic name="booktitle" ref="request.queryparam.q" type="string">none</Statistic> </Statistics> </StatisticsCollector>
Dołączanie zasad do przepływu odpowiedzi ProxyEndpoint
Aby wszystko działało prawidłowo, zasady muszą być dołączone do przepływu serwera proxy interfejsu API w odpowiednim miejscu. W tym przypadku zasady muszą być wykonywane po otrzymaniu odpowiedzi z interfejsu Google Book API i przed wysłaniem odpowiedzi do klienta wysyłającego żądanie. Dlatego dołącz zasady do PreFlow odpowiedzi ProxyEndpoint.
Przykładowa konfiguracja ProxyEndpoint poniżej najpierw wykonuje zasadę o nazwie ExtractVars, aby przeanalizować wiadomość z odpowiedzią. Zasada o nazwie AnalyzeBookResults przekazuje te wartości do usługi API Analytics:
<ProxyEndpoint name="default">
><PreFlow name="PreFlow">
<Request/>
<Response>
<Step>
<Name>Extract-Vars</Name>
</Step>
<Step>
<Name>AnalyzeBookResults</Name>
</Step>
</Response>
</PreFlow>
<HTTPProxyConnection>
<!-- Base path used to route inbound requests to this API proxy -->
<BasePath>/mybooksearch</BasePath>
<!-- The named virtual host that defines the base URL for requests to this proxy -->
<VirtualHost>default</VirtualHost>
</HTTPProxyConnection>
<RouteRule name="default">
<!-- Connects the proxy to the target defined under /targets -->
<TargetEndpoint>default</TargetEndpoint>
</RouteRule>
</ProxyEndpoint>Wdrażanie serwera proxy interfejsu API
Po wprowadzeniu tych zmian musisz wdrożyć skonfigurowany serwer proxy interfejsu API.
Wypełnianie danych analitycznych
Po wdrożeniu serwera proxy interfejsu API wywołaj go, aby wypełnić dane w usłudze API Analytics. Możesz to zrobić, uruchamiając te polecenia, z których każde używa innego tytułu książki:
Mobey Dick:
curl https://org_name-env_name.apigee.net/mybooksearch?q=mobey%20dick
Kod Leonarda da Vinci:
curl https://org_name-env_name.apigee.net/mybooksearch?q=davinci%20code
Zaginiona dziewczyna:
curl https://org_name-env_name.apigee.net/mybooksearch?q=gone%20girl
Gra o tron:
curl https://org_name-env_name.apigee.net/mybooksearch?q=game%20of%20thrones
Wyświetlanie danych analitycznych
Edge umożliwia wyświetlanie niestandardowych danych analitycznych na 2 sposoby:
- Interfejs Edge obsługuje raporty niestandardowe, które umożliwiają wyświetlanie danych na wykresie.
- Interfejs Metrics API umożliwia pobieranie danych analitycznych przez wywoływanie interfejsu Edge API za pomocą wywołań REST. Za pomocą interfejsu API możesz tworzyć własne wizualizacje w postaci widżetów niestandardowych, które możesz umieszczać w portalach lub aplikacjach niestandardowych.
Generowanie raportu statystyk za pomocą interfejsu Edge
Raporty niestandardowe umożliwiają szczegółowe analizowanie statystyk interfejsu API, aby wyświetlać dokładnie te dane, które chcesz zobaczyć. Raport niestandardowy możesz utworzyć, używając dowolnych danych i wymiarów wbudowanych w Edge. Możesz też użyć dowolnych danych analitycznych wyodrębnionych za pomocą zasady StatisticsCollector.
Podczas tworzenia zasady Statistics Collector określasz typ danych zebranych. W przypadku typu danych ciąg znaków odwołuj się do danych statystycznych jako wymiaru w raporcie niestandardowym. W przypadku numerycznych typów danych (liczba całkowita, liczba zmiennoprzecinkowa, liczba długa, liczba podwójna) odwołuj się do daty statystycznej w raporcie niestandardowym jako wymiaru lub danych. Więcej informacji znajdziesz w artykule Zarządzanie raportami niestandardowymi.
Generowanie raportu niestandardowego za pomocą interfejsu Edge:
- Otwórz stronę Raporty niestandardowe, jak opisano poniżej.
Edge
Aby otworzyć stronę Raporty niestandardowe w interfejsie Edge:
- Zaloguj się na apigee.com/edge.
- Na pasku nawigacyjnym po lewej stronie kliknij kolejno Analiza > Raporty niestandardowe > Raporty.
Classic Edge (Private Cloud)
Aby otworzyć stronę Raporty niestandardowe w interfejsie Classic Edge:
- Zaloguj się na
http://ms-ip:9000, gdzie ms-ip to adres IP lub nazwa DNS węzła serwera zarządzania. Na górnym pasku nawigacyjnym kliknij kolejno Analtyics > Reports.
- Na stronie Raporty niestandardowe kliknij +Raport niestandardowy.
- Podaj Nazwę raportu, np. mybookreport.
Wybierz wbudowane dane, np. Ruch, i funkcję agregującą, np. Suma.
Możesz też wybrać jedną ze statystyk danych liczbowych utworzonych za pomocą zasady StatisticsCollector. Na przykład wybierz ratingscount i funkcję agregującą Suma.
Wybierz wbudowany wymiar, np. Serwer proxy interfejsu API, lub dowolne statystyki ciągów znaków lub liczb utworzone za pomocą zasady StatisticsCollector.
Na przykład wybierz booktitle. Raport będzie teraz wyświetlać sumę ratingscount według booktitle:

- Kliknij Zapisz. Raport pojawi się na liście wszystkich raportów niestandardowych.
Aby uruchomić raport, kliknij jego nazwę. Domyślnie raport zawiera dane z ostatniej godziny.
- Aby ustawić zakres czasu, w prawym górnym rogu kliknij wyświetlaną datę, aby otworzyć okno Selektor daty.
Kliknij Ostatnie 7 dni. Raport zostanie zaktualizowany i będzie wyświetlać sumę ocen według tytułu książki:

Pobieranie statystyk za pomocą interfejsu Edge API
Użyj interfejsu Edge Metrics API , aby uzyskać statystyki dotyczące niestandardowych danych analitycznych. W przykładowym żądaniu poniżej:
- Zasób do adresu URL po
/statsokreśla żądany wymiar. W tym przykładzie uzyskasz dane dotyczące wymiarubooktitle. - Parametr zapytania
selectokreśla dane do pobrania. To żądanie zwraca dane analityczne na podstawie sumyratingscount. Parametr
timeRangeokreśla przedział czasu dla zwracanych danych. Zakres czasu ma format:MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM
Pełne wywołanie interfejsu API:
curl -X GET "https://api.enterprise.apigee.com/v1/organizations/org_name/environments/env_name/stats/booktitle?select=sum(ratingscount)&timeRange=04/21/2019&2014:00:00~04/22/2019&2014:00:00" / -u email:password
Powinna pojawić się odpowiedź w tym formacie:
{
"environments": [
{
"dimensions": [
{
"metrics": [
{
"name": "sum(ratingscount)",
"values": [
"5352.0"
]
}
],
"name": "gone girl"
},
{
"metrics": [
{
"name": "sum(ratingscount)",
"values": [
"4260.0"
]
}
],
"name": "davinci code"
},
{
"metrics": [
{
"name": "sum(ratingscount)",
"values": [
"1836.0"
]
}
],
"name": "game of thrones"
},
{
"metrics": [
{
"name": "sum(ratingscount)",
"values": [
"1812.0"
]
}
],
"name": "mobey dick"
}
],
"name": "prod"
}
],
"metaData": {
"errors": [],
"notices": [
"query served by:9b372dd0-ed30-4502-8753-73a6b09cc028",
"Table used: uap-prod-gcp-us-west1.edge.edge_api_raxgroup021_fact",
"Source:Big Query"
]
}
}Interfejs Edge Metrics API ma wiele opcji. Możesz na przykład sortować wyniki rosnąco lub malejąco. W tym przykładzie użyjesz kolejności rosnącej:
curl -X GET "https://api.enterprise.apigee.com/v1/organizations/org_name/environments/env_name/stats/booktitle?select=sum(ratingscount)&timeRange=04/21/2019&2014:00:00~04/22/2019&2014:00:00&sort=ASC" / -u email:password
Wyniki można też filtrować, określając wartości interesujących Cię wymiarów. W przykładzie poniżej raport jest filtrowany według wyników dla "Zaginiona dziewczyna" i "Kod Leonarda da Vinci":
$ curl -X GET "https://api.enterprise.apigee.com/v1/organizations/org_name/environments/env_name/stats/booktitle?select=sum(ratingscount)&timeRange=04/21/2019&2014:00:00~04/22/2019&2014:00:00&filter=(booktitle%20in%20'gone%20girl'%2C%20'davinci%20code')" / -u email:password
Tworzenie niestandardowych zmiennych analitycznych za pomocą narzędzia Solution Builder
Narzędzie Solution Builder umożliwia tworzenie niestandardowych zmiennych analitycznych za pomocą łatwego w użyciu okna zarządzania.
Możesz przeczytać poprzednią sekcję Zbieranie niestandardowych danych analitycznych, w której wyjaśniono, jak zasady Extract Variables i Statistics Collector współpracują ze sobą aby przekazywać zmienne niestandardowe do usługi Edge API Analytics. Jak zobaczysz, interfejs użytkownika działa w ten sam sposób, ale umożliwia wygodne konfigurowanie wszystkiego w interfejsie. Jeśli chcesz, wypróbuj przykład interfejsu Książek Google API, używając interfejsu zamiast ręcznego edytowania i dołączania zasad.
Okno Solution Builder umożliwia konfigurowanie zmiennych analitycznych bezpośrednio w interfejsie. To narzędzie generuje zasady i dołącza je do serwera proxy interfejsu API. Zasady wyodrębniają interesujące Cię zmienne z żądań lub odpowiedzi i przekazują je do usługi Edge API Analytics.
Narzędzie Solution Builder tworzy nowe zasady Extract Variables i Statistics Collector oraz nadaje im unikalne nazwy. Narzędzie Solution Builder nie pozwala na powrót i zmianę tych zasad po ich utworzeniu w danej wersji serwera proxy. Aby wprowadzić zmiany, edytuj wygenerowane zasady bezpośrednio w edytorze zasad.
- W interfejsie Edge otwórz stronę Przegląd serwera proxy.
- Kliknij Twórz.
- Na stronie Twórz w menu Narzędzia kliknij Niestandardowe zbieranie danych analitycznych. Wyświetli się okno Solution Builder.
- W oknie Solution Builder najpierw skonfiguruj 2 zasady: Extract Variables i Statistics Collector. Następnie skonfiguruj, gdzie dołączyć te zasady.
- Określ dane, które chcesz wyodrębnić:
- Typ lokalizacji: wybierz typ danych, które chcesz zbierać, i miejsce, z którego chcesz je zbierać. Możesz wybrać dane z żądania lub odpowiedzi. Na przykład, Żądanie: parametr zapytania lub Odpowiedź: treść XML.
- Źródło lokalizacji: określ dane, które chcesz zebrać. Na przykład, nazwa parametru zapytania lub XPath dla danych XML w treści odpowiedzi.
- Określ nazwę (i typ) zmiennej, której zasada Statistics Collector policy
będzie używać do identyfikowania wyodrębnionych danych. Zapoznaj się z ograniczeniami dotyczącymi nazewnictwa w tym artykule.
Użyta nazwa pojawi się w menu rozwijanym Wymiary lub Dane w interfejsie kreatora raportów niestandardowych. - Wybierz miejsce w przepływie serwera proxy interfejsu API, w którym chcesz dołączyć wygenerowane zasady Extract Variables i Statistics Collector. Wskazówki znajdziesz w artykule „Dołączanie zasad do przepływu odpowiedzi ProxyEndpoint”. Aby wszystko działało prawidłowo, zasady muszą być dołączone do przepływu serwera proxy interfejsu API w odpowiednim miejscu. Zasady musisz dołączyć na etapie przepływu, w którym zmienne, które przechwytujesz, są w zakresie (wypełnione).
- Aby dodać więcej zmiennych niestandardowych, kliknij +Kolektor.
Gdy skończysz, kliknij Utwórz rozwiązanie.

- Zapisz i wdróż serwer proxy.
Możesz teraz wygenerować raport niestandardowy dotyczący danych, jak opisano powyżej.