Função do Remetente de Log do APM

Descubra como usar a função pré-criada do Remetente de Log do APM no OCI Functions para mover logs de serviço para um domínio do APM.

Cenários de Uso Comum

Use o PBF do Remetente de Log do APM para mover logs de serviço para um domínio do APM usando a função como destino de um conector de serviço. O principal uso dessa função é monitorar as integrações do Oracle Integration Cloud (OIC) com o Application Performance Monitoring (APM) conectando um log de fluxo de atividades do OIC à função.

Os serviços relacionados à função Remetente de Log do APM incluem:

Escopo

As considerações de escopo para esta função incluem:

Pré-requisitos e Recomendações

Veja a seguir as melhores práticas ao usar essa função predefinida:

  • Defina o timeout da função pré-criada como 300 segundos.
  • Se a sub-rede especificada para o aplicativo for uma sub-rede privada, a VCN deverá incluir um gateway de serviço. Se a sub-rede especificada para o aplicativo for uma sub-rede pública, a VCN deverá incluir um gateway de internet. Em ambos os casos, as regras de roteamento necessárias devem existir. Consulte as instruções no tópico de solução de problemas Chamar uma função retorna uma mensagem FunctionInvokeImageNotAvailable e um erro 502.
  • A função, o domínio do APM e o recurso de log devem estar todos na mesma região.

Configurando a Função Remetente de Log do APM

Para criar uma função Remetente de Log do APM, execute as seguintes etapas:

  1. Na página Funções Pré-Criadas, selecione Remetente de Log do APM e, em seguida, selecione Criar função.
  2. Configure o Nome, o Compartimento e o Aplicativo da seguinte maneira:
    • Nome: um nome à sua escolha para a nova função. O nome deve começar com letra ou sublinhado, seguido de letras, números, traços ou sublinhados. O tamanho pode ser de 1 a 255 caracteres. Evite digitar informações confidenciais.

      Para criar a função em outro compartimento, selecione Alterar Compartimento.

    • Aplicativo: selecione o aplicativo no qual você deseja criar a função.

      Se ainda não existir um aplicativo adequado no compartimento atual, selecione Criar novo aplicativo e especifique os seguintes detalhes:

      • Nome: Um nome para o novo aplicativo. Evite digitar informações confidenciais.
      • VCN: A VCN (rede virtual na nuvem) na qual executar funções no aplicativo. Opcionalmente, selecione Compartimento da VCN: para selecionar uma rede VCN em outro compartimento.
      • Sub-redes: A sub-rede (ou sub-redes, até três no máximo) na qual executar funções. Opcionalmente, selecione Compartimento de sub-redes: para selecionar uma sub-rede em outro compartimento.
      • Forma: A arquitetura do processador das instâncias de computação nas quais implantar e executar funções no aplicativo. Todas as funções no aplicativo são implantadas e executadas em instâncias de computação com a mesma arquitetura. A imagem da função deve conter as dependências necessárias para a arquitetura selecionada.
      • Tags: Se você tiver permissões para criar um recurso, também terá permissões para aplicar tags de formato livre a esse recurso. Para aplicar uma tag definida, você deve ter permissões para usar o namespace da tag. Para obter mais informações sobre tags, consulte Tags de Recursos. Se você não tiver certeza se deseja aplicar tags, ignore essa opção ou pergunte a um administrador. Você pode aplicar tags posteriormente.
  3. Configure a política do IAM para funções pré-criadas.

    Por padrão, o OCI Functions cria um grupo dinâmico e uma política do IAM com as instruções de política necessárias para executar a função pré-criada. Não faça alterações para aceitar o comportamento padrão.

    Se você não quiser que o OCI Functions crie automaticamente o grupo dinâmico e a política, selecione Não criar um grupo dinâmico e uma política de IAM.

    Importante

    Se você selecionar a opção Não criar um grupo dinâmico e uma política de IAM, deverá definir você mesmo o grupo dinâmico e a política de IAM.
  4. Configure a memória da função e os valores de timeout da seguinte forma:
    • Memória (em MBs): A quantidade máxima de memória que a função pode usar durante a execução, em megabytes. Esta é a memória disponível para a imagem da função.
    • Timeout (em segundos): A quantidade máxima de tempo que a função pode executar, em segundos. Se a função não for concluída no tempo especificado, o sistema cancelará a função. (Padrão: 300)
  5. (Opcional) Configure a concorrência provisionada para minimizar atrasos iniciais ao chamar a função especificando um número mínimo de chamadas de função simultâneas para as quais você deseja que a infraestrutura de execução esteja constantemente disponível. (Default: não selecionado)

    Se selecionado, especifique o número de unidades de simultaneidade provisionadas atribuídas a esta função. Padrão: 20.

    Para obter mais informações sobre simultaneidade provisionada, consulte Reduzindo a latência inicial usando simultaneidade provisionada.

  6. Defina os parâmetros de configuração da função conforme descrito em Parâmetros de Configuração.
  7. Opcionalmente, informe qualquer tag na seção Tags. Se você tiver permissões para criar um recurso, também terá permissões para aplicar tags de formato livre a esse recurso. Para aplicar uma tag definida, você deve ter permissões para usar o namespace da tag. Para obter mais informações sobre tags, consulte Tags de Recursos. Se você não tiver certeza se deseja aplicar tags, ignore essa opção ou pergunte a um administrador. Você pode aplicar tags posteriormente.
  8. Selecione Criar.

A caixa de diálogo de implantação exibe as tarefas para implantar a função (consulte Finalizando a Implantação de Função Pré-Criada).

Opções de Configuração

Parâmetros de Configuração

Nome Descrição Obrigatório
APM_DOMAIN_ID O id do domínio que deve monitorar o log de serviço. Sim
PBF_LOG_LEVEL No nível de log, as opções são DEBUG, INFO, WARN e ERROR. O padrão é INFO. No

Permissões

A execução de uma função requer determinadas políticas do serviço IAM. Se você selecionou a opção Não criar um grupo dinâmico e uma política de IAM ao criar a função, defina você mesmo o grupo dinâmico e a política de IAM.

Para definir as políticas adequadas, execute as seguintes etapas:

  • Crie um grupo dinâmico com a regra:
    ALL {resource.id = '<function_ocid>', resource.compartment.id = '<compartment_ocid>'
  • Configure uma política do IAM usando o grupo dinâmico:
    Allow dynamic-group <dynamic-group-name> to read apm-domains in compartment <compartment-name>
    Allow dynamic-group <dynamic-group-name> to {APM_DOMAIN_DATA_UPLOAD} in compartment <compartment-name>
Observação

Substitua <function-ocid> pelo OCID da função que você criou nas etapas anteriores.
Observação

Substitua <dynamic-group-name> pelo nome do grupo dinâmico que você criou usando o OCID da função.
Observação

Substitua <compartment_ocid> pelo OCID do compartimento que contém a função.
Observação

Substitua <compartment_name> pelo nome do compartimento que contém o domínio do APM.

Chamando Esta Função

O Connector Hub usa a função criada usando este PBF para mover logs de serviço para um domínio do APM.
  1. Crie uma função usando este PBF.
  2. Crie um conector no Connector Hub para encaminhar os logs do fluxo de atividades para a função:
    1. Abra o menu de navegação e selecione Análise e IA. Em Mensagens, selecione Connector Hub.
    2. Selecione o botão Criar conector.
    3. Informe um nome e uma descrição opcional.
    4. Selecionar um compartimento
    5. Em Configurar conector, defina a Origem como Log e o Destino como Funções.
    6. Em Configurar origem, aponte o Grupo de Logs e os Logs para um log de serviço.
    7. Em Configurar destino, defina o Aplicativo de função e a Função para a função criada na etapa anterior.

      Observação: não configure uma tarefa.

    8. Selecione o botão Criar.

Diagnosticando e Solucionando Problemas

Códigos de status comuns do OCI Functions

A tabela a seguir resume os erros comuns do OCI Functions que você pode encontrar ao trabalhar com funções predefinidas:

Código do Erro Mensagem de Erro Ação
200 Bem-sucedido Nenhuma
404 NotAuthorizedOrNotFound Verifique se as políticas necessárias estão configuradas (consulte A execução dos comandos da CLI do Fn Project retorna um erro 404).
444 Timeout

A conexão entre o cliente e o OCI Functions foi interrompida durante a execução da função (consulte Chamar uma função faz com que o cliente relate um timeout e um erro 444 é mostrado nos logs da função). Uma nova tentativa pode resolver o problema.

Observe que a maioria dos clientes tem um tempo limite interno de 60 segundos. Mesmo quando o timeout da função pré-criada é definido como 300 segundos, o seguinte pode ser necessário:

  • Ao usar a CLI do OCI: Use --read-timeout 300
  • Ao usar o OCI SDK: Defina o timeout de leitura como 300 ao criar o cliente
  • Ao usar DBMS_CLOUD.SEND_REQUEST: Use UTL_HTTP.set_transfer_timeout(300);

Para obter mais informações, consulte Chamando Funções.

502 504 (vários) A maioria dos problemas retorna um código de status 502 (consulte Chamar uma função retorna uma mensagem de falha de Função e um erro 502). Um erro 502 com a mensagem "error receive function response" pode ser resolvido aumentando a alocação de memória. Um 502 pode ocorrer ocasionalmente quando a função está em algum estado transitório. Uma nova tentativa pode resolver o problema.

Para identificar ainda mais a causa, ative os recursos de log para a função pré-criada (consulte Armazenando e Exibindo Logs de Função). Para obter informações detalhadas sobre como diagnosticar e solucionar problemas de uma função, consulte Diagnosticando e Solucionando Problemas do OCI Functions.

Mensagens de erro da função pré-criada do Remetente de Log do APM

A tabela a seguir resume os erros que você pode encontrar ao trabalhar com essa função predefinida:

Código do Erro Mensagem de Erro Ação
n/d Não é possível recuperar o ponto final de upload de dados

Verifique se a seguinte instrução de política necessária foi criada:

Allow dynamic-group <dynamic-group-name> to read apm-domains in compartment <compartment-name>
n/d Falha na contabilização no coletor do APM

Verifique se a seguinte instrução de política necessária foi criada:

Allow dynamic-group <dynamic-group-name> to {APM_DOMAIN_DATA_UPLOAD} in compartment <compartment-name>

Verifique se a VCN do aplicativo tem o gateway apropriado configurado. Consulte Pré-requisitos e Recomendações.

Para identificar ainda mais a causa, ative os recursos de log para a função pré-criada (consulte Armazenando e Exibindo Logs de Função).

Dicas de Análise de Log

Todas as funções pré-criadas fornecem uma opção para especificar o nível de log como um parâmetro de configuração. Você pode definir o nível de log como DEBUG para obter mais informações.

Como um aplicativo tem várias funções, as entradas de log de função pré-criadas são identificadas pelo prefixo "PBF | <PBF NAME> ".

Por exemplo, uma entrada de log para a função pré-criada do Remetente de Log do APM é semelhante à seguinte:

"PBF | APM Log Sender | ERROR | 2024-08-13T12:44:49.579050219Z | Unable to retrieve data upload endpoint"