StatisticsCollector-Richtlinie

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

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 Flussvariablen 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 mithilfe der Edge-Verwaltungs-UI oder der Edge API anzeigen.

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 zu zwei benutzerdefinierten Variablen: product.id und product.price. Die Statistik-Collector-Richtlinie schreibt bei jeder Anfrage den Wert dieser beiden Variablen an den Analyseserver.

In diesem Beispiel wird auch ein optionaler Standardwert für jede Variable festgelegt, wobei der Standardwert von product.id 999999 und der Standardwert für 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 erfasst, wenn die Variable nicht definiert ist.

Nachdem Sie statistische Daten erfasst haben, können Sie die Statistiken über die Edge-Management-Benutzeroberfläche oder -API abrufen. 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 Management API, um die statistischen Daten für die Sammlung mit dem Namen productID anzusehen. Diese Anfrage erstellt einen benutzerdefinierten Bericht für Produkt-IDs, der auf der Summe der Anzahl der Nachrichten basiert, die für jede Produkt-ID pro Tag gesendet werden. Ersetzen Sie die Variable {org_name} durch Ihren Organisationsnamen und ersetzen Sie email:password durch die E-Mail-Adresse und das Passwort für Ihr Konto bei Apigee Edge.

Legen Sie für den Parameter timeRange das Zeitintervall fest, in dem Ihre Daten erfasst wurden. Auf Daten, die älter als sechs Monate sind, ist standardmäßig kein Zugriff möglich. 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 der Wert gibt die Anzahl der Anfragen für jeden Tag an:

{
  "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 Erhebung 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 selbst definiert werden.

In diesem Beispiel verwenden Sie die Richtlinie zum Extrahieren von Variablen, um Daten aus einer XML-Nutzlast zu extrahieren, die Wetterinformationen enthält. 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 mit dem Namen weather.condition

Anschließend können Sie die Statistics Collector-Richtlinie verwenden, um Informationen zu den Variablen zu 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, das zeigt, wie Daten aus einer XML-Nutzlast für die Statistics Collector-Richtlinie extrahiert werden, finden Sie unter Analysieren des API-Nachrichteninhalts mithilfe benutzerdefinierter Analysen.


Informationen zur Statistics Collector-Richtlinie

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

Für den Zugriff auf die von der Richtlinie erfassten statistischen Daten verwenden Sie die Edge API oder die Edge-Verwaltungs-UI. Sie können beispielsweise die Edge-Management-Benutzeroberfläche verwenden, um einen benutzerdefinierten Bericht zu erstellen, in dem die erfassten Daten in verschiedenen Formaten angezeigt werden.

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

Richtlinien einfügen

Sie können eine Statistik-Collector-Richtlinie in den Anforderungs- 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 früheren 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 Fehlerbehandlungsprogramm 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 über den Fehler oder andere Informationen aufzuzeichnen, die Sie für notwendig halten. Der Statistics Collector im Fehler-Handler bestimmt die erfassten Daten unabhängig davon, ob der Statistics Collector in der Anfrage/Antwort bereits ausgeführt wurde oder nicht.

Weitere Informationen finden sich unter Fehlerbehandlung.

Elementverweis

Die Elementreferenz beschreibt die Elemente und Attribute der Statistik-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>

<StatisticsCollector-Attribute

<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 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, mit dem auf die Daten verwiesen wird, die für die angegebene Variable erfasst wurden. Verwenden Sie diesen Namen bei der Anzeige von Analysedaten, um auf die Daten zu verweisen, die über die durch das Attribut ref angegebene Variable erfasst werden.

Wenn die durch ref angegebene Variable in einer 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.

Benennungsbeschrä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 Ablaufvariable oder eine benutzerdefinierte Variable sein, die Sie in Ihrem API-Proxy definieren.

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

Erforderlich
eingeben

Gibt den Datentyp der Variablen an, die durch das Attribut ref angegeben werden. Gültige Werte sind: string/integer/float/long/double/boolean.

Verweisen Sie für Daten vom Typ String auf die statistischen Daten als Dimension in einem benutzerdefinierten Bericht. Verweisen Sie für numerische Datentypen (Ganzzahl/Gleitkomma/Langzeit/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 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 Problembehebung
UnsupportedDatatype Wenn der Typ der Variablen, die durch das ref-Attribut im Element <Statistic> der Statistics Collector-Richtlinie angegeben wird, nicht unterstützt wird, schlägt die Bereitstellung des API-Proxys fehl. Die unterstützten Datentypen sind string, integer, float, long, double und boolean.
InvalidName Wenn der Name, der für den Verweis auf die Daten verwendet wird, die für die angegebene Variable erfasst wurden, die im Element <Statistic> der Statistics Collector-Richtlinie definiert ist, mit einer systemdefinierten Variablen in Konflikt steht, schlägt die Bereitstellung des API-Proxys fehl. Einige der bekannten systemdefinierten Variablen sind organization und environment.
DatatypeMissing Wenn der Typ der Variablen, die durch das Attribut ref im Element <Statistic> der Statistics Collector-Richtlinie angegeben wird, 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: