StatisticsCollector-Richtlinie

Sie lesen gerade die Dokumentation zu Apigee Edge.
Zur Dokumentation zuApigee X wechseln.
info

Was

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

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

Beispiele

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 werden statistische Informationen zu zwei benutzerdefinierten Variablen erfasst: product.id und product.price. Bei jeder Anfrage schreibt die Statistics Collector-Richtlinie den Wert dieser beiden Variablen auf den Analyseserver.

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

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

Auf Statistiken zugreifen

In diesem Beispiel verwenden Sie die Edge-Verwaltungs-API, um die statistischen Daten für die Sammlung „productID“ aufzurufen. Diese Anfrage erstellt einen benutzerdefinierten Bericht für Produkt-IDs basierend auf der Summe der Nachrichtenanzahlen, die für jede Produkt-ID und jeden Tag gesendet wurden. Ersetzen Sie den Namen Ihrer Organisation durch die Variable {org_name} und ersetzen Sie die E-Mail-Adresse und das Passwort für Ihr Konto bei Apigee Edge durch email:password.

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 sind, sind standardmäßig nicht zugänglich. 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

Im Feld „name “ der Antwort ist die Produkt-ID enthalten und im Feld „value“ die Anzahl der Anfragen für jeden 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 Erfassung 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 Statistics Collector-Richtlinie erfordert, dass die erfassten Daten in Variablen gespeichert werden. Diese Variablen können von Apigee vordefiniert oder von Ihnen definiert werden.

In diesem Beispiel verwenden Sie die Richtlinie zum Extrahieren von Variablen, um Daten aus einer XML-Nutzlast mit Wetterinformationen zu extrahieren. Diese Richtlinie:

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

Anschließend können Sie die Statistics Collector-Richtlinie verwenden, um Informationen zu den Variablen zu erfassen, wie unten gezeigt:

<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 Statistics Collector-Richtlinie finden Sie unter API-Nachrichteninhalte mithilfe benutzerdefinierter Analysen auswerten.


Informationen zur Statistics Collector-Richtlinie

Bei der Ausführung erfasst die Statistics Collector-Richtlinie den aktuellen Wert einer oder mehrerer Variablen. Diese Variablen können von Apigee vordefinierte Ablaufvariablen oder von Ihnen definierte benutzerdefinierte Variablen sein. Diese Daten werden auf den Edge-Analyseserver geschrieben.

Um auf die von der Richtlinie erfassten statistischen Daten zuzugreifen, verwenden Sie die Edge API oder die Edge Verwaltungs-UI. Sie können beispielsweise mit der Edge-Verwaltungs-UI einen benutzerdefinierten Bericht erstellen, in dem die erfassten Daten in verschiedenen Formaten angezeigt werden.

Ein vollständiges Tutorial zur Verwendung der Statistics Collector-Richtlinie finden Sie unter API -Nachrichteninhalte mithilfe benutzerdefinierter Analysen auswerten.

Wo sollte die Richtlinie platziert werden?

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 zuletzt auszuführende Richtlinie die Daten, die auf den Analyseserver geschrieben werden, und die Daten, die von den vorherigen Statistics 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 Anforderungs- oder Antwortablauf und eine andere in einem Fehler-Handler haben. Wenn ein Fehler im API-Proxy auftritt, ermittelt der Statistics Collector im Fehlerbehandlungsprogramm die erfassten Daten. Sie können diesen Statistics Collector verwenden, um Informationen zum Fehler oder um andere Informationen zu erfassen, die Sie für erforderlich halten. Der Statistics Collector im Fehlerbehandlungsprogramm bestimmt die erfassten Daten unabhängig davon, ob der Statistics Collector in der Anfrage/Antwort bereits ausgeführt wurde.

Weitere Informationen finden sich unter Fehlerbehandlung.

Elementverweis

Die Elementreferenz beschreibt die Elemente und Attribute der Statistics Collector -Richtlinie.

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

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

true Optional
async

Dieses Attribut wurde verworfen.

false Veraltet

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

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

Präsenz Optional
Typ String

Elemente <Statistics>/<Statistic>

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

Der Name, der verwendet wird, um auf die für die angegebene Variable erfassten Daten zu verweisen. Wenn Sie Analysedaten aufrufen, verwenden Sie diesen Namen, um auf die Daten zu verweisen, die für die Variable erfasst wurden, die durch das ref Attribut angegeben wird.

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

Einschränkungen für die Benennung

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

Erforderlich
Ref

Die Ablaufvariable, für die Sie Statistiken erfassen. Diese Variable kann eine von Apigee vordefinierte Ablaufvariable 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 zum Extrahieren von Variablen definiert wird. Weitere Informationen finden Sie unter Richtlinie zum Extrahieren von Variablen.

Erforderlich
Typ

Gibt den Datentyp der durch das Attribut „ref“ angegebenen Variablen an. Gültige Werte sind: String/Integer/Float/Long/Double/Boolean.

Verweisen Sie für Daten vom Typ „String“ die statistischen Daten als Dimension in einem benutzerdefinierten Bericht. Verweisen Sie bei numerischen Datentypen (Integer/Float/Long/Double) auf die statistischen Daten in einem benutzerdefinierten Bericht als entweder Dimension oder Messwert. Weitere Informationen finden Sie unter Benutzerdefinierte Berichte verwalten.

Der Wert für type kann nur weggelassen werden, wenn ref auf eine vordefinierte Apigee-Ablaufvariable verweist oder der Typ in der XML-Nutzlast der Richtlinie zum Extrahieren von Variablen deklariert ist.

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 Korrigieren
UnsupportedDatatype Wird der Typ der Variablen, die durch das Attribut „ref“ im <Statistic>-Element der Statistics Collector-Richtlinie festgelegt wurde, nicht unterstützt, so schlägt die Bereitstellung des API-Proxys fehl. Unterstützte Datentypen sind string, integer, float, long, double und boolean.
InvalidName Wenn der Name, der für den Verweis auf die angegebene, im <Statistic>-Element der Statistics Collector-Richtlinie definierte Variable verwendet wird, mit einer systemdefinierten Variable in Konflikt steht, so schlägt die Bereitstellung des API-Proxys fehl. Zu den bekannten systemdefinierten Variablen zählen organization und environment.
DatatypeMissing Fehlt der Typ der Variablen, die durch das Attribut ref im <Statistic>-Element der Statistics Collector-Richtlinie angegeben wurde, 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: