StatisticsCollector-Richtlinie

Sie sehen sich die Apigee Edge-Dokumentation an.
Sehen Sie sich die Apigee X-Dokumentation an.

Was

Ermöglicht Ihnen, Statistiken für Daten in einer Nachricht zu erfassen, z. B. Produkt-ID, Preis, REST-Aktion, Client- und Ziel-URL und Nachrichtenlänge. Die Daten können aus von Apigee vordefinierten Flussvariablen oder von Ihnen definierten benutzerdefinierten Variablen stammen.

Die Statistikdaten werden an den Analyseserver übergeben, der die Statistiken analysiert und Berichte generiert. Sie können die Berichte über die Edge-Verwaltungs-UI oder die Edge API aufrufen.

Samples

Einfaches Beispiel

<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>

In diesem Beispiel erfassen Sie statistische Informationen über zwei benutzerdefinierte Variablen: product.id und product.price. Bei jeder Anfrage schreibt die Statistics Collector-Richtlinie den Wert dieser beiden Variablen an den Analyseserver.

In diesem Beispiel wird auch ein optionaler Standardwert für jede Variable festgelegt, wobei der Standardwert für product.id 999999 ist und der Standardwert product.price 0 ist. Wenn eine Variable nicht definiert ist und Sie keinen Standardwert angeben, werden für die Variable keine Daten aufgezeichnet. Wenn Sie einen Standardwert angeben, wird der Standardwert aufgezeichnet, wenn die Variable nicht definiert ist.

Nachdem Sie statistische Daten erfasst haben, können Sie die Statistiken über die Edge-Verwaltungs-UI oder -API abrufen. Beim Abrufen der Statistiken verweisen Sie auf die für diese Variablen erfassten Daten als productID bzw. price .

Zugriff auf Statistiken

In diesem Beispiel verwenden Sie die Edge-Verwaltungs-API, um die statistischen Daten für die Sammlung namens productID anzusehen. Durch diese Anfrage wird ein benutzerdefinierter Bericht für Produkt-IDs erstellt, der auf der Summe der für jede Produkt-ID eingereichten Nachrichtenanzahl pro Tag basiert. Ersetzen Sie die Variable {org_name} durch Ihren Organisationsnamen und email:password durch Apigee durch die E-Mail-Adresse und das Passwort für Ihr Konto.

Legen Sie den Parameter timeRange so fest, dass er das Zeitintervall enthält, in dem Ihre Daten erfasst wurden. Daten, die älter als sechs Monate ab dem aktuellen Datum sind, sind standardmäßig nicht verfügbar. Wenn Sie auf Daten zugreifen möchten, die älter als sechs Monate sind, wenden Sie sich an den Apigee Edge-Support.

$ 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

In der Antwort enthält das Feld Name die Produkt-ID und den Wert für die Anzahl der Anfragen pro Tag.

{
  "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"
  }
}

Daten für die Sammlung extrahieren

<?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>

Die Statistik-Collector-Richtlinie verlangt, dass die erhobenen Daten in Variablen gespeichert werden. Diese Variablen können von Apigee vordefiniert oder von Ihnen definierte benutzerdefinierte Variablen sein.

In diesem Beispiel verwenden Sie die Richtlinie „Variablen extrahieren“, um Daten aus einer XML-Nutzlast zu extrahieren, die Wetterinformationen enthalten. Sie erfahren darin,

  • Extrahiert den Namen der Stadt und schreibt ihn in eine Variable namens wetter.location
  • Extrahiert die aktuellen Bedingungen und schreibt sie in eine Variable namens weather.condition

Mit der Richtlinie „Statistics Collector“ können Sie dann Informationen zu den Variablen erfassen, wie unten dargestellt:

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

Ein vollständiges Tutorial zum Extrahieren von Daten aus einer XML-Nutzlast für die Statistik-Collector-Richtlinie finden Sie unter API-Nachrichteninhalte mit benutzerdefinierten Analysen analysieren.


Statistik-Collector-Richtlinie

Bei der Ausführung wird in der Statistics Collector-Richtlinie der aktuelle Wert einer oder mehrerer Variablen aufgezeichnet. Diese Variablen können Flussvariablen sein, die von Apigee vordefinierter oder benutzerdefinierter Variablen sind. Diese Daten werden auf den Edge-Analyseserver geschrieben.

Verwenden Sie die Edge API oder die Edge-Verwaltungs-UI, um auf die von der Richtlinie erhobenen statistischen Daten zuzugreifen. Über die Edge-Verwaltungs-UI können Sie beispielsweise einen benutzerdefinierten Bericht erstellen, in dem die erhobenen Daten in verschiedenen Formaten dargestellt werden.

Ein vollständiges Tutorial zur Verwendung der Statistics Collector-Richtlinie finden Sie unter API-Nachrichteninhalt mit benutzerdefinierten Analysen analysieren.

Richtlinien

Sie können eine Statistik-Collector-Richtlinie in den Anfrage- oder Antwortablauf eines API-Proxys einfügen. Wenn Sie jedoch mehrere Statistics Collector-Richtlinien in einen Proxy einfügen, bestimmt die letzte auszuführende Richtlinie die Daten, die auf den Analyseserver geschrieben werden, und die Daten, die von den vorherigen Statistik-Collector-Richtlinien geschrieben wurden, gehen verloren.

Ein Szenario, in dem Sie möglicherweise mehrere Statistics Collector-Richtlinien in einem API-Proxy haben, ist, wenn Sie eine im Anfragen- oder Antwortfluss und eine andere in einem Fehler-Handler haben. Wenn ein Fehler im API-Proxy auftritt, bestimmt der Statistik-Collector im Fehler-Handler die erfassten Daten. Mit diesem Statistik-Collector können Sie Informationen zum Fehler oder andere Informationen erfassen, die Sie für erforderlich halten. Der Statistik-Collector im Fehler-Handler bestimmt, welche Daten erfasst werden, unabhängig davon, ob der Statistik-Collector in der Anfrage/Antwort bereits ausgeführt wurde.

Weitere Informationen finden sich unter Fehlerbehandlung.

Elementverweis

In der Elementreferenz werden die Elemente und Attribute der Statistik-Collector-Richtlinie beschrieben.

<?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>

Attribute für <StatisticsCollector>

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

In der folgenden Tabelle werden Attribute beschrieben, die für alle übergeordneten Richtlinienelemente gelten:

Attribut Beschreibung Standard Präsenz
name

Der interne Name der Richtlinie. Der Wert des Attributs name kann Buchstaben, Ziffern, Leerzeichen, Bindestriche, Unterstriche und Punkte enthalten. Dieser Wert darf 255 Zeichen nicht überschreiten.

Optional können Sie das Element <DisplayName> verwenden, um die Richtlinie im Proxy-Editor der Verwaltungs-UI mit einem anderen Namen in einer natürlichen Sprache zu versehen.

Erforderlich
continueOnError

Legen Sie false fest, um einen Fehler zurückzugeben, wenn eine Richtlinie fehlschlägt. Dies ist für die meisten Richtlinien das erwartete Verhalten.

Legen Sie true fest, damit die Ablaufausführung auch nach dem Fehlschlagen einer Richtlinie fortgesetzt wird.

falsch Optional
enabled

Setzen Sie den Wert auf true, um die Richtlinie zu erzwingen.

Legen Sie false fest, um die Richtlinie zu deaktivieren. Die Richtlinie wird nicht erzwungen, selbst wenn sie mit einem Ablauf verknüpft ist.

wahr Optional
async

Dieses Attribut wurde verworfen.

false Eingestellte Funktionen

<DisplayName>-Element

Wird zusätzlich zum Attribut name verwendet, um die Richtlinie im Proxy-Editor der Verwaltungs-UI mit einem anderen Namen in einer natürlichen Sprache zu versehen.

<DisplayName>Policy Display Name</DisplayName>
Standard

Wenn Sie dieses Element weglassen, wird der Wert des Namensattributs name der Richtlinie verwendet.

Präsenz Optional
Typ String

Element <Statistics>/<Statistic>

<Statistics>
    <Statistic name="statName" ref="varName" type="refDataType">defaultStatValue</Statistic>
</Statistics>
Attribut Beschreibung Standard Präsenz
name

Der Name, der auf die für die angegebene Variable erhobenen Daten verweist. Verwenden Sie diesen Namen beim Anzeigen von Analysedaten, um auf die Daten zu verweisen, die über die durch das Attribut ref angegebene Variable erfasst wurden.

Wenn die in ref angegebene Variable für eine Anfrage oder Antwort nicht definiert ist, gibt defaultStatValue den für die Variable erfassten Wert an. Wenn Sie den Standardwert weglassen, werden keine Daten für die Variable erfasst, wenn die Variable nicht definiert ist.

Namensbeschränkungen

Für benutzerdefinierte Analysevariablen gelten die folgenden Einschränkungen:

Erforderlich
ref

Die Flussvariable, für die Sie Statistiken erfassen. Diese Variable kann eine von Apigee vordefinierte Flussvariable oder eine benutzerdefinierte Variable sein, die Sie in Ihrem API-Proxy definieren.

Das Attribut „ref“ verweist häufig auf eine benutzerdefinierte Variable, die durch die Richtlinie „Variablen extrahieren“ definiert ist. Weitere Informationen finden Sie in der Richtlinie Variablen extrahieren.

Erforderlich
eingeben

Gibt den Datentyp der Variablen an, die mit dem ref-Attribut angegeben wird. Gültige Werte sind: „string/integer/float/long/double/boolean“.

Verweisen Sie für Daten vom Typ "String" in einem benutzerdefinierten Bericht auf die statistischen Daten als Dimension. Verweisen Sie bei numerischen Datentypen (Ganzzahl/Gleitkommazahl/lang/doppelt) auf die statistischen Daten in einem benutzerdefinierten Bericht entweder als Dimension oder als Messwert. Weitere Informationen finden Sie unter Benutzerdefinierte Berichte verwalten.

Der Wert von type kann nur weggelassen werden, wenn sich ref auf eine vordefinierte Apigee-Flow-Variable bezieht oder der Typ in der XML-Nutzlast der Richtlinie zum Extrahieren von Variablen deklariert wird.

String Optional

Fehlerreferenz

In diesem Abschnitt werden die Fehlermeldungen und Ablaufvariablen beschrieben, die festgelegt werden, wenn diese Richtlinie einen Fehler auslöst. Dieses Informationen sind wichtig, wenn Sie Fehlerregeln für einen Proxy entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.

Laufzeitfehler

Bereitstellungsfehler

Fehlername Ursache Problembehebung
UnsupportedDatatype Wenn der Typ der Variable, die durch das ref-Attribut im <Statistic>-Element der Statistik-Collector-Richtlinie angegeben wird, nicht unterstützt wird, schlägt die Bereitstellung des API-Proxys fehl. Unterstützte Datentypen sind string, integer, float, long, double und boolean.
InvalidName Wenn der Name, mit dem auf die Daten verwiesen wird, die für die im Variablen <Statistic> des Elements der Statistik-Collector-Richtlinie definierte Daten erfasst wurden, mit einer systemdefinierten Variablen in Konflikt steht, schlägt die Bereitstellung des API-Proxys fehl. Zu den bekannten systemdefinierten Variablen gehören organization und environment.
DatatypeMissing Wenn der Typ der durch das Attribut ref im <Statistic>-Element der Statistics Collector-Richtlinie angegebenen Variable fehlt, schlägt die Bereitstellung des API-Proxys fehl.

Fehlervariablen

Keine.

Schema

Jeder Richtlinientyp wird durch ein XML-Schema (.xsd) definiert. Zu Referenzzwecken sind Richtlinienschemas auf GitHub verfügbar.

Weitere Informationen

Weitere Informationen finden Sie unter: