Como enviar estatísticas de tráfego da API para a Apigee

Todos os clientes do Edge para nuvem privada precisam enviar estatísticas sobre o tráfego de proxy de API para a Apigee. A Apigee recomenda que você faça upload dessas informações uma vez por dia, possivelmente criando um cron job.

Você precisa enviar as estatísticas das implantações de API de produção, mas não das APIs em implantações de desenvolvimento ou teste. Na maioria das instalações do Edge, você define organizações ou ambientes específicos para suas APIs de produção. As estatísticas enviadas são apenas para essas organizações e ambientes de produção.

Enviar suas estatísticas de tráfego de API para a Apigee

Para enviar suas estatísticas à Apigee:

  1. Colete os dados usando a API Management do Edge.
  2. Envie os dados por e-mail para: edge.apiops@google.com

Repita esse processo para cada organização e ambiente de produção na instalação do Edge.

Coletar os dados

Use o seguinte comando curl para coletar dados de tráfego de uma organização e um ambiente específicos em um intervalo de tempo especificado:

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"

Esse comando usa a API Get API message count do Edge. Nesse comando:

  • apigee_mgmt_api_email:apigee_mgmt_api_password especifica o endereço de e-mail de uma conta com acesso às APIs /stats do Edge.
  • ms_IP é o endereço IP ou o nome DNS do servidor de gerenciamento do Edge.
  • org_name e env_name especificam a organização e o ambiente.
  • apiproxy é a dimensão que agrupa as métricas por proxies de API.
  • MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour especifica o período dividido em unidades de tempo das métricas a serem coletadas. Observe que o comando curl usa o código hexadecimal %20 para espaços no período.

Por exemplo, para coletar contagens de mensagens de proxy de API hora a hora em um período de 24 horas, use a seguinte chamada de 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"

Observe que timeRange contém caracteres codificados em URL.

Você verá uma resposta no formato:

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