Envoyer des statistiques sur le trafic de l'API à Apigee

Tous les clients Edge for Private Cloud doivent envoyer des statistiques sur le trafic du proxy d'API à Apigee. Apigee vous recommande de télécharger ces informations une fois par jour, éventuellement en créant une tâche Cron.

Vous devez envoyer les statistiques pour vos déploiements d'API de 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 statistiques que vous envoyez ne concernent que ces organisations et ces environnements de production.

Envoyer les statistiques de trafic de vos API à Apigee

Pour envoyer vos statistiques à Apigee:

  1. Collectez les données à l'aide de l'API de gestion Edge.
  2. Envoyez les données par e-mail à l'adresseedge.apiops@google.com.

Vous devez répéter ce processus pour chaque organisation de production et chaque environnement de votre installation Edge.

Collecter les données

Exécutez la commande curl suivante pour collecter des données de trafic pour une organisation et un environnement spécifiques sur 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 décompte de 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 du serveur de gestion Edge.
  • org_name et env_name spécifient l'organisation et l'environnement.
  • apiproxy est le composant 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 %20 pour les espaces compris dans la période.

Par exemple, pour recueillir le nombre de messages de proxy d'API heure par heure sur une période de 24 heures, utilisez l' appel d'API suivant.

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