Adicionando Registro em Log a Implantações de API
Descubra como adicionar políticas de log a especificações de API que você criou anteriormente com o serviço API Gateway.
Após ter criado um gateway de API e implantado uma ou mais APIs nele, provavelmente haverá ocasiões em que você precisará ver mais detalhes sobre o fluxo de tráfego dentro e fora do gateway de API. Por exemplo, talvez você queira revisar respostas retornadas aos clientes de API ou diagnosticar e corrigir erros. Você pode especificar que o serviço API Gateway armazena informações sobre solicitações e respostas que passam por um gateway de API e informações sobre processamento dentro de um gateway de API, como logs no serviço Oracle Cloud Infrastructure Logging.
- Logs de acesso, que registram um resumo de cada solicitação e resposta que passa pelo gateway de API de e para uma implantação de API. Para obter mais informações sobre o conteúdo do log de acesso, consulte Log de Acesso de Implantação de API.
- Logs de execução, que registram informações sobre processamento dentro do gateway de API para uma implantação de API. Para obter mais informações sobre o conteúdo do log de execução, consulte Log de Execução de Implantação de API. Você pode especificar um nível de log para logs de execução como um dos seguintes:
- Informações, para registrar um resumo de cada estágio do processamento.
- Advertência, para registrar somente erros transitórios que ocorrem durante o processamento. Por exemplo, uma redefinição de conexão.
- Erro, para registrar somente erros persistentes que ocorrem durante o processamento. Por exemplo, um erro interno ou uma chamada para uma função que retorna uma mensagem 404.
Você pode definir um nível de log de execução para uma implantação de API e também definir diferentes níveis de log de execução para rotas individuais para substituir o nível de log de execução herdado da implantação de API.
Você pode adicionar registro em log a uma especificação de implantação de API fazendo o seguinte:
- usando a Console
- editando um arquivo JSON
Usando a Console para Adicionar Registro em Log
Usando a Console para Configurar e Ativar Logs no Oracle Cloud Infrastructure Logging
Para configurar e ativar logs de implantação de API usando a Console para armazenar logs no Oracle Cloud Infrastructure Logging:
-
Crie ou atualize uma implantação de API usando a Console, selecione a opção Criar implantação e informe detalhes na página Informações Básicas.
Para obter mais informações, consulte Implantando uma API em um Gateway da API Criando uma Implantação de API e Updating an API Gateway.
-
Na seção Políticas de registro de API da página de Informações básicas, especifique uma das seguintes opções como o nível de log de execução para registrar informações sobre o processamento no gateway da APIs:
- Informações: Registre um resumo de cada estágio de processamento. Esta é a opção padrão.
- Advertência: Registre somente erros transitórios que ocorrem durante o processamento. Por exemplo, uma redefinição de conexão.
- Erro: Registre somente erros persistentes que ocorrem durante o processamento. Por exemplo, um erro interno ou uma chamada para uma função que retorna uma mensagem 404.
-
Selecione Próximo duas vezes para informar detalhes de rotas individuais na implantação de API na página Rotas, selecione Adicionar rota e Mostrar Políticas de Registro em Log de Rota.
-
Especifique uma das seguintes opções como a Substituição do Nível de Log da Execução que se aplica a uma rota individual:
- Herdado da implantação: Herda o nível de log de execução da implantação de API.
- Informações: Registre um resumo de cada estágio de processamento.
- Advertência: Registre somente erros transitórios que ocorrem durante o processamento. Por exemplo, uma redefinição de conexão.
- Erro: Registre somente erros persistentes que ocorrem durante o processamento. Por exemplo, um erro interno ou uma chamada para uma função que retorna uma mensagem 404.
- Selecione Próximo para revisar os detalhes informados para a implantação de API.
- Selecione Criar ou Atualizar para criar ou atualizar a implantação de API.
A implantação de API é mostrada na página de detalhes da implantação de API.
- Na guia Logs, selecione Ativar log no menu ao lado da categoria de log (Logs de Execução ou Logs de Acesso) para a qual você deseja criar e ativar um novo log de implantação de API no serviço Oracle Cloud Infrastructure Logging no painel de entrada Criar Log:
- Compartimento: Por padrão, o compartimento atual.
- Grupo de logs: Por padrão, o primeiro grupo de logs no compartimento.
-
Nome de log: Por padrão,
<deployment-name>_executionou<deployment-name>_access, dependendo de qual categoria você seleciona. - Retenção de logs: O período de retenção padrão para o log em incrementos de 30 dias, até um máximo de 180 dias.
- Selecione Ativar log para criar o novo log e ativá-lo.
Editando um Arquivo JSON para Adicionar Registro em Log
Editando um Arquivo JSON para Definir o Nível de Log de Execução para Logs Armazenados no Oracle Cloud Infrastructure Logging
Para editar a especificação de implantação de API em um arquivo JSON para definir o nível de log dos logs de execução armazenados no Oracle Cloud Infrastructure Logging:
-
Usando seu editor JSON preferencial, edite a especificação existente de implantação da API na qual você deseja definir o nível de log para logs de execução armazenados no Oracle Cloud Infrastructure Logging ou crie uma nova especificação da implantação da API (consulte Criando uma Especificação de Implantação da API).
No mínimo, a especificação de implantação de API incluirá uma seção
routescontendo:- Um caminho. Por exemplo,
/hello - Um ou mais métodos. Por exemplo,
GET - Uma definição de um back-end. Por exemplo, um URL ou o OCID de uma função no OCI Functions.
Por exemplo, a seguinte especificação básica de implantação de API define uma função simples sem servidor Hello World no OCI Functions como um único back-end:
{ "routes": [ { "path": "/hello", "methods": ["GET"], "backend": { "type": "ORACLE_FUNCTIONS_BACKEND", "functionId": "ocid1.fnfunc.oc1.phx.aaaaaaaaab______xmq" } } ] } - Um caminho. Por exemplo,
-
(Opcional) Para definir o nível de log para logs de execução que se aplica globalmente a todas as rotas na especificação de implantação de API:
-
Insira uma seção
loggingPoliciesantes da seçãoroutes. Por exemplo:{ "loggingPolicies": {}, "routes": [ { "path": "/hello", "methods": ["GET"], "backend": { "type": "ORACLE_FUNCTIONS_BACKEND", "functionId": "ocid1.fnfunc.oc1.phx.aaaaaaaaab______xmq" } } ] } -
Especifique o nível de detalhe a ser registrado sobre o processamento dentro do gateway de API para todas as rotas, incluindo a política
executionLogna seçãologgingPoliciese definindo a propriedadelogLevelcomo uma das seguintes:-
INFOpara registrar um resumo de cada estágio do processamento. -
WARNpara registrar somente erros transitórios que ocorrem durante o processamento. Por exemplo, uma redefinição de conexão. -
ERRORpara registrar somente erros persistentes que ocorrem durante o processamento. Por exemplo, um erro interno ou uma chamada para uma função que retorna uma mensagem 404.
Por exemplo:
{ "loggingPolicies": { "executionLog": { "logLevel": "INFO" } }, "routes": [ { "path": "/hello", "methods": ["GET"], "backend": { "type": "ORACLE_FUNCTIONS_BACKEND", "functionId": "ocid1.fnfunc.oc1.phx.aaaaaaaaab______xmq" } } ] } -
-
-
(Opcional) Para definir o nível de log para logs de execução de uma rota específica (substituindo o nível de log de execução global herdado da implantação da API):
-
Insira uma seção
loggingPoliciesapós a seçãobackendda rota. Por exemplo:{ "loggingPolicies": { "executionLog": { "logLevel": "INFO" } }, "routes": [ { "path": "/hello", "methods": ["GET"], "backend": { "type": "ORACLE_FUNCTIONS_BACKEND", "functionId": "ocid1.fnfunc.oc1.phx.aaaaaaaaab______xmq" }, "loggingPolicies": {} } ] } -
Especifique o nível de detalhe a ser registrado sobre o processamento dentro do gateway de API para a rota incluindo a política
executionLogna seçãologgingPoliciese definindo a propriedadelogLevelcomo uma das seguintes opções:-
INFOpara registrar um resumo de cada estágio do processamento. -
WARNpara registrar somente erros transitórios que ocorrem durante o processamento. Por exemplo, uma redefinição de conexão. -
ERRORpara registrar somente erros persistentes que ocorrem durante o processamento. Por exemplo, um erro interno ou uma chamada para uma função que retorna uma mensagem 404.
Por exemplo:
{ "loggingPolicies": { "executionLog": { "logLevel": "INFO" } }, "routes": [ { "path": "/hello", "methods": ["GET"], "backend": { "type": "ORACLE_FUNCTIONS_BACKEND", "functionId": "ocid1.fnfunc.oc1.phx.aaaaaaaaab______xmq" }, "loggingPolicies": { "executionLog": { "logLevel": "ERROR" } } } ] } -
-
-
Salve o arquivo JSON que contém a especificação de implantação de API.
-
Use a especificação de implantação de API ao criar ou atualizar uma implantação de API das seguintes formas:
- especificando o arquivo JSON na Console quando você seleciona a opção Fazer Upload de uma API de implantação existente
- especificando o arquivo JSON em uma solicitação à API REST do serviço API Gateway
Para obter mais informações, consulte Implantando uma API em um Gateway de API por meio da Criação de uma Implantação de API.
- Tendo definido o nível de log para logs de execução, siga as instruções em Ativando o Registro em Log para um Recurso para criar e ativar um novo log de implantação de API no serviço Oracle Cloud Infrastructure Logging.
Exibindo Logs
Tendo adicionado registro em log a uma especificação de implantação de API e implantado a API em um gateway de API, o serviço API Gateway grava os logs adequadamente.
Exibindo Logs no Oracle Cloud Infrastructure Logging
Você pode exibir o conteúdo de um log da implantação de API no Oracle Cloud Infrastructure Logging na página de detalhes da implantação de API. Na guia Logs, selecione o nome do log que você deseja exibir.
Como alternativa, você pode exibir o conteúdo de um log de implantação da API na página Pesquisa de Log do Oracle Cloud Infrastructure Logging. Consulte Como Obter Detalhes de um Log.
Para obter mais informações sobre o conteúdo dos logs de acesso e execução, consulte: