Vous consultez la documentation Apigee Edge.
Accédez à la
documentation**Apigee X**. info
Quoi
Vous permet de collecter des statistiques sur les données d'un message, telles que l'ID de produit, le prix, l'action REST , l'URL cible et client et la longueur du message. Les données peuvent provenir de variables de flux prédéfinies par Apigee ou de variables personnalisées que vous définissez.
Les données statistiques sont transmises au serveur de données analytiques, qui les analyse 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 sur deux variables personnalisées : product.id et product.price. À chaque requête, la règle StatisticsCollector écrit la valeur de ces deux variables sur le serveur de données analytiques.
Cet exemple définit également une valeur par défaut facultative pour chaque variable, où la valeur par défaut de product.id est 999999 et la valeur par défaut product.price est 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, celle-ci est enregistrée lorsque la variable n'est pas définie.
Après avoir collecté les données statistiques, vous pouvez utiliser l'interface utilisateur de gestion Edge ou l'API pour les récupérer. Lorsque vous récupérez des statistiques, vous référencez les données collectées pour ces variables en tant que productID et price, respectivement.
Accéder aux statistiques
Dans cet exemple, vous utilisez l'API de gestion Edge pour afficher les données statistiques de la
collection appelée productID. Cette requête crée un rapport personnalisé pour
les ID de produit en fonction de la somme du nombre de messages envoyés pour chaque ID de produit chaque
jour. Remplacez le nom de votre organisation par la variable {org_name}, et
remplacez l'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 pendant lequel 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 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, le champ "name " contient l'ID du produit et la valeur indique le nombre de requêtes pour chaque 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"
}
}Extraire des données pour la collection
<?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 règle StatisticsCollector exige que les données collectées soient stockées dans des variables. Ces variables peuvent être prédéfinies par Apigee ou personnalisées.
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. Cette règle :
- Extrait le nom de la ville et l'écrit dans une variable nommée weather.location.
- Extrait les conditions actuelles et les écrit dans une variable nommée weather.condition.
Vous pouvez ensuite utiliser la règle StatisticsCollector pour collecter des informations sur les variables, comme illustré 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 obtenir un tutoriel complet expliquant comment extraire des données d'une charge utile XML pour la règle StatisticsCollector, consultez la page Analyser le contenu du message de l'API à l'aide de données analytiques personnalisées.
À propos de la règle StatisticsCollector
Lorsqu'elle est exécutée, la règle StatisticsCollector enregistre la valeur actuelle d'une ou de plusieurs variables. Ces variables peuvent être des variables de flux prédéfinies par Apigee ou des variables personnalisées que vous définissez. Ces données sont écrites sur le serveur de données analytiques Edge.
Pour accéder aux données statistiques collectées par la règle, vous devez utiliser l'API Edge ou l'interface utilisateur de gestion Edge. 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 obtenir un tutoriel complet sur l'utilisation de la règle StatisticsCollector, consultez la page Analyser le contenu du message de l'API à l'aide de données analytiques personnalisées.
Où placer la règle
Vous pouvez ajouter une règle StatisticsCollector dans le flux de requête ou de réponse d'un proxy d'API. Cependant, si vous ajoutez plusieurs règles StatisticsCollector dans un proxy, la dernière règle exécutée détermine les données écrites sur le serveur de données analytiques. Les données écrites par les règles StatisticsCollector précédentes sont perdues.
Un proxy d'API peut contenir plusieurs règles StatisticsCollector dans le cas suivant : lorsqu'une règle se trouve dans le flux de requête ou de réponse et que l'autre se trouve dans un gestionnaire d'erreurs. Si une erreur survient dans le proxy d'API, la règle StatisticsCollector du gestionnaire d'erreurs détermine les données collectées. Vous pouvez utiliser cette règle StatisticsCollector pour enregistrer des informations sur l'erreur ou pour enregistrer toute autre information que vous jugez nécessaire. La règle StatisticsCollector du gestionnaire d'erreurs détermine les données collectées, que la règle Statistics Collector de la requête/réponse ait déjà été exécutée ou non.
Pour en savoir plus, consultez la page Handling faults.
Documentation de référence des éléments
La documentation de référence des éléments décrit les éléments et les attributs de la règle StatisticsCollector.
<?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>
Attributs <StatisticsCollector>
<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 Vous pouvez également utiliser l'élément |
ND | Valeur |
continueOnError |
Définissez sur Définissez sur |
faux | Facultatif |
enabled |
Définissez sur Définissez sur |
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 |
|---|---|
| Présence | Facultatif |
| Type | Chaîne |
Élément <Statistics>/<Statistic>
<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. Lorsque vous affichez des données analytiques, utilisez ce nom pour référencer les données collectées sur la variable spécifiée par l'attribut. Si la variable spécifiée par Restrictions en termes 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 une variable de flux variable 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 la règle Extract Variables policy. Pour en savoir plus, consultez la page Règle Extract Variables policy. |
N/A | Obligatoire |
| type |
Spécifie le type de données de la variable spécifiée par l'attribut "ref". Les valeurs valides sont : chaîne/entier/float/long/double/booléen. Pour les données de type chaîne, référencez les données statistiques en tant que dimension dans un rapport personnalisé. Pour les données de type numérique (nombre entier/à virgule flottante/long/double), référencez les données statistiques dans un rapport personnalisé en tant que dimension ou métrique. Pour en savoir plus, consultez la page Gérer des rapports personnalisés. La valeur de type ne peut être omise que si ref fait référence à une variable de flux Apigee prédéfinie ou si le type est déclaré dans la charge utile XML de la règle 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. |
build |
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. |
build |
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. |
build |
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 :