Configurando o rastreamento nativo para funções do AWS Lambda baseadas em .NET ou .NET Core

Você pode configurar Instana AutoTrace para funções AWS Lambda escritas em .NET ou .NET Core.

Para obter mais informações, acesse Instana AutoTrace.

Para configurar o rastreamento nativo para funções do Lambda baseadas em `.NET ` no ` AWS Lambda `, é necessário adicionar a camada do Lambda do ` Instana ` às suas funções do Lambda. Depois de ativar o rastreamento, você poderá visualizar os dados de rastreamento das suas funções Lambda na interface do usuário do Instana.

Tempos de execução suportados

Instana oferece suporte ao monitoramento de aplicativos executados no .NET 8 e versões posteriores.

Pré-requisitos

Configure o agente do AWS para monitoramento do Lambda a fim de coletar versões e métricas de tempo de execução que o Instana não consegue coletar a partir do próprio ambiente de execução do AWS Lambda.

Configurando funções d AWS Lambda e para rastreamento

Dependendo do seu ambiente, você pode habilitar o rastreamento para funções do AWS Lambda baseadas em .NET ou .NET Core usando uma das seguintes opções de configuração:

Ativando o rastreamento através do console web do AWS

Para habilitar o rastreamento de funções Lambda do tipo .NET ou .NET Core, siga estas etapas na interface do usuário do AWS Lambda :

  1. Adicione a camada Lambda do Instana à sua função, conforme mostrado nas etapas a seguir:

    1. Na guia Configuração de sua função do Lambda, clique em Camadas > Incluir uma camada.

      camada

    2. Na janela "Incluir camada", selecione Especificar um ARN.

    3. Copie e cole o Nome de Recurso da Amazon (ARN) da camada Lambda do serviço de envio de mensagens ( Instana ) correspondente à sua região no campo “Especifique um ARN ”. Você pode encontrar o ARN correto para a camada Lambda do serviço “ Instana ” na seção “Camadas Lambda do serviço Instana ”. Em seguida, clique em Verificar.

    4. Clique em Incluir.

  2. Configure as seguintes variáveis de ambiente para se conectar ao backend Instana :

    Variáveis de ambiente Valor
    CORECLR_ENABLE_PROFILING 1
    CORECLR_PROFILER {cf0d821e-299b-5307-a3d8-b283c03916dd}
    CORECLR_PROFILER_PATH /opt/instana_tracing/CoreProfiler.so
    DOTNET_STARTUP_HOOKS /opt/Instana.Tracing.Core.dll
    INSTANA_AGENT_KEY <your_instana_agent_key>
    INSTANA_ENDPOINT_URL <serverless_instana_endpoint>
    INSTANA_AWS_ACCOUNT_ID <your_aws_account_id>
    LAMBDA_HANDLER <Assembly::Namespace.ClassName::MethodName>

    Certifique-se de usar o endpoint correto do Instana URL para a sua região, que começa com https://serverless-. Para obter mais informações, consulte Endpoints para monitoramento sem servidor.

    Nota:
    Se o seu manipulador padrão não usar o Assembly::Namespace.ClassName::MethodName formato, defina-o no formato LAMBDA_HANDLER . Caso contrário, não configure a variável ou deixe-a vazia. Se os dados de correlação, que mostram a relação entre os traços e as entidades da infraestrutura, estiverem faltando na interface do usuário do Instana, use LAMBDA_HANDLER para definir o formato correto.

    Você também pode obter os valores corretos para essas variáveis de ambiente na interface do usuário do Instana. Para obter os valores corretos dessas variáveis de ambiente, clique em Mais > Agentes > Instalar agentes > Plataforma: AWS > Tecnologia: AWS Lambda na interface do usuário do Instana.

Ativando o rastreamento por meio da interface de linha de comando d AWS

Se você deseja automatizar a integração do Instana com suas funções Lambda do AWS, consulte o seguinte exemplo de comando da CLI do AWS :

# Do not copy and paste this verbatim!
# It will overwrite any previously defined collection of layers and
# environment variables.
aws --region $YOUR_REGION lambda update-function-configuration \
   --function-name $YOUR_LAMBDA_FUNCTION_NAME \
   --layers $INSTANA_LAYER_ARN \
   --environment "Variables={CORECLR_ENABLE_PROFILING=1, CORECLR_PROFILER=\"{cf0d821e-299b-5307-a3d8-b283c03916dd}\", CORECLR_PROFILER_PATH=/opt/instana_tracing/CoreProfiler.so, DOTNET_STARTUP_HOOKS=/opt/Instana.Tracing.Core.dll, INSTANA_ENDPOINT_URL=... , INSTANA_AGENT_KEY=... , ...}"
 

Camadas do Lambda do Instana

Os ARNs da versão mais recente das camadas do AWS Lambda para .NET, de acordo com a região, são os seguintes:

Região ARN
af-south-1 arn:aws:lambda:af-south-1:410797082306:layer:instana-dotnetcore:45
ap-east-1 arn:aws:lambda:ap-east-1:410797082306:layer:instana-dotnetcore:45
ap-northeast-1 arn:aws:lambda:ap-northeast-1:410797082306:layer:instana-dotnetcore:45
ap-northeast-2 arn:aws:lambda:ap-northeast-2:410797082306:layer:instana-dotnetcore:45
ap-northeast-3 arn:aws:lambda:ap-northeast-3:410797082306:layer:instana-dotnetcore:45
ap-south-1 arn:aws:lambda:ap-south-1:410797082306:layer:instana-dotnetcore:45
ap-south-2 arn:aws:lambda:ap-south-2:410797082306:layer:instana-dotnetcore:45
ap-southeast-1 arn:aws:lambda:ap-southeast-1:410797082306:layer:instana-dotnetcore:45
ap-southeast-2 arn:aws:lambda:ap-southeast-2:410797082306:layer:instana-dotnetcore:45
ap-southeast-3 arn:aws:lambda:ap-southeast-3:410797082306:layer:instana-dotnetcore:45
ap-southeast-4 arn:aws:lambda:ap-southeast-4:410797082306:layer:instana-dotnetcore:45
ca-central-1 arn:aws:lambda:ca-central-1:410797082306:layer:instana-dotnetcore:45
cn-north-1 arn:aws-cn:lambda:cn-north-1:107998019096:layer:instana-dotnetcore:41
cn-northwest-1 arn:aws-cn:lambda:cn-northwest-1:107998019096:layer:instana-dotnetcore:42
eu-central-1 arn:aws:lambda:eu-central-1:410797082306:layer:instana-dotnetcore:44
eu-central-2 arn:aws:lambda:eu-central-2:410797082306:layer:instana-dotnetcore:45
eu-north-1 arn:aws:lambda:eu-north-1:410797082306:layer:instana-dotnetcore:45
eu-south-1 arn:aws:lambda:eu-south-1:410797082306:layer:instana-dotnetcore:45
eu-south-2 arn:aws:lambda:eu-south-2:410797082306:layer:instana-dotnetcore:45
eu-west-1 arn:aws:lambda:eu-west-1:410797082306:layer:instana-dotnetcore:44
eu-west-2 arn:aws:lambda:eu-west-2:410797082306:layer:instana-dotnetcore:45
eu-west-3 arn:aws:lambda:eu-west-3:410797082306:layer:instana-dotnetcore:44
il-central-1 arn:aws:lambda:il-central-1:410797082306:layer:instana-dotnetcore:45
me-central-1 arn:aws:lambda:me-central-1:410797082306:layer:instana-dotnetcore:null
me-south-1 arn:aws:lambda:me-south-1:410797082306:layer:instana-dotnetcore:null
sa-east-1 arn:aws:lambda:sa-east-1:410797082306:layer:instana-dotnetcore:44
us-east-1 arn:aws:lambda:us-east-1:410797082306:layer:instana-dotnetcore:45
us-east-2 arn:aws:lambda:us-east-2:410797082306:layer:instana-dotnetcore:45
us-west-1 arn:aws:lambda:us-west-1:410797082306:layer:instana-dotnetcore:44
us-west-2 arn:aws:lambda:us-west-2:410797082306:layer:instana-dotnetcore:44

Por exemplo, o padrão de ARN é arn:aws:lambda:${region}:410797082306:layer:instana-dotnetcore:${layer-version} Para regiões AWS na China, o padrão ARN é arn:aws-cn:lambda:${region}:107998019096:layer:instana-dotnetcore:${layer-version}.

Nota:
Certifique-se de sempre usar a versão mais recente da camada Lambda do Instana. Atualize a versão da camada que você usa em intervalos regulares para se beneficiar dos recursos e correções fornecidos pela nova versão da camada.

Problemas Conhecidos

Durante a execução da função ` AWS Lambda `, o seguinte erro pode aparecer nos logs. Este erro é um erro interno d Instana e não significa que a função Lambda tenha parado de funcionar ou gerado um erro. Se for possível localizar os rastros na interface do usuário do Instana, você pode ignorar esta mensagem.

Error sending traces. Exception: System.Threading.Tasks.TaskCanceledException, Message:The request was canceled due to the configured HttpClient.Timeout of 2 seconds elapsing. (calling https://serverless.instana.io/bundle), Original exception: A task was canceled., CallStack:   at System.Net.Http.HttpClient.HandleFailure(Exception e, Boolean telemetryStarted, HttpResponseMessage response, CancellationTokenSource cts, CancellationToken cancellationToken, CancellationTokenSource pendingRequestsCts)
 

Instalando o instana/aws-lambda pacote manualmente

Em vez de usar a camada Lambda do Instana, você deve fazer a instalação @instana/aws-lambda manualmente para ambientes do FedRAMP-complaint.

Para habilitar o rastreamento das funções Lambda do .NET ou do .NET Core, siga estas etapas:

  1. Adicione os pacotes Instana e NuGet ao seu projeto de função no Visual Studio:

  2. Na interface do usuário do AWS Lambda, configure as seguintes variáveis de ambiente para se conectar ao backend Instana :

    Variáveis de ambiente Valor
    CORECLR_ENABLE_PROFILING 1
    CORECLR_PROFILER {cf0d821e-299b-5307-a3d8-b283c03916dd}
    CORECLR_PROFILER_PATH <path to /instana_tracing/CoreProfiler.so file accessible from Lambda>
    DOTNET_STARTUP_HOOKS <path to /Instana.Tracing.Core.dll file accessible from Lambda>
    INSTANA_AGENT_KEY <your_instana_agent_key>
    INSTANA_ENDPOINT_URL <serverless_instana_endpoint>
    INSTANA_AWS_ACCOUNT_ID <your_aws_account_id>
    LAMBDA_HANDLER <Assembly::Namespace.ClassName::MethodName>

    Certifique-se de usar o endpoint correto do Instana URL para a sua região, que começa com https://serverless-. Para obter mais informações, consulte Endpoints para monitoramento sem servidor.

    Nota:
    Se o seu manipulador padrão não usar o Assembly::Namespace.ClassName::MethodName formato, defina-o no formato LAMBDA_HANDLER . Caso contrário, não configure a variável ou deixe-a vazia. Se os dados de correlação, que mostram a relação entre os traços e as entidades da infraestrutura, estiverem faltando na interface do usuário do Instana, use LAMBDA_HANDLER para definir o formato correto.

    Você também pode obter os valores corretos para essas variáveis de ambiente na interface do usuário do Instana. Para obter os valores corretos dessas variáveis de ambiente, clique em Mais > Agentes > Instalar agentes > Plataforma: AWS > Tecnologia: AWS Lambda na interface do usuário do Instana.