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 até criar um cron job.
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 do
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.
Obrigatório: entre em contato com o suporte da Apigee antes de fazer upload dos dados
Antes de fazer upload de dados para a Apigee, entre em contato com o suporte do Apigee Edge para concluir a integração de desenvolvimento de software.
Instale 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 pode acessar a API de gerenciamento de borda no servidor de gerenciamento de borda. Você pode instalá-lo
diretamente no servidor de gerenciamento, em outro nó da instalação do Edge ou em um
desde que ele possa fazer solicitações de API ao 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
para que possam fazer o upload dos dados
diretamente na Apigee.
Se não houver um nó com acesso à API de gerenciamento de borda no servidor de gerenciamento de borda
e acesso à Internet externa, use a API Edge Management para salvar o tráfego
os dados localmente. Em seguida, você deve transferir os dados para uma máquina com acesso à Internet para upload para
a Apigee. Nesse caso, não é necessário usar apigee-analytics-collector
utilitário. Consulte
Fazendo o upload manual de dados para
Apigee.
Instalação
Use o seguinte comando 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 total ao sudo, isso significa que o usuário tem acesso de sudo para executar
operações como raiz.
/opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector install
Como executar o 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
Você precisa executar apigee-analytics-collector
como uma instância não raiz
usuário. Esse usuário precisa ter acesso total de sudo à conta da "apigee" usuário.
Configurar um usuário para ter acesso total de sudo à "apigee" usuário, use o comando "visudo" para edite o arquivo sudoers para adicionar:
analyticsUser ALL=(apigee) NOPASSWD: ALL
Em que analyticsUser é o nome de usuário da pessoa que está executando.
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 help no
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 de base da API Edge no seu painel de gerenciamento 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, será o e-mail do administrador do sistema de 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 porapigee_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 com o suporte do Apigee Edge para receberapigee_analytics_client_id
eapigee_analytics_secret
.
Exemplos de comandos
Veja abaixo um exemplo de comando para recuperar dados de tráfego de todas as organizações e
ambientes na instalação do Edge e fazer upload desses dados para a Apigee. Percebe como você
use apigee-service
para
Execute 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.
Os resultados vão aparecer 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 seguintes opções para especificar as organizações e os ambientes a serem incluídos nos dados gerados:
-i, --include_orgs comma-separated list of items
-x, --exclude_orgs comma-separated list of items
-n, --include_envs comma-separated list of items
-e, --exclude_envs comma-separated list of items
Por exemplo, para especificar apenas as organizações e os ambientes de produção, use o método
-i
(ou --include_orgs
) e -n
(ou
Opções de --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ê coleta dados apenas do ambiente de produção do
myOrg
:
Para despejar os dados em uma tela e analisá-los antes de enviá-los à Apigee, use o -S
opção:
/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
para a Apigee. Em seguida, execute novamente o comando sem a opção -S
para enviar a
para a Apigee.
Um motivo para usar o -S
é possível exibir diferentes tipos de dados localmente. A Apigee exige apenas que você
fazer upload dos 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 -D
e
Opções do -S
para mostrar dados do desenvolvedor
localmente:
/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
a 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
Utilitário apigee-analytics-collector
:
Comando | Descrição |
---|---|
-h, --help |
Informações de uso de saída |
-D, --dimension dimension |
A dimensão de tráfego a ser coletada. Os valores válidos são:
|
-d, --days days
|
O número de dias anteriores de dados a serem coletados, a partir da data atual. A o padrão é 3. Se você especificar |
-m, --apigee_mgmt_api_uri apigee_mgmt_api_uri |
URL para a API Edge Management. |
-u, --apigee_mgmt_api_email apigee_mgmt_api_email |
O endereço de e-mail de uma conta com acesso às APIs |
-p, --apigee_mgmt_api_password apigee_mgmt_api_password |
A senha associada à conta de e-mail da API Edge Management especificada por
|
-i, --include_orgs items
|
Uma lista separada por vírgulas de organizações a serem incluídas na saída. |
-x, --exclude_orgs items
|
Uma lista separada por vírgulas de organizações a serem excluídas da saída. |
-n, --include_envs items
|
Uma lista separada por vírgulas de ambientes para incluir na saída. |
-e, --exclude_envs items
|
Uma lista separada por vírgulas de ambientes para incluir na saída. |
-o, --output path
|
Caminho e nome de arquivo para salvar a saída. |
-s, --time_range_start time_range_start
|
Período para começar a consultar as estatísticas de tráfego, no formato: "MM/DD/YYYY HH:MM". Se você especificar |
-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 |
-t, --time_unit time_unit
|
Unidade de tempo dos dados de tráfego. O valor padrão é
Se você definir |
-S, --standard_output
|
Gravar a saída no terminal (stdout), em vez de fazer upload para a Apigee. |
-c, --apigee_analytics_client_id apigee_analytics_client_id
|
Seu ID para fazer upload de dados para a Apigee. Envie um tíquete com o suporte do Apigee Edge para conseguir. |
-r, --apigee_analytics_secret apigee_analytics_secret
|
Seu secret para fazer upload de dados na Apigee. Envie um tíquete com o suporte do Apigee Edge para conseguir. |
-R, --include_curl_commands
|
Inclua os comandos |
-v, --verbose
|
Mostra a saída detalhada. |
Como fazer upload manual de dados para a 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
para que possam fazer o upload dos dados
diretamente na 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, em seguida, usar comandos curl
para fazer upload deles para a Apigee a partir de um
com
à Internet. É necessário repetir esse processo para cada organização de produção e
na sua instalação do Edge.
Use o comando curl
a seguir para coletar dados de tráfego de uma organização específica e
ambiente para 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 de contagem de mensagens 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.
- ms_IP é o endereço IP ou nome DNS do Edge. Management Server.
- org_name e env_name especificam organização e ambiente.
- apiproxy é a dimensão que agrupa 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 O comandocurl
usa o código hexadecimal%20
para espaços no fuso horário do intervalo 10.240.0.0/16.
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 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"
timeRange
contém caracteres codificados para uso em URLs.
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" ] } }
Para fazer upload desses dados na Apigee de uma máquina com acesso à Internet, use o código abaixo.
Comando curl
:
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 especificam seu credenciais para fazer upload de dados para a Apigee que você recebeu da Apigee.
- org_name especifica o nome da organização.
- "environments"... contém os resultados do comando
curl
que que você usou para coletar as estatísticas acima.