O API Gateway integra-se perfeitamente ao Simple Log Service (SLS). Com o SLS, você consulta logs em tempo real, baixe-os e realiza análises estatísticas multidimensionais. Também é possível enviar os logs para o Object Storage Service (OSS) ou MaxCompute.

Recursos
Consulta de logs online
Recurso útil para solução de problemas e análises estatísticas.
Logs detalhados de chamadas
Os logs contêm os seguintes campos: Os campos requestQueryString, requestHeaders, requestBody, responseHeaders e responseBody estão disponíveis apenas para instâncias dedicadas e devem ser ativados na página de detalhes do grupo.
Parâmetro | Descrição |
apiGroupUid | ID do grupo de APIs. |
apiGroupName | Nome do grupo de APIs. |
apiUid | ID da API. |
apiName | Nome da API. |
apiStageUid | ID do ambiente. |
apiStageName | Nome do ambiente. |
httpMethod | Método HTTP usado na chamada. |
path | Caminho da requisição. |
domain | Nome de domínio utilizado na chamada. |
statusCode | Código de status HTTP. |
errorMessage | Mensagem de erro. |
appId | ID do aplicativo do chamador. |
appName | Nome do aplicativo do chamador. |
clientIp | Endereço IP do cliente. |
exception | Mensagem de erro específica do service de backend. |
exchangeTimestamp | Carimbos de data/hora dos eventos de E/S no ciclo de vida da requisição.
|
providerAliUid | ID da conta do provedor da API. |
region | Região. Exemplo: |
requestHandleTime | Horário da requisição (UTC). |
requestId | ID de requisição globalmente único. |
requestSize | Tamanho da requisição em bytes. |
responseSize | Tamanho da resposta em bytes. |
serviceLatency | Tempo total gasto acessando recursos de backend, incluindo alocação de recursos de conexão, estabelecimento da conexão e invocação do service de backend. Unidade: milissegundos. |
errorCode | Código de erro. Exemplo: |
requestProtocol | Protocolo da requisição do cliente. Valores válidos: HTTP, HTTPS e WS. |
instanceId | ID da instância onde o service de API está em execução. |
initialRequestId | Se uma API chamar outra (por exemplo, API-1 chama API-2), este campo registra o ID da requisição da primeira chamada (API-1) no log da segunda chamada (API-2). |
clientNonce | Header X-Ca-Nonce da requisição do cliente. |
requestQueryString | String de consulta da requisição do cliente (apenas instâncias dedicadas). |
requestHeaders | Headers da requisição do cliente (apenas instâncias dedicadas). |
requestBody | Corpo da requisição do cliente, até 1.024 bytes (apenas instâncias dedicadas). |
responseHeaders | Headers da resposta da API (apenas instâncias dedicadas). |
responseBody | Corpo da resposta da API, até 1.024 bytes (apenas instâncias dedicadas). |
consumerAppKey | AppKey da requisição de API. |
totalLatency | Latência total da requisição de API em milissegundos. |
customTraceId | ID de rastreamento do log de ponta a ponta. |
jwtClaims | Claims extraídas do JSON Web Token (JWT). Configure isso nas configurações do grupo de APIs. |
plugin | Lista de plug-ins correspondentes à requisição de API e seus respectivos contextos. |
Visualizar logs de API com o Simple Log Service
Métodos de configuração
Existem dois métodos de configuração disponíveis:
Utilize o recurso Log Audit no console do SLS para sincronizar logs do API Gateway. Nesse método, os logs de todas as regiões são coletados no projeto Log Audit. Nenhuma configuração adicional é necessária no API Gateway.
Configure a ingestão de dados para o API Gateway no console do SLS. Neste caso, configure a sincronização individualmente para cada região.
As seções a seguir descrevem esses dois métodos.
Para o Alibaba Gov Cloud e o Alibaba Finance Cloud, a sincronização de logs do SLS só é possível por meio do primeiro método.
Uso do Log Audit
-
Abra a página de configuração Log Audit Service e selecione uma região central, para onde todos os logs subsequentes do API Gateway serão enviados.
A parte superior da página Global Configurations exibe a região e o nome do projeto central. Abaixo, uma tabela mostra itens de configuração para cloud products como ActionTrail, Object Storage Service (OSS), RDS, Virtual Private Cloud (VPC), DNS, PolarDB, Server Load Balancer (SLB) e Application Load Balancer (ALB). Os itens incluem o interruptor de coleta de logs, Storage Mode (Centralized ou By Region), período de retenção, Sync To Center e Archive After N Days. Ative os interruptores de coleta de logs para os cloud products desejados e clique em Save no canto superior direito. Na seção Collection and Synchronization Authorization, se houver uma mensagem indicando que a conta não tem autorização para coletar e sincronizar logs, conclua a autorização usando manual authorization ou Authorize with AccessKey.
Selecione um método de autorização e siga as instruções na tela. Este exemplo utiliza a autorização manual.
-
Após concluir a autorização, os logs de chamadas do API Gateway estarão disponíveis no Logstore
apigateway_logdentro do projeto central.Os logs de chamadas do API Gateway incluem campos como
apiGroupName,apiGroupUid,apiName,apiStageName,apiStageUideapiUid. Visualize os pares chave-valor detalhados de cada entrada de log na aba Raw Logs.
Configure no console do API Gateway
1) Certifique-se de ter ativado o SLS. Em seguida, faça login no SLS console, selecione a região de destino e crie um projeto e um Logstore. Este exemplo usa a região China (Hangzhou).
Na caixa de diálogo Create Project, insira um Project Name (por exemplo, gateway-t***), mantenha o resource group padrão e selecione suas preferências na seção Enable Logging for, como Operation Log e Global Log. Depois, clique em OK. Após criar o projeto, clique em Create Logstore na caixa de diálogo exibida. Ao criar o Logstore, defina suas configurações. Por exemplo, defina o Logstore Name como gateway_log, Type como Standard, Billing Mode como Pay-By-Data-Written, Data Retention Period como 30 dias e Number of Shards como 2. Ative Auto Split Shard (até o máximo de 64 shards) e Log Public IP e clique em OK. Na caixa de diálogo final de confirmação, clique em Data Import Wizard.
2) Configure a ingestão de dados do API Gateway e selecione o product API Gateway.
Ao selecionar o API Gateway, a página Data Source Configuration será exibida. Confirme se a RAM authorization foi concluída (a página exibe "You have authorized Log Service to distribute logs"). Na seção Create Distribution Rule, confirme se os logs de acesso do API Gateway estão sendo importados para o Logstore de destino e clique em Next. Continue clicando em Next nas etapas restantes para concluir a configuração.
Visualize logs
Faça login no console do SLS para visualizar logs e pesquisar logs de chamadas usando a sintaxe de consulta do SLS.
Nos resultados da consulta, cada entrada de log contém campos como apiGroupName, apiGroupUid, apiName, __source__, __tag__:__receive_time__ e __topic__. Filtre os logs por campo no painel Quick Analysis à esquerda ou use a sintaxe de consulta na caixa de pesquisa na parte superior para buscas precisas.
Personalizar relatórios de consulta
Personalize os relatórios de consulta conforme as necessidades do seu negócio. Para obter instruções, consulte Create a dashboard.