Envía estadísticas de tráfico de API a Apigee

Todos los clientes de Edge para nube privada deben enviar estadísticas sobre el tráfico del proxy de API a Apigee. Apigee recomienda que subas esa información una vez al día, posiblemente mediante la creación de un trabajo cron.

Debes enviar las estadísticas para las implementaciones de tus APIs de producción, pero no para las APIs en implementaciones de prueba o desarrollo. En la mayoría de las instalaciones de Edge, definirás organizaciones o entornos específicos para tus APIs de producción. Las estadísticas que envíes son solo para esas organizaciones y entornos de producción.

Enviar las estadísticas de tráfico de tu API a Apigee

Para enviar tus estadísticas a Apigee, sigue estos pasos:

  1. Recopila los datos con la API de Edge Management.
  2. Envía los datos por correo electrónico a Edge.apiops@google.com

Debes repetir este proceso para cada organización de producción y entorno en la instalación de Edge.

Cómo recopilar los datos

Usa el siguiente comando de curl para recopilar datos de tráfico de una organización y un entorno específicos durante un intervalo de tiempo específico:

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"

Este comando usa la API de recuento de mensajes de la API de Edge Get. En este comando, la siguiente instrucción:

  • apigee_mgmt_api_email:apigee_mgmt_api_password especifica la dirección de correo electrónico de una cuenta con acceso a las APIs de Edge o estadísticas.
  • ms_IP es la dirección IP o el nombre de DNS del servidor de administración perimetral.
  • org_name y env_name especifican la organización y el entorno.
  • apiproxy es la dimensión que agrupa las métricas por proxies de API.
  • MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour especifica el intervalo de tiempo dividido en unidades de tiempo de las métricas que se recopilarán. Ten en cuenta que el comando curl usa el código hexadecimal %20 para los espacios en el intervalo de tiempo.

Por ejemplo, para recopilar los recuentos de mensajes del proxy de la API hora por hora durante un período de 24 horas, usa la siguiente llamada a la 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"

(Ten en cuenta que timeRange contiene caracteres codificados para URL).

Deberías ver una respuesta en el formulario como la siguiente:

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