Règle StatisticsCollector

<ph type="x-smartling-placeholder"></ph> Vous consultez la documentation Apigee Edge.
Accédez à la page Documentation sur Apigee X.
En savoir plus

Quoi

Permet de collecter des statistiques sur les données contenues dans un message (identifiant produit, prix, REST, etc.) l'action, l'URL du client et de la cible, et la longueur du message. Les données peuvent provenir de variables de flux prédéfinies par Apigee ou des variables personnalisées que vous définissez.

Les données statistiques sont transmises au serveur d'analyse, qui analyse les statistiques et génère des rapports. Vous pouvez afficher les rapports à l'aide de l'interface utilisateur de gestion Edge ou de l'API Edge.

Exemples

Exemple de base

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

Dans cet exemple, vous collectez des informations statistiques concernant deux variables personnalisées: product.id et product.price. À chaque demande, le La stratégie du collecteur de statistiques écrit la valeur de ces deux variables dans l'analyse Google Cloud.

Cet exemple définit également une valeur par défaut facultative pour chaque variable, où la valeur par défaut valeur de product.id est 999999 et l'attribut product.price par défaut est de 0. Si une variable n'est pas définie et que vous ne spécifiez pas de valeur par défaut, aucune donnée n'est enregistrée pour la variable. Si vous spécifiez une valeur par défaut, la valeur par défaut est enregistrée lorsque la variable n'est pas définie.

Après avoir collecté des données statistiques, vous pouvez utiliser l'interface utilisateur ou l'API de gestion Edge pour récupérer les statistiques. Lorsque vous récupérez des statistiques, vous faites référence aux données collectées pour ces variables sous la forme productID et price, respectivement.

Accéder aux statistiques

Dans cet exemple, vous utilisez l'API de gestion Edge pour afficher les données statistiques pour le appelée productID. Cette demande crée un rapport personnalisé en fonction de la somme des messages envoyés pour chaque ID produit jour. Remplacez le nom de votre organisation par la variable {org_name}, puis remplacez l'adresse e-mail et le mot de passe de votre compte sur Apigee Edge par email:password

Définissez le paramètre timeRange pour inclure l'intervalle de temps au cours duquel vos données ont été collectées. Les données datant de plus de six mois à compter de la date du jour ne sont pas accessibles par défaut. Si vous souhaitez accéder à des données datant de plus de six mois, contactez l'assistance 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

Dans la réponse, la valeur name contient l'ID produit et sa valeur indique le nombre de requêtes par jour:

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

Extraction des données pour la collecte

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

La stratégie du collecteur de statistiques exige que les données collectées soient stockées dans des variables. Ces variables peuvent être prédéfinies par Apigee ou des variables personnalisées que vous définissez.

Dans cet exemple, vous utilisez la règle Extract Variables pour extraire des données d'une charge utile XML. contenant des informations météorologiques. Il permet de:

  • Extrait le nom de la ville et l'écrit dans une variable nommée weather.location
  • Il extrait les conditions actuelles et les écrit dans une variable nommée weather.condition

Vous pouvez ensuite utiliser la stratégie du collecteur de statistiques pour recueillir des informations sur les , comme indiqué ci-dessous:

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

Pour accéder à un tutoriel complet expliquant comment extraire des données d'une charge utile XML pour stratégie du collecteur de statistiques, voir Analyser l'API le contenu du message à l'aide d'analyses personnalisées.


À propos de la stratégie du collecteur de statistiques

Lorsqu'elle est exécutée, la stratégie du collecteur de statistiques enregistre la valeur actuelle d'un ou de plusieurs variables. Ces variables peuvent être des variables de flux prédéfinies par Apigee ou des variables personnalisées qui que vous définissez. Ces données sont écrites sur le serveur d'analyse Edge.

Pour accéder aux données statistiques collectées par la règle, utilisez l'API Edge ou Edge de gestion centralisée. Par exemple, vous pouvez utiliser l'interface utilisateur de gestion Edge pour créer un rapport personnalisé qui affiche les données collectées dans différents formats.

Pour accéder à un tutoriel complet utilisant la stratégie du collecteur de statistiques, consultez la section Analyser l'API le contenu du message à l'aide d'analyses personnalisées.

Où placer la règle ?

Vous pouvez placer une stratégie du collecteur de statistiques dans le flux de requêtes ou de réponses d'une API. proxy. Cependant, si vous placez plusieurs stratégies du collecteur de statistiques dans un proxy, la dernière l'une à exécuter détermine les données écrites sur le serveur d'analyse et les données écrites par les stratégies précédentes du collecteur de statistiques sont perdues.

Un scénario dans lequel vous pouvez avoir plusieurs stratégies du collecteur de statistiques dans un proxy d'API est lorsque vous en avez un dans le flux de requête ou de réponse et un autre dans un gestionnaire d'erreurs. Si un défaut se produit dans le proxy d'API, le collecteur de statistiques du gestionnaire d'erreurs détermine les données collectées. Vous pouvez utiliser ce collecteur de statistiques pour enregistrer des informations sur l'erreur, ou pour enregistrer toute autre information que vous jugez nécessaire. Le collecteur de statistiques dans la faille détermine les données collectées, que le collecteur de statistiques dans la requête/réponse déjà exécutée.

Pour en savoir plus, consultez la page Gérer les erreurs.

Documentation de référence des éléments

La référence d'élément décrit les éléments et les attributs du collecteur de statistiques. .

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

&lt;StatisticsCollector&gt; Attributs

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

Le tableau suivant décrit les attributs communs à tous les éléments parents des règles :

Attribut Description Par défaut Présence
name

Nom interne de la règle. La valeur de l'attribut name peut contenir des lettres, des chiffres, des espaces, des tirets, des traits de soulignement et des points. Cette valeur ne peut pas dépasser 255 caractères.

Vous pouvez également utiliser l'élément <DisplayName> pour ajouter un libellé à la règle dans l'éditeur de proxy de l'interface utilisateur de gestion, en utilisant un nom différent, en langage naturel.

ND Valeur
continueOnError

Définissez sur false pour afficher une erreur en cas d'échec d'une règle. Il s'agit du comportement attendu pour la plupart des règles.

Définissez sur true pour que l'exécution du flux se poursuive même après l'échec d'une règle.

faux Facultatif
enabled

Définissez sur true pour appliquer la règle.

Définissez sur false pour désactiver la règle. La stratégie ne sera pas appliquée, même si elle reste associée à un flux.

vrai Facultatif
async

Cet attribut est obsolète.

faux Obsolète

Élément <DisplayName>

Utilisez-le, en plus de l'attribut name, pour appliquer un libellé à la règle dans l'éditeur de proxys de l'interface de gestion en utilisant un nom différent, en langage naturel.

<DisplayName>Policy Display Name</DisplayName>
Par défaut

ND

Si vous omettez cet élément, la valeur de l'attribut name de la règle est utilisée.

Présence Facultatif
Type Chaîne

&lt;Statistics&gt;/&lt;Statistic&gt; élément

<Statistics>
    <Statistic name="statName" ref="varName" type="refDataType">defaultStatValue</Statistic>
</Statistics>
Attribut Description Par défaut Présence
nom

Nom utilisé pour référencer les données collectées pour la variable spécifiée. Lors de la consultation données analytiques, utilisez ce nom pour faire référence aux données collectées sur la variable spécifié par ref .

Si la variable spécifiée par ref n'est pas définie dans une requête ou , alors defaultStatValue spécifie la valeur collectées pour la variable. Si vous omettez la valeur par défaut, aucune donnée n'est collectée pour le variable lorsque celle-ci n'est pas définie.

Restrictions de dénomination

Les restrictions suivantes en termes de dénomination s'appliquent aux variables de données analytiques personnalisées :

N/A Obligatoire
ref

Variable de flux pour laquelle vous collectez des statistiques. Cette variable peut être un flux prédéfinie par Apigee ou une variable personnalisée que vous définissez dans votre proxy d'API.

L'attribut "ref" fait souvent référence à une variable personnalisée définie par l'outil . Voir Extraire des variables pour en savoir plus.

N/A Obligatoire
type

Spécifie le type de données de la variable spécifiée par l'attribut ref. Les valeurs possibles sont les suivantes: string/integer/float/long/double/boolean.

Pour les données de type chaîne, référencez les données statistiques en tant que dimension dans une un rapport personnalisé. Pour les types de données numériques (entier/flottant/long/double), référencez le les données statistiques d'un rapport personnalisé en tant que dimension ou métrique. Voir Gérer des rapports personnalisés pour plus d'informations.

La valeur de type ne peut être omis que si ref fait référence à une La variable de flux Apigee ou le type est déclaré dans la charge utile XML de l'outil Extract Variables .

chaîne Facultatif

Informations de référence sur les erreurs

Cette section décrit les messages d'erreur et les variables de flux définies lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance pour un proxy. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.

Erreurs d'exécution

Aucune

Erreurs de déploiement

Nom de l'erreur Cause Corriger
UnsupportedDatatype Si le type de la variable spécifiée par l'attribut "ref" dans l'élément <Statistic> de la règle StatisticsCollector n'est pas compatible, le déploiement du proxy d'API échoue. Les types de données compatibles sont string, integer, float, long, double et boolean.
InvalidName Si le nom utilisé pour référencer les données collectées pour la variable spécifiée dans l'élément <Statistic> de la règle StatisticsCollector est en conflit avec une variable définie par le système, le déploiement du proxy d'API échoue. Voici quelques-unes des variables définies par le système connues : organization et environment.
DatatypeMissing Si le type de la variable spécifiée par l'attribut ref dans l'élément <Statistic> de la règle StatisticsCollector est manquant, le déploiement du proxy d'API échoue.

Variables de panne

Aucune.

Schéma

Chaque type de règle est défini par un schéma XML (.xsd). Pour référence, des schémas de règles sont disponibles sur GitHub.

Articles associés

Pour en savoir plus, consultez les pages suivantes :