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 Totalmente Nova e insira os detalhes na página Informações Básicas.
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 e Atualizando um Gateway de API.
-
Na seção Políticas de Registro em Log da API da página Informações Básicas, especifique uma das seguintes opções como o Nível de Log de Execução para registrar informações sobre processamento dentro do gateway de API:
- 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 e selecione Mostrar Políticas de Registro em Log de Rota.
-
Especifique uma das opções a seguir como Substituição do Nível de Log de Execução que se aplica a uma rota individual (para substituir o nível de log de execução herdado 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 Salvar Alterações para criar ou atualizar a implantação de API.
A implantação de API é mostrada na página Detalhes da Implantação da API.
- Em Recursos, selecione Logs e, em seguida, selecione o controle deslizante Ativar Registro em Log para 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.
- Categoria de Log: Selecione Execução ou Acesso.
- Nome do Log: Por Padrão,
<deployment-name>_execution
ou<deployment-name>_access
, dependendo da categoria selecionada.
Para obter mais informações, consulte Ativando o Registro em Log para um Recurso.
- 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 de implantação de API existente 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 de implantação de API (consulte Criando uma Especificação de Implantação de API).
No mínimo, a especificação de implantação de API incluirá uma seção
routes
contendo:- 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
loggingPolicies
antes 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
executionLog
na seçãologgingPolicies
e definindo a propriedadelogLevel
como uma das seguintes:INFO
para registrar um resumo de cada estágio do processamento.WARN
para registrar somente erros transitórios que ocorrem durante o processamento. Por exemplo, uma redefinição de conexão.ERROR
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.
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
loggingPolicies
após a seçãobackend
da 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
executionLog
na seçãologgingPolicies
e definindo a propriedadelogLevel
como uma das seguintes opções:INFO
para registrar um resumo de cada estágio do processamento.WARN
para registrar somente erros transitórios que ocorrem durante o processamento. Por exemplo, uma redefinição de conexão.ERROR
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.
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ê selecionar a opção Fazer upload de uma API 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 de implantação da API no Oracle Cloud Infrastructure Logging na página Detalhes da Implantação da API. Em Recursos, selecione Logs e, em seguida, 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: