Zasada Statystyki Statystyki

Wyświetlasz dokumentację Apigee Edge.
Przejdź do dokumentacji Apigee X.
info

Co

Umożliwia zbieranie statystyk dotyczących danych w wiadomości, takich jak identyfikator produktu, cena, działanie REST , adres URL klienta i docelowy oraz długość wiadomości. Dane mogą pochodzić ze zmiennych przepływu zdefiniowanych przez Apigee lub ze zmiennych niestandardowych zdefiniowanych przez Ciebie.

Dane statystyczne są przekazywane na serwer Analytics, który analizuje statystyki i generuje raporty. Raporty możesz wyświetlać za pomocą interfejsu zarządzania Edge lub interfejsu Edge API.

Przykłady

Podstawowy przykład

<StatisticsCollector name="publishPurchaseDetails">
  <Statistics>
    <Statistic name="productID" ref="product.id" type="string">999999</Statistic>
    <Statistic name="price" ref="product.price" type="string">0</Statistic>
  </Statistics>
</StatisticsCollector>

W tym przykładzie zbierasz informacje statystyczne o 2 zmiennych niestandardowych: product.id i product.price. Przy każdym żądaniu zasada Statistics Collector zapisuje wartość tych 2 zmiennych na serwerze Analytics.

W tym przykładzie ustawia się też opcjonalną wartość domyślną każdej zmiennej. Wartość domyślna zmiennej product.id to 999999, a zmiennej product.price – 0. Jeśli zmienna jest niezdefiniowana i nie określisz wartości domyślnej, nie zostaną zarejestrowane żadne dane dotyczące tej zmiennej. Jeśli określisz wartość domyślną, zostanie ona zarejestrowana, gdy zmienna będzie niezdefiniowana.

Po zebraniu danych statystycznych możesz je pobrać za pomocą interfejsu zarządzania Edge lub interfejsu API do pobrania statystyk. Podczas pobierania statystyk odwołujesz się do danych zebranych dla tych zmiennych odpowiednio jako productID i price.

Dostęp do statystyk

W tym przykładzie używasz interfejsu Edge Management API, aby wyświetlić dane statystyczne dotyczące kolekcji o nazwie productID. To żądanie tworzy raport niestandardowy dotyczący identyfikatorów produktów na podstawie sumy liczby wiadomości przesłanych dla każdego identyfikatora produktu w każdym dniu. Zastąp nazwę organizacji zmienną {org_name}, a adres e-mail i hasło do konta w Apigee Edge – ciągiem email:password.

Ustaw parametr timeRange, aby uwzględnić przedział czasu, w którym zostały zebrane dane. Domyślnie nie można uzyskać dostępu do danych starszych niż 6 miesięcy od bieżącej daty. Jeśli chcesz uzyskać dostęp do danych starszych niż 6 miesięcy, skontaktuj się z zespołem pomocy Apigee Edge.

$ curl https://api.enterprise.apigee.com/v1/o/{org_name}/environments/test/stats/productID?"select=sum(message_count)&timeRange=1/19/2015%2000:00~6/21/2015%2000:00&timeUnit=day"
-u email:password

W odpowiedzi pole name zawiera identyfikator produktu, a pole value – liczbę żądań w każdym dniu:

{
  "environments" : [ {
    "dimensions" : [ {
      "metrics" : [ {
        "name" : "sum(message_count)",
        "values" : [ {
          "timestamp" : 1353369600000,
          "value" : "4.0"
        } ]
      } ],
      "name" : "52"
    }, {
      "metrics" : [ {
        "name" : "sum(message_count)",
        "values" : [ {
          "timestamp" : 1353369600000,
          "value" : "19.0"
        } ]
      } ],
      "name" : "14"
    }, ...
  } ],
  "metaData" : {
    "samplingRate" : "100"
  }
}

Wyodrębnianie danych do kolekcji

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="false" enabled="true" name="GetWeatherData">
    <VariablePrefix>weather</VariablePrefix>
    <XMLPayload>
       <Namespaces>
          <Namespace prefix="yweather">http://xml.weather.yahoo.com/ns/rss/1.0</Namespace>
       </Namespaces>
       <Variable name="location" type="string">
          <XPath>/rss/channel/yweather:location/@city</XPath>
       </Variable>
       <Variable name="condition" type="string">
          <XPath>/rss/channel/item/yweather:condition/@text</XPath>
       </Variable>
    </XMLPayload>
</ExtractVariables>

Zasada Statistics Collector wymaga, aby zebrane dane były przechowywane w zmiennych. Te zmienne mogą być predefiniowane przez Apigee lub niestandardowe, zdefiniowane przez Ciebie.

W tym przykładzie używasz zasady Extract Variables, aby wyodrębnić dane z ładunku XML zawierającego informacje o pogodzie. Ta zasada:

  • wyodrębnia nazwę miasta i zapisuje ją w zmiennej o nazwie weather.location;
  • wyodrębnia bieżące warunki i zapisuje je w zmiennej o nazwie weather.condition.

Następnie możesz użyć zasady Statistics Collector, aby zebrać informacje o zmiennych, jak pokazano poniżej:

<StatisticsCollector name="publishPurchaseDetails">
  <Statistics>
    <Statistic name="weatherLocation" ref="weather.location" type="string"></Statistic>
    <Statistic name="weatherCondition" ref="weather.condition" type="string"></Statistic>
  </Statistics>
</StatisticsCollector>

Pełny samouczek pokazujący, jak wyodręczniać dane z ładunku XML na potrzeby zasady Statistics Collector, znajdziesz w artykule Analizowanie treści wiadomości interfejsu API za pomocą niestandardowych statystyk.


Informacje o zasadzie Statistics Collector

Po wykonaniu zasada Statistics Collector rejestruje bieżącą wartość co najmniej 1 zmiennej. Te zmienne mogą być zmiennymi przepływu zdefiniowanymi przez Apigee lub zmiennymi niestandardowymi zdefiniowanymi przez Ciebie. Te dane są zapisywane na serwerze Analytics Edge.

Aby uzyskać dostęp do danych statystycznych zebranych przez zasadę, użyj interfejsu Edge API lub interfejsu zarządzania Edge. Możesz na przykład użyć interfejsu zarządzania Edge, aby utworzyć raport niestandardowy, który będzie wyświetlać zebrane dane w różnych formatach.

Pełny samouczek dotyczący korzystania z zasady Statistics Collector znajdziesz w artykule Analizowanie treści wiadomości interfejsu API za pomocą niestandardowych statystyk.

Gdzie umieścić zasadę

Zasadę Statistics Collector możesz umieścić w przepływie żądania lub odpowiedzi proxy interfejsu API. Jeśli jednak w proxy umieścisz kilka zasad Statistics Collector, o danych zapisywanych na serwerze Analytics decyduje ostatnia z nich, a dane zapisane przez poprzednie zasady Statistics Collector zostaną utracone.

Możesz mieć kilka zasad Statistics Collector w proxy interfejsu API, jeśli masz jedną w przepływie żądania lub odpowiedzi, a drugą w obsłudze błędów. Jeśli w proxy interfejsu API wystąpi błąd, o zebranych danych decyduje zasada Statistics Collector w obsłudze błędów. Możesz użyć tej zasady Statistics Collector, aby zarejestrować informacje o błędzie lub zarejestrować inne informacje, które uznasz za niezbędne. Zasada Statistics Collector w obsłudze błędów decyduje o zebranych danych niezależnie od tego, czy zasada Statistics Collector w żądaniu lub odpowiedzi została już wykonana.

Więcej informacji znajdziesz w artykule Obsługa błędów.

Dokumentacja elementów

Dokumentacja elementów zawiera opis elementów i atrybutów zasady Statistics Collector policy.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<StatisticsCollector async="false" continueOnError="false" enabled="true" name="Statistics-Collector-1">
    <DisplayName>Statistics Collector 1</DisplayName>
    <Statistics>
        <Statistic name="statName" ref="varName" type="refDataType">defaultStatValue</Statistic>
    </Statistics>
</StatisticsCollector>

Atrybuty elementu <StatisticsCollector>

<StatisticsCollector async="false" continueOnError="false" enabled="true" name="Stats-1">

W tej tabeli opisano atrybuty wspólne dla wszystkich elementów nadrzędnych zasad:

Atrybut Opis Domyślny Obecność
name

Wewnętrzna nazwa zasady. Wartość atrybutu name może zawierać litery, cyfry, spacje, łączniki, podkreślenia i kropki. Ta wartość nie może przekracza 255 znaków.

Opcjonalnie możesz użyć elementu <DisplayName> do oznaczenia zasady jako edytor proxy interfejsu zarządzania z inną nazwą w języku naturalnym.

Nie dotyczy Wymagane
continueOnError

Ustaw jako false, aby w przypadku niepowodzenia zasady zwracany był błąd. To normalne w przypadku większości zasad.

Ustaw jako true, aby wykonywanie przepływu było kontynuowane nawet po zastosowaniu zasady niepowodzenie.

fałsz Opcjonalnie
enabled

Aby egzekwować zasadę, ustaw wartość true.

Aby wyłączyć zasadę, ustaw wartość false. Te zasady nie będą jest wymuszane nawet wtedy, gdy jest ono połączone z przepływem.

prawda Opcjonalnie
async

Ten atrybut został wycofany.

fałsz Wycofano

&lt;DisplayName&gt; element

Używaj oprócz atrybutu name do oznaczania zasady w edytor proxy interfejsu zarządzania z inną nazwą w języku naturalnym.

<DisplayName>Policy Display Name</DisplayName>
Domyślny

Nie dotyczy

Jeśli pominiesz ten element, atrybut name zasady otrzyma wartość .

Obecność Opcjonalnie
Typ Ciąg znaków

Element <Statistics>/<Statistic>

<Statistics>
    <Statistic name="statName" ref="varName" type="refDataType">defaultStatValue</Statistic>
</Statistics>
Atrybut Opis Domyślny Obecność
name

Nazwa używana do odwoływania się do danych zebranych dla określonej zmiennej. Podczas wyświetlania danych Analytics użyj tej nazwy, aby odwołać się do danych zebranych o zmiennej określonej przez atrybut ref.

Jeśli zmienna określona przez ref jest niezdefiniowana w żądaniu lub odpowiedzi, to defaultStatValue określa wartość zebraną dla tej zmiennej. Jeśli pominiesz wartość domyślną, w przypadku niezdefiniowanej zmiennej nie zostaną zebrane żadne dane dla zmiennej.

Ograniczenia dotyczące nazw

W przypadku zmiennych niestandardowych statystyk obowiązują te ograniczenia dotyczące nazw:

  • Nazwy mogą zawierać te znaki: a–z, 0–9, _ (podkreślenie).
  • Nazwy nie mogą zawierać spacji.
  • Nazwy nie mogą być równe dsi, response_time, timekey, ani timestamp.
  • Wielkość liter jest ignorowana.
  • Nie możesz używać nazwy żadnej predefiniowanej danej, wymiaru ani filtra Analytics wymienionych w artykule Dane, wymiary i filtry Analytics.
  • Oprócz powyższych ograniczeń nie są też dozwolone słowa kluczowe wymienione na tej stronie:
    https://www.postgresql.org/docs/8.1/static/sql-keywords-appendix.html
Nie dotyczy Wymagane
ref

Zmienna przepływu, dla której zbierasz statystyki. Ta zmienna może być zmienną przepływu zmienną zdefiniowaną przez Apigee lub zmienną niestandardową zdefiniowaną w proxy interfejsu API.

Atrybut ref często odwołuje się do zmiennej niestandardowej zdefiniowanej przez zasadę Extract Variables policy. Więcej informacji znajdziesz w artykule Zasada Extract Variables policy.

Nie dotyczy Wymagane
type

Określa typ danych zmiennej określonej przez atrybut ref. Prawidłowe wartości to: string, integer, float, long, double, boolean.

W przypadku danych typu string odwołuj się do danych statystycznych jako Wymiar w raporcie niestandardowym. W przypadku numerycznych typów danych (integer, float, long, double) odwołuj się do danych statystycznych w raporcie niestandardowym jako Wymiar lub Dane. Więcej informacji znajdziesz w artykule Zarządzanie raportami niestandardowymi.

Wartość atrybutu type można pominąć tylko wtedy, gdy atrybut ref odwołuje się do predefiniowanej zmiennej przepływu Apigee lub typ jest zadeklarowany w ładunku XML zasady Extract Variables policy.

tekst Opcjonalny

Dokumentacja błędów

W tej sekcji opisaliśmy komunikaty o błędach i zmienne przepływu, które są ustawiane, gdy ta zasada powoduje błąd. Te informacje są ważne, jeśli tworzysz reguły błędów dla serwera proxy. Więcej informacji znajdziesz w artykułach Więcej informacji o błędach związanych z naruszeniem zasadRozwiązywanie problemów.

Błędy w czasie wykonywania

Brak.

Błędy wdrażania

Nazwa błędu Przyczyna Napraw
UnsupportedDatatype Jeśli typ zmiennej określony przez atrybut ref w elemencie <Statistic> zasad Zbierania statystyk nie jest obsługiwany, wdrożenie serwera proxy interfejsu API zakończy się niepowodzeniem. Obsługiwane typy danych: string, integer, float, long, double i boolean.
InvalidName Jeśli nazwa używana do odwoływania się do danych zebranych dla określonej zmiennej zdefiniowanej w elemencie <Statistic> w zasadach Zbierania statystyk jest niezgodna ze zmienną zdefiniowaną przez system, wdrożenie serwera proxy interfejsu API się nie powiedzie. Niektóre znane zmienne zdefiniowane w systemie to organizationenvironment.
DatatypeMissing Jeśli brakuje typu zmiennej określonego przez atrybut ref w elemencie <Statistic> zasady Zbierania statystyk, wdrożenie serwera proxy interfejsu API się nie powiedzie.

Zmienne błędów

Brak.

Schemat

Każdy typ zasady jest zdefiniowany przez schemat XML (.xsd). Schematy zasad są dostępne na GitHubie.

Powiązane artykuły

Więcej informacji znajdziesz w tych artykułach: