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

Tous les clients Edge pour Private Cloud sont tenus d'envoyer des statistiques sur l'API vers Apigee. Apigee vous recommande d'importer ces informations une fois par jour, créer une tâche Cron.

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

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'adresse Edge.apiops@google.com.

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

Recueillir les données

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