Edge for Private Cloud v4.18.01
Tous les clients Edge for Private Cloud sont tenus de soumettre à Apigee des statistiques sur le trafic des proxys d'API. Apigee recommande aux clients d'importer ces informations une fois par jour, éventuellement en créant un job Cron.
Vous devez envoyer les données pour vos déploiements d'API en production, mais pas pour les API en cours de développement ou de test. Dans la plupart des installations Edge, vous définissez des organisations ou des environnements spécifiques pour vos API de production. Les données que vous envoyez ne concernent que ces organisations et environnements de production.
Pour faciliter l'importation de ces données, Apigee fournit la version bêta de l'utilitaire de ligne de commande apigee-analytics-collector. Cet utilitaire renvoie le rapport sur le volume d'appels d'API à Apigee. Chaque installation d'Edge pour Private Cloud peut utiliser cet utilitaire pour récupérer et signaler les données de trafic à Apigee.
Accéder aux données importées par apigee-analytics-collector
Après avoir importé des données avec l'utilitaire apigee-analytics-collector, vous pouvez les afficher dans Apigee 360.
Pour afficher les données, connectez-vous à Apigee 360, puis sélectionnez l'option Utilisation. La page Utilisation affiche un graphique d'utilisation et un tableau des données d'utilisation pour chacune de vos organisations Edge.
Installer apigee-analytics-collector
L'utilitaire 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 quel nœud 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 nœud distinct, à condition que ce nœud puisse envoyer des requêtes API au serveur de gestion.
Conditions d'accès à Internet
Installez l'utilitaire apigee-analytics-collector sur une machine disposant d'un accès à Internet externe. L'utilitaire apigee-analytics-collector peut ensuite importer des données directement dans Apigee.
S'il n'existe aucun nœud ayant à la fois accès à l'API de gestion Edge sur le serveur de gestion Edge et à un accès Internet externe, vous pouvez utiliser l'API de gestion Edge pour enregistrer les données de trafic localement. Vous devez ensuite transférer les données vers une machine disposant d'un accès à Internet pour les importer dans Apigee. Dans ce scénario, vous n'avez pas besoin d'utiliser l'utilitaire apigee-analytics-collector. Pour en savoir plus, consultez la section Importer manuellement des données dans Apigee ci-dessous.
Installation
Utilisez la commande suivante pour installer l'utilitaire apigee-analytics-collector. Comme vous installez un fichier RPM, cette commande doit être exécutée par l'utilisateur racine ou par un utilisateur disposant d'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 opérations que l'utilisateur 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. Cet utilisateur doit disposer d'un accès sudo complet à l'utilisateur "apigee".
Pour configurer un utilisateur afin qu'il dispose d'un accès sudo complet à l'utilisateur "apigee", utilisez la commande "visudo" pour modifier le fichier sudoers afin d'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 configuré l'utilisateur, vous pouvez tester l'utilitaire en exécutant la commande d'aide de 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 transférer des données vers Apigee :
- apigee_mgmt_api_uri : URL de base de l'API Edge sur votre serveur de gestion. 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 est au format suivant :
http://ms_DNS/v1
Si vous activez TLS sur l'API de gestion Edge, l'URL est au format suivant :
https://ms_IP:8080/v1
https://ms_DNS/v1 - apigee_mgmt_api_email : adresse e-mail d'un compte ayant accès aux API Edge /stats. Il s'agit souvent de l'adresse e-mail de l'administrateur système Edge ou de l'adresse e-mail de l'administrateur de l'organisation pour vos organisations de production.
- apigee_mgmt_api_password : mot de passe Edge du compte spécifié par apigee_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 pour obtenir apigee_analytics_client_id et apigee_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 tous les environnements de l'installation Edge, puis d'importer ces données dans Apigee. Notez que vous utilisez apigee-service pour exécuter 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 vos 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 les actions de la commande. Utilisez les options suivantes pour spécifier les organisations et les environnements à inclure dans les données générées :
- -i, --include_orgs <liste d'éléments séparés par une virgule>
- -x, --exclude_orgs <comma-separated list of items>
- -n, --include_envs <liste d'éléments séparés par une virgule>
- -e, --exclude_envs <comma-separated list of items>
Par exemple, pour ne spécifier que les organisations et les environnements de production, utilisez les options -i (ou --include_orgs) et -n (ou --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 que les données de l'environnement de production de myOrg.
Pour vider les données sur un écran afin de les examiner avant de les envoyer à Apigee, utilisez l'option -S :
> /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 l'importation des données dans Apigee. Vous pouvez ensuite réexécuter la commande sans l'option -S pour envoyer les données à Apigee.
L'option -S permet d'afficher différents types de données localement. Apigee ne vous demande que d'importer les données de trafic de l'API, mais l'option -D vous permet d'afficher des données sur les produits d'API, les développeurs, les applications ou les proxys d'API. L'exemple ci-dessous utilise les options -D et -S pour afficher les données du développeur localement :
> /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 la liste complète des options de ligne de commande.
Paramètres de commande
Le tableau suivant répertorie l'ensemble des options de l'utilitaire apigee-analytics-collector :
|
Commande |
Utilisation |
|---|---|
|
-h,--help |
Informations sur l'utilisation des sorties |
|
-D, --dimension <dimension> |
Dimension de trafic à collecter. Dimensions valides : apiproducts, devs, apps, apiproxy (par défaut) |
|
-d, --days <days> |
Nombre de jours passés, à partir de la date actuelle, pour lesquels collecter des données. La valeur par défaut est 3. Si vous spécifiez -d, ne spécifiez pas également -s et -z pour définir une période. |
|
-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> |
Adresse e-mail d'un compte ayant accès aux API Edge /stats. Il s'agit souvent de l'adresse e-mail de l'administrateur système Edge ou de l'adresse e-mail de l'administrateur de l'organisation pour vos organisations de production. |
|
-p, --apigee_mgmt_api_password <apigee_mgmt_api_password> |
Mot de passe associé au compte de messagerie de l'API Management Edge spécifié par -u. |
|
-i, --include_orgs <items> |
Liste d'organisations séparées par une virgule à inclure dans le résultat. |
|
-x, --exclude_orgs <items> |
Liste d'organisations à exclure de la sortie, séparées par une virgule. |
|
-n, --include_envs <items> |
Liste d'environnements séparés par une virgule à inclure dans le résultat. |
|
-e, --exclude_envs <items> |
Liste d'environnements à inclure dans la sortie, séparés par une virgule. |
|
-o, --output <path> |
Chemin d'accès et nom de fichier pour enregistrer la sortie. |
|
-s, --time_range_start <time_range_start> |
Période de début de l'interrogation des statistiques de trafic, au format "03/01/2016 00:00". Si vous spécifiez -d, ne spécifiez pas également -s et -z pour définir une période. |
|
-z, --time_range_end <time_range_end> |
Fin de la période d'interrogation des statistiques de trafic, au format "04/01/2016 24:00". Si vous spécifiez -d, ne spécifiez pas également -s et -z pour définir une période. |
|
-t, --time_unit <time_unit> |
Unité de temps pour les données de trafic. Semaine par défaut. Unités par défaut par heure. Unités de temps valides : seconde, minute, heure, jour, semaine. |
|
-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 pour l'obtenir. |
|
-r, --apigee_analytics_secret <apigee_analytics_secret> |
Votre secret pour importer des données dans Apigee. Veuillez envoyer une demande à l'assistance Apigee pour l'obtenir. |
|
-R, --include_curl_commands |
Incluez les commandes cURL générées dans la sortie pour le débogage. |
|
-v, --verbose |
Affiche une sortie détaillée. |
Importer manuellement des données dans Apigee
Apigee vous recommande d'installer l'utilitaire apigee-analytics-collector sur une machine disposant d'un accès à Internet externe. L'utilitaire apigee-analytics-collector peut ensuite importer des données directement dans Apigee.
Toutefois, si la machine ne dispose pas d'un accès à Internet externe, utilisez l'API Management Edge pour collecter les données sur le trafic, puis utilisez les commandes cURL pour les importer dans Apigee à partir d'une machine disposant d'un accès à Internet. Vous devez répéter cette procédure pour chaque organisation et environnement de production de votre installation Edge.
Utilisez la commande cURL suivante pour collecter des données de trafic pour une organisation et un environnement spécifiques pour 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 Edge Get API message count. 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 du serveur de gestion Edge.
- {org_name} et {env_name} spécifient l'organisation et l'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 des métriques à collecter. Notez que la commande cURL utilise le code hexadécimal
%20pour les espaces de la période.
Par exemple, pour collecter le nombre de messages de proxy d'API heure par heure sur une période de 24 heures, utilisez l' appel d'API de gestion suivant. La plage de dates contient des caractères encodés en URL.
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"
Vous devriez obtenir une réponse au format suivant :
{
"environments" : [ {
"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"
} ],
"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 ensuite ces données dans Apigee à partir d'une machine disposant d'un accès à Internet, utilisez la commande cURL suivante :
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 : spécifiez vos identifiants pour importer des données dans Apigee, que vous avez obtenus auprès de l'assistance Apigee.
- {org_name} spécifie l'organisation.
- {"environments"...} contient les résultats de la commande cURL que vous avez utilisée pour collecter les statistiques ci-dessus.