Tous les clients Edge for Private Cloud doivent envoyer à Apigee des statistiques sur les API le trafic proxy. Apigee recommande aux clients d'importer ces informations une fois par jour, créer une tâche Cron.
Vous devez envoyer les données pour vos déploiements d'API de production, mais pas pour les API en cours de développement ou à tester des déploiements. Dans la plupart des installations Edge, vous définirez des organisations ou des pour vos API de production. Les données que vous envoyez ne concernent organisations et environnements.
Pour vous aider à importer ces données, Apigee fournit la version bêta du
Ligne de commande apigee-analytics-collector
utilitaire. Cet utilitaire renvoie le rapport sur le volume des appels d'API à Apigee. Chaque périphérie pour
L'installation d'un cloud privé peut se servir de cet utilitaire pour récupérer et transmettre les données de trafic
Apigee.
Obligatoire: contactez l'assistance Apigee avant d'importer des données
Avant de pouvoir importer des données dans Apigee, vous devez contacter l'assistance Apigee Edge pour terminer l'intégration processus.
Installer apigee-analytics-collector
apigee-analytics-collector
est un RPM que vous installez à l'aide de l'utilitaire apigee-service
.
Où l'installer ?
Le nœud sur lequel vous installez l'utilitaire apigee-analytics-collector
peut être n'importe quelle
pouvant accéder à l'API de gestion Edge sur le serveur de gestion Edge. Vous pouvez l'installer
directement sur le serveur de gestion, sur un autre nœud de l'installation Edge ou sur un serveur
à condition que celui-ci puisse envoyer des requêtes API au serveur de gestion.
Accès Internet configuration requise
Installez l'utilitaire apigee-analytics-collector
sur un
une machine avec accès Internet externe. Ensuite, l'utilitaire apigee-analytics-collector
peuvent importer des données directement dans Apigee.
Si aucun nœud ne dispose à la fois d'un accès à l'API de gestion Edge sur le serveur de gestion Edge
et l'accès à l'Internet externe, vous pouvez utiliser l'API de gestion Edge pour enregistrer le trafic
en local. Vous devez ensuite transférer les données vers une machine dotée d'un accès à Internet pour les importer dans
Apigee. Dans ce scénario, vous n'avez pas besoin d'utiliser le apigee-analytics-collector
utilitaire. Voir
Importation manuelle des données dans
Apigee.
Installation
Exécutez la commande suivante pour installer l'utilitaire apigee-analytics-collector
. En effet,
vous installez un fichier RPM, cette commande doit être exécutée par l'utilisateur racine ou par un utilisateur qui a
un accès sudo complet. Pour un accès sudo complet, cela signifie
que l'utilisateur dispose d'un accès sudo pour effectuer les mêmes
en tant que racine.
/opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector install
Exécuter apigee-analytics-collector
Cette section explique comment exécuter l'utilitaire apigee-analytics-collector
.
Configurer un utilisateur pour exécuter apigee-analytics-collector
Vous devez exécuter apigee-analytics-collector
en tant qu'utilisateur non racine
utilisateur. Cet utilisateur doit disposer d'un accès sudo complet à "apigee" utilisateur.
Pour configurer un utilisateur afin qu’il dispose d’un accès sudo complet à « apigee » utilisez la commande "visudo" pour Modifiez le fichier sudoers pour l'ajouter:
analyticsUser ALL=(apigee) NOPASSWD: ALL
Où analyticsUser est le nom d'utilisateur de la personne qui exécute
l'utilitaire apigee-analytics-collector
.
Après avoir installé l'utilitaire apigee-analytics-collector
et en configurant l'utilisateur, vous pouvez tester l'utilitaire en exécutant la commande help pour
l'utilitaire apigee-analytics-collector
:
/opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector export traffic --help
Informations requises pour exécuter apigee-analytics-collector
Vous avez besoin des informations suivantes pour exécuter la commande apigee-analytics-collector
et pour transférer les données vers Apigee:
apigee_mgmt_api_uri
: URL de base de l'API Edge sur votre environnement de gestion Google Cloud. Cette URL se présente généralement sous la forme suivante:http://ms_IP:8080/v1
Où ms_IP est l'adresse IP ou votre serveur de gestion et 8080 est le port utilisé par l'API Edge. Si vous avez créé une entrée DNS pour l'API Edge, l'URL se trouve dans au format suivant:
http://ms_DNS/v1
Si vous activez TLS sur l'API de gestion Edge, elle se présente sous la forme:
https://ms_IP:8080/v1 https://ms_DNS/v1
apigee_mgmt_api_email
: adresse e-mail d'un compte ayant accès au API/stats
Edge. Il s'agit souvent sera l'adresse e-mail de l'administrateur du système Edge ou celle de l'administrateur de l'organisation pour vos entreprises de production.apigee_mgmt_api_password
: mot de passe Edge du compte spécifié parapigee_mgmt_api_email
apigee_analytics_client_id
et apigee_analytics_secret: Vos identifiants pour importer des données dans Apigee. Veuillez envoyer une demande à l'assistance Apigee Edge pour obtenirapigee_analytics_client_id
etapigee_analytics_secret
.
Exemples de commandes
Vous trouverez ci-dessous un exemple de commande permettant de récupérer les données de trafic pour toutes les organisations et
dans l'installation Edge et télécharger ces données vers Apigee. Remarquez comment vous
utiliser apigee-service
pour
exécutez la commande apigee-analytics-collector
:
/opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector export traffic \ --apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \ --apigee_mgmt_api_email $ae_username \ --apigee_mgmt_api_password $ae_password \ --apigee_analytics_client_id $apigee_analytics_client_id \ --apigee_analytics_secret $apigee_analytics_secret
Notez que la commande contient toutes les informations requises, telles que apigee_analytics_client_id et apigee_analytics_secret.
Les résultats doivent s'afficher sous la forme suivante:
[ { "org": "myOrg", "env": "prod", "time_range_start": "08/27/2016 00:00", "time_range_end": "08/30/2016 00:00", "response": [ { "store_org_env_metrics_hourly_v4": 1 } ] }, { "org": "VALIDATE", "env": "test", "time_range_start": "08/27/2016 00:00", "time_range_end": "08/30/2016 00:00", "response": [ { "store_org_env_metrics_hourly_v4": 1 } ] } ]
Utilisez les options de ligne de commande pour contrôler ses actions. Utilisez les options suivantes pour spécifiez les organisations et les environnements à inclure dans les données générées:
-i, --include_orgs comma-separated list of items
-x, --exclude_orgs comma-separated list of items
-n, --include_envs comma-separated list of items
-e, --exclude_envs comma-separated list of items
Par exemple, pour ne spécifier que les organisations et les environnements de production, utilisez la méthode
-i
(ou --include_orgs
) et -n
(ou
Options --include_envs)
:
/opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector export traffic -i myOrg -n prod \ --apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \ --apigee_mgmt_api_email $ae_username \ --apigee_mgmt_api_password $ae_password \ --apigee_analytics_client_id $apigee_analytics_client_id \ --apigee_analytics_secret $apigee_analytics_secret
Dans cet exemple, vous ne collectez des données que depuis l'environnement de production
myOrg
Pour vider les données sur un écran afin de les examiner avant de les envoyer à Apigee, utilisez -S
option:
/opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector export traffic -i myOrg -n prod -S \ --apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \ --apigee_mgmt_api_email $ae_username \ --apigee_mgmt_api_password $ae_password \ --apigee_analytics_client_id $apigee_analytics_client_id \ --apigee_analytics_secret $apigee_analytics_secret
L'option -S
omet les données
importer dans Apigee. Vous pouvez ensuite réexécuter la commande sans l'option -S
pour envoyer le
vers Apigee.
Une raison d'utiliser -S
est de pouvoir afficher différents types de données localement. Apigee ne requiert que
importer les données de trafic de l'API, mais l'option -D
vous permet d'afficher des données sur l'API
les produits, les développeurs,
les applications ou les mandataires d'API. L'exemple ci-dessous utilise -D
et
Options -S
pour afficher les données du développeur
en local:
/opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector export traffic -i myOrg -n prod -S -D devs \ --apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \ --apigee_mgmt_api_email $ae_username \ --apigee_mgmt_api_password $ae_password \ --apigee_analytics_client_id $apigee_analytics_client_id \ --apigee_analytics_secret $apigee_analytics_secret
Incluez l'option -v
pour obtenir
une sortie détaillée et l'option -R
pour afficher les commandes curl générées par apigee-analytics-collector
:
/opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector export traffic -i myOrg -n prod -S -R -v \ --apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \ --apigee_mgmt_api_email $ae_username \ --apigee_mgmt_api_password $ae_password \ --apigee_analytics_client_id $apigee_analytics_client_id \ --apigee_analytics_secret $apigee_analytics_secret
La section suivante contient une liste complète des options de ligne de commande.
Paramètres de la commande
Le tableau suivant répertorie toutes les options disponibles pour
Utilitaire apigee-analytics-collector
:
Commande | Description |
---|---|
-h, --help |
Informations sur l'utilisation de sortie |
-D, --dimension dimension |
Dimension sur le trafic à collecter. Les valeurs valides sont les suivantes :
|
-d, --days days
|
Nombre de jours précédents de données à collecter, à partir de la date du jour. La la valeur par défaut est 3. Si vous spécifiez |
-m, --apigee_mgmt_api_uri apigee_mgmt_api_uri |
URL de l'API de gestion Edge. |
-u, --apigee_mgmt_api_email apigee_mgmt_api_email |
L'adresse e-mail d'un compte ayant accès aux API Edge |
-p, --apigee_mgmt_api_password apigee_mgmt_api_password |
Le mot de passe associé au compte de messagerie de l'API de gestion Edge spécifié par
|
-i, --include_orgs items
|
Liste d'organisations à inclure dans le résultat, séparées par une virgule. |
-x, --exclude_orgs items
|
Liste d'organisations à exclure de la sortie, séparées par une virgule. |
-n, --include_envs items
|
Liste des environnements à inclure dans la sortie, séparés par une virgule. |
-e, --exclude_envs items
|
Liste des environnements à inclure dans le résultat, séparés par une virgule. |
-o, --output path
|
Chemin d'accès et nom de fichier pour l'enregistrement de la sortie. |
-s, --time_range_start time_range_start
|
Période de début d'interrogation des statistiques de trafic, au format suivant : "MM/DD/YYYY HH:MM". Si vous spécifiez |
-z, --time_range_end time_range_end
|
Fin de la période d'interrogation des statistiques de trafic, sous la forme "04/01/2016 24:00". Si vous spécifiez |
-t, --time_unit time_unit
|
Unité de temps des données sur le trafic. La valeur par défaut est
Si vous définissez |
-S, --standard_output
|
Écrivez la sortie dans le terminal (stdout) au lieu de l'importer dans Apigee. |
-c, --apigee_analytics_client_id apigee_analytics_client_id
|
Votre ID pour importer des données dans Apigee. Veuillez envoyer une demande à l'assistance Apigee Edge au obtenir. |
-r, --apigee_analytics_secret apigee_analytics_secret
|
Votre secret pour importer des données dans Apigee. Veuillez envoyer une demande à l'assistance Apigee Edge au obtenir. |
-R, --include_curl_commands
|
Inclure les commandes |
-v, --verbose
|
Affiche le résultat détaillé. |
Importer manuellement des données dans Apigee
Apigee vous recommande d'installer l'utilitaire apigee-analytics-collector
sur une
une machine avec accès Internet externe. Ensuite, l'utilitaire apigee-analytics-collector
peuvent importer des données directement dans Apigee.
Cependant, si la machine ne dispose pas d'un accès Internet externe, utilisez l'API de gestion Edge pour
collecter les données de trafic, puis utiliser les commandes curl
pour les importer dans Apigee à partir d'un
machine avec
l'accès à Internet. Vous devez répéter ce processus
pour chaque organisation de production
dans votre installation Edge.
Exécutez la commande curl
suivante pour collecter des données sur le trafic d'une organisation spécifique.
pendant un intervalle de temps spécifié:
curl -X GET -u apigee_mgmt_api_email:apigee_mgmt_api_password \ "http://ms_IP:8080/v1/organizations/org_name/environments/env_name/stats/apiproxy?select=sum(message_count)&timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour"
Cette commande utilise l'API de comptage des messages de l'API Edge Get. Dans cette commande :
- apigee_mgmt_api_email:apigee_mgmt_api_password spécifie l'adresse e-mail d'un compte ayant accès aux API Edge /stats.
- ms_IP est l'adresse IP ou le nom DNS de l'appareil Edge. Serveur de gestion.
- org_name et env_name spécifient organisation et environnement.
- apiproxy est la dimension qui regroupe les métriques par proxy d'API.
MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour
spécifie la période divisée en unités de temps pour les métriques à collecter. Notez que La commandecurl
utilise le code hexadécimal%20
pour les espaces dans le temps la plage d'adresses IP.
Par exemple, pour recueillir le nombre de messages proxy de l'API heure par heure sur une période de 24 heures, utilisez la classe suivi de via un appel d'API.
curl -X GET -u apigee_mgmt_api_email:apigee_mgmt_api_password \ "http://192.168.56.103:8080/v1/organizations/myOrg/environments/prod/stats/apiproxy?select=sum(message_count)&timeRange=01%2F01%2F2018%2000%3A00~01%2F02%2F2018%2000%3A00&timeUnit=hour"
Notez que timeRange
contient des caractères encodés en URL.
Vous devriez obtenir une réponse au format suivant :
{ "environments" : [ { "dimensions" : [ { "metrics" : [ { "name" : "sum(message_count)", "values": [ { "timestamp": 1514847600000, "value": "35.0" }, { "timestamp": 1514844000000, "value": "19.0" }, { "timestamp": 1514840400000, "value": "58.0" }, { "timestamp": 1514836800000, "value": "28.0" }, { "timestamp": 1514833200000, "value": "29.0" }, { "timestamp": 1514829600000, "value": "33.0" }, { "timestamp": 1514826000000, "value": "26.0" }, { "timestamp": 1514822400000, "value": "57.0" }, { "timestamp": 1514818800000, "value": "41.0" }, { "timestamp": 1514815200000, "value": "27.0" }, { "timestamp": 1514811600000, "value": "47.0" }, { "timestamp": 1514808000000, "value": "66.0" }, { "timestamp": 1514804400000, "value": "50.0" }, { "timestamp": 1514800800000, "value": "41.0" }, { "timestamp": 1514797200000, "value": "49.0" }, { "timestamp": 1514793600000, "value": "35.0" }, { "timestamp": 1514790000000, "value": "89.0" }, { "timestamp": 1514786400000, "value": "42.0" }, { "timestamp": 1514782800000, "value": "47.0" }, { "timestamp": 1514779200000, "value": "21.0" }, { "timestamp": 1514775600000, "value": "27.0" }, { "timestamp": 1514772000000, "value": "20.0" }, { "timestamp": 1514768400000, "value": "12.0" }, { "timestamp": 1514764800000, "value": "7.0" } ] } ], "name" : "proxy1" } ], "name" : "prod" } ], "metaData" : { "errors" : [ ], "notices" : [ "query served by:53dab80c-e811-4ba6-a3e7-b96f53433baa", "source pg:6b7bab33-e732-405c-a5dd-4782647ce096", "Table used: myorg.prod.agg_api" ] } }
Pour importer ces données dans Apigee à partir d'une machine avec accès à Internet, utilisez le code suivant :
Commande curl
:
curl -X POST -H 'Content-Type:application/json' \ -u apigee_analytics_client_id:apigee_analytics_secret \ https://nucleus-api-prod.apigee.com/v1/apigee-analytics-cli-api/traffic/orgs/org_name/apis -d '"environments"...'
Où :
- apigee_analytics_client_id:apigee_analytics_secret indiquez votre les identifiants pour importer dans Apigee les données obtenues auprès d'Apigee.
- org_name spécifie le nom de l'organisation.
- "environments"... contient les résultats de la commande
curl
qui que vous utilisiez pour recueillir les statistiques ci-dessus.