• EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

Caso haja alguma divergência entre a versão em inglês e a traduzida, a versão em inglês prevalece. Acesse esta página para mais informações.

Criar um problema

Abordagens para monitoramento de desempenho .NET AWS Lambda Serverless

A visibilidade unificada dos comportamentos mais detalhados da sua função .NET do Lambda é essencial para que você possa entender o que está acontecendo no seu aplicativo serverless. Essas informações permitem solucionar problemas e otimizar suas funções para que possam trabalhar mais rapidamente e fornecer resultados consistentes.

Você pode escolher entre duas abordagens de instrumentação para obter visibilidade da sua função .NET do Lambda:

Use as dicas abaixo para ajudá-lo a decidir qual abordagem é melhor para você.

Comparação de recursos

A tabela a seguir descreve os diferentes requisitos e capacidades de cada abordagem:

Agente New Relic .NET

AWS Distro para OpenTelemetry

Requer alterações de código

Não

Sim

Precisa de ferramenta para envio de dados

Sim

Não

New Relic experiência de IU

Sem servidor

OpenTelemetry

Distributed tracing

Sim

Parcial

Métrica

Não

Sim

Rastreamento da transação

Sim

N/A

Evento de transação

Sim

Parcial

Evento/spans de erro

Sim

Sim

Span evento ou spans

Sim

Sim

Traces SQL

Sim

N/A

Perfil de tópico

Não

N/A

Gerenciamento de vulnerabilidades

Não

N/A

Chamadas externas

Sim

Parcial

Instrumentação personalizada usando XML

Não

Não

Instrumentação personalizada usando API

Sim (agente)

Sim (OpenTelemetry)

Métrica personalizada

Não

Sim

Evento personalizado

Sim

N/A

Períodos personalizados

Sim

Sim

Erros personalizados

Sim

Não

Atributo personalizado

Sim

Sim

Registro

Sim

Sim

Rastreamento legado multiaplicativo

Não

Não

Informações

Logs-in-context será capturado pela extensão Lambda ou CloudWatch, não pelo in-agente encaminhamento de logs.

Agente New Relic .NET

A partir da versão 10.26.0 do agente, o agente New Relic .NET oferece suporte à função AWS instrumentada do Lambda. Na maioria dos casos, o agente .NET instrumentará automaticamente sua função AWS do Lambda. A vantagem de usar o agente é que, na maioria dos casos, nenhuma alteração de código é necessária para monitor sua função do Lambda.

Na função do Lambda, o agente mudará para um "modo serverless" que desabilitará o envio de dados diretamente para New Relic, bem como desabilitará algum outro recurso. Para enviar dados para a New Relic, você deve usar a extensão New Relic Lambda (incluída em nossa camada de agente .NET) ou o CloudWatch.

Como o agente é automaticamente o instrumento mais função do Lambda, você pode usar o pacote agente NuGet para monitor sua função do Lambda. Você precisa configurar manualmente as variáveis de ambiente para o método de implantação escolhido (consulte nosso guia de instalação). Isso ainda requer que você configure a extensão Lambda da New Relic ou a integração do CloudWatch para enviar seus dados para a New Relic.

A instrumentação automática está disponível para os seguintes tipos de função do Lambda AWS (a partir da versão do agente 10.29.0):

  • Amazon.Lambda.AspNetCoreServer.APIGatewayProxyFunction
  • Amazon.Lambda.AspNetCoreServer.APIGatewayHttpApiV2ProxyFunction
  • Amazon.Lambda.AspNetCoreServer.ApplicationLoadBalancerFunction

Limitações:

  • Métodos lambda genéricos não são instrumentados automaticamente. Se o seu método lambda for um método genérico, como Task<TResponse> MyMethod<TRequest, TResponse>(TRequest, ILambdaContext), o agente .NET atualmente não é capaz de instrumentar esse método.
  • O Lambda Annotations Framework atualmente não é compatível.
  • O evento ApiGatewayV2 está faltando algum contexto necessário para distributed tracing.
  • distributed tracing de saída para diferentes chamadas AWS SDK (como SQS) não é compatível.
  • Se o seu manipulador de função do Lambda não incluir um parâmetro ILambdaContext , o agente .NET não será capaz de reunir todas as informações esperadas sobre sua função do Lambda.
  • A função .NET do Lambda construída com o método de implantação Native AOT não é suportada.

Importante

Plug-in de estrutura sem servidor O suporte para .NET função do Lambda começa na v5.3.0 do plug-in sem servidor. Se você estiver executando uma versão do plug-in sem servidor anterior à v5.3.0, atualizar para v5.3.0 ou posterior irá instrumentar automaticamente sua função .NET do Lambda. Você pode usar a instrução exclude em seu serverless.yml para excluir funções da instrumentação automática.

AWS Distro for OpenTelemetry (ADOT) Suporte Lambda para .NET

A instrumentação OpenTelemetry Lambda para .NET fornece API de extensão e rastreamento que você pode usar para instrumentar sua função do Lambda. ADOT está disponível como uma camada para facilitar a instalação. A camada ADOT Lambda fornece uma versão reduzida do coletor AWS Distro for OpenTelemetry , que pode exportar dados OpenTelemetry para New Relic. Em vez da experiência de interface sem servidor, esta abordagem usará a interface OpenTelemetry.

Este método requer alguma configuração manual inicial, dependendo do seu método de implantação.

Para obter detalhes de instalação, consulte trace sua função .NET do Lambda com New Relic e OpenTelemetry.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.