Como fazer o upload de dados de tráfego da API para a Apigee: versão Beta

Edge para nuvem privada v4.18.01

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

Você precisa enviar os dados para suas implantações de API de produção, mas não para APIs em desenvolvimento. ou teste de implantações. Na maioria das instalações do Edge, você define organizações ou ambientes para suas APIs de produção. Os dados que você enviar são destinados somente à produção organizações e ambientes.

Para ajudar no upload desses dados, a Apigee oferece a versão Beta da linha de comando apigee-analytics-collector. utilitário. Esse utilitário envia o relatório de volume de chamadas de API de volta à Apigee. Todas as bordas da A instalação da nuvem privada pode usar esse utilitário para recuperar e relatar dados de tráfego para a Apigee.

Como acessar os dados enviados pelo apigee-analytics-collector

Depois de fazer o upload dos dados com o utilitário apigee-analytics-collector, acesse a Apigee 360.

Para conferir os dados, faça login no Apigee 360 e selecione a opção Usage. O A página Uso exibe um gráfico e uma tabela de uso de cada um Organizações de borda.

Como instalar o apigee-analytics-collector

O apigee-analytics-collector é uma RPM que você instala usando o utilitário apigee-service.

Onde instalar

O nó em que você instala o utilitário apigee-analytics-collector pode ser qualquer nó que possa acessar a API de gerenciamento do Edge no servidor de gerenciamento do Edge. É possível instalá-lo diretamente no servidor de gerenciamento, em outro nó da instalação do Edge ou em um nó separado, desde que ele possa fazer solicitações de API para o servidor de gerenciamento.

Acesso à Internet requisitos

Instale o utilitário apigee-analytics-collector em uma máquina virtual com acesso externo à Internet. Em seguida, o utilitário apigee-analytics-collector pode fazer upload de dados diretamente para a Apigee.

Se não houver um nó com acesso à API de gerenciamento de borda no servidor de gerenciamento de borda e com acesso externo à Internet, é possível usar a API Edge Management para economizar os dados localmente. Em seguida, transfira os dados para uma máquina com acesso à Internet para fazer o upload para a Apigee. Nesse caso, não é necessário usar o utilitário apigee-analytics-collector. Consulte Como fazer upload manual de dados para o Apigee abaixo para saber mais.

Instalação

Use o comando a seguir para instalar o utilitário apigee-analytics-collector. Devido ao estiver instalando um arquivo RPM, esse comando deve ser executado pelo usuário raiz ou por um usuário que acesso total ao sudo. Para acesso sudo total, isso significa que o usuário tem acesso sudo para realizar as mesmas operações que o root.

> /opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector install 

Como executar apigee-analytics-collector

Esta seção descreve como executar o utilitário apigee-analytics-collector.

Como configurar um usuário para executar o apigee-analytics-collector

É necessário executar o apigee-analytics-collector como um usuário não raiz. Esse usuário precisa ter acesso total de sudo à conta "apigee" usuário.

Para configurar um usuário com acesso sudo total ao usuário "apigee", use o comando "visudo" para editar o arquivo sudoers e adicionar:

analyticsUser        ALL=(apigee)      NOPASSWD: ALL

em que analyticsUser é o nome de usuário da pessoa que executa o utilitário apigee-analytics-collector.

Depois de instalar o utilitário apigee-analytics-collector e configurar o usuário, teste o utilitário executando o comando de ajuda do com o utilitário apigee-analytics-collector:

> /opt/apigee/apigee-service/bin/ apigee-service apigee-analytics-collector export traffic --help

Informações necessárias para executar o apigee-analytics-collector

Você precisa das seguintes informações para executar o comando apigee-analytics-collector e encaminhar dados para a Apigee:

  • apigee_mgmt_api_uri: o URL base da API Edge na sua instância Servidor. Esse URL geralmente tem o seguinte formato:
    http://ms_IP:8080/v1

    em que ms_IP é o endereço IP ou o servidor de gerenciamento e 8080 é a porta usada pela API Edge. Se você criou uma entrada DNS para a API Edge, o URL está em o formulário:
    http://ms_DNS/v1

    Se você ativar o TLS na API Edge Management, ele estará no seguinte formato:
    https://ms_IP:8080/v1
    https://ms_DNS/v1
  • apigee_mgmt_api_email: o endereço de e-mail de uma conta com acesso ao APIs /stats do Edge Muitas vezes, esse será o e-mail do administrador do sistema do Edge ou o e-mail do administrador da organização para suas organizações de produção.
  • apigee_mgmt_api_password: a senha do Edge para a conta especificada por apigee_mgmt_api_email.
  • apigee_analytics_client_id e apigee_analytics_secret: Suas credenciais para fazer upload de dados para a Apigee. Envie um tíquete pelo suporte da Apigee para receber apigee_analytics_client_id e apigee_analytics_secret.

Exemplos de comandos

Confira abaixo um exemplo de comando para extrair dados de tráfego de todas as organizações e ambientes na instalação do Edge e fazer upload desses dados para a Apigee. Confira como usar apigee-service para executar o comando 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

O comando contém todas as informações necessárias, como apigee_analytics_client_id e apigee_analytics_secret.

Você vai encontrar os resultados no formulário:

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

Use as opções de linha de comando para controlar as ações do comando. Use as opções a seguir para especificar as organizações e os ambientes a serem incluídos nos dados gerados:

  • -i, --include_orgs (em inglês) <lista de itens separada por vírgulas>
  • -x, --exclude_orgs <comma-separated list of items>
  • -n, --include_envs <lista de itens separados por vírgulas>
  • -e, --exclude_envs <lista de itens separada por vírgulas>

Por exemplo, para especificar apenas as organizações e os ambientes de produção, use o método Opções -i (ou --include_orgs) e -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

Neste exemplo, você só coleta dados do ambiente de produção de myOrg.

Para transferir os dados para uma tela e examiná-los antes de enviá-los ao Apigee, use a opção -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 

A opção -S omite os dados e fazer o upload para a Apigee. Em seguida, execute novamente o comando sem a opção -S para enviar os dados à Apigee.

Um motivo para usar o -S é possível exibir diferentes tipos de dados localmente. A Apigee exige apenas que você enviar dados de tráfego da API, mas a opção -D permite exibir dados sobre a API desenvolvedores, apps ou proxies de API. O exemplo abaixo usa as opções -D e -S para exibir dados do desenvolvedor locally:

>  /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 

Inclua a opção -v para receber saída detalhada e a opção -R para conferir os comandos curl gerados por 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 

A próxima seção contém uma lista completa de opções de linha de comando.

Parâmetros de comando

A tabela a seguir lista o conjunto completo de opções para o utilitário apigee-analytics-collector:

Comando

Uso

-h, --help

Informações de uso de saída

-D, --dimension &lt;dimension&gt;

A dimensão de tráfego a ser coletada. Dimensões válidas: apiproducts, devs, apps, apiproxy (padrão)

-d, --days &lt;days&gt;

O número de dias anteriores, a partir da data atual, de dados a serem coletados. O o padrão é 3.

Se você especificar -d, não especifique também -s e -z para definir um período de tempo.

-m, --apigee_mgmt_api_uri &lt;apigee_mgmt_api_uri&gt;

URL para a API de gerenciamento do Edge.

-u, --apigee_mgmt_api_email &lt;apigee_mgmt_api_email&gt;

O endereço de e-mail de uma conta com acesso às APIs /stats do Edge. Geralmente, esse é o e-mail do administrador do sistema do Edge ou do administrador da organização de produção.

-p, --apigee_mgmt_api_password <apigee_mgmt_api_password>

Senha associada à conta de e-mail da API Edge Management especificada por -u.

-i, --include_orgs <items>

Lista separada por vírgulas de organizações a serem incluídas na saída.

-x, --exclude_orgs <items>

Lista separada por vírgulas de organizações a serem excluídas da saída.

-n, --include_envs &lt;items&gt;

Lista separada por vírgulas de ambientes para incluir na saída.

-e, --exclude_envs <items>

Lista separada por vírgulas de ambientes a serem incluídos na saída.

-o, --output <path>

Caminho e nome de arquivo para salvar a saída.

-s, --time_range_start &lt;time_range_start&gt;

Intervalo de tempo para começar a consultar as estatísticas de tráfego, no formato: "03/01/2016 00:00".

Se você especificar -d, não especifique também -s e -z para definir um intervalo de tempo.

-z, --time_range_end <time_range_end>

Término do período para consultar as estatísticas de tráfego no formato: "01/04/2016 24:00".

Se você especificar -d, não especifique também -s e -z para definir um intervalo de tempo.

-t, --time_unit &lt;time_unit&gt;

Unidade de tempo dos dados de tráfego. Semana padrão. Unidades padrão por hora. Unidades de tempo válidas: segundo, minuto, hora, dia e semana.

-S, --standard_output

Grave a saída no terminal (stdout) em vez de fazer upload dela para a Apigee.

-c, --apigee_analytics_client_id &lt;apigee_analytics_client_id&gt;

Seu ID para fazer upload de dados para a Apigee. Envie um tíquete com o suporte da Apigee para conseguir.

-r, --apigee_analytics_secret <apigee_analytics_secret>

Seu segredo para fazer upload de dados para a Apigee. Envie um tíquete com o suporte da Apigee para conseguir.

-R, --include_curl_commands

Inclua os comandos cURL gerados na saída para depuração.

-v, --verbose

Mostra uma saída detalhada.

Como fazer upload manual de dados para o Apigee

A Apigee recomenda que você instale o utilitário apigee-analytics-collector em uma máquina virtual com acesso externo à Internet. Em seguida, o utilitário apigee-analytics-collector pode fazer upload de dados diretamente para a Apigee.

No entanto, se a máquina não tiver acesso externo à Internet, use a API Edge Management para coletar dados de tráfego e usar comandos cURL para fazer upload deles para a Apigee de uma máquina com à Internet. Repita esse processo para cada organização e ambiente de produção na sua instalação do Edge.

Use o comando cURL a seguir para coletar dados de tráfego de uma organização e um ambiente específicos por 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 Message count da API Edge Get. Nesse comando:

  • apigee_mgmt_api_email:apigee_mgmt_api_password especifica: Endereço de e-mail de uma conta com acesso às APIs Edge /stats.
  • &lt;ms_IP&gt; é o endereço IP ou nome DNS do Edge Management Server.
  • {org_name} e {env_name} especificam a organização e o ambiente.
  • apiproxy é a dimensão que agrupa métricas por proxies de API.
  • MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&amp;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 os espaços no período.

Por exemplo, para reunir as contagens de mensagens do proxy de API hora a hora em um período de 24 horas, use o seguindo Management da API. O timeRange contém caracteres codificados para uso em 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"

Você verá uma resposta no formato:

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

Para fazer upload desses dados na Apigee usando uma máquina com acesso à Internet, use o cURL a seguir. comando:

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"...}'

em que:

  • apigee_analytics_client_id:apigee_analytics_secret especifica suas credenciais para fazer upload de dados para a Apigee que você recebeu do suporte da Apigee.
  • {org_name} especifica a organização.
  • {&quot;environments&quot;...} contém os resultados do comando cURL que que você usou para coletar as estatísticas acima.