Exportação de telemetria sem coletor usando o AWS Distro para OpenTelemetry (ADOT) - Amazon CloudWatch

Exportação de telemetria sem coletor usando o AWS Distro para OpenTelemetry (ADOT)

É possível usar os SDKs do ADOT para operar sem coletor e enviar os rastreamentos e logs diretamente para endpoints do OTLP.

nota

O Application Signals inclui recursos de pesquisa de transações. Para evitar custos duplicados, desabilite o Application Signals no SDK do ADOT e mantenha OTEL_AWS_APPLICATION_SIGNALS_ENABLED definido como false (configuração padrão).

Pré-requisito

Certifique-se de que a Pesquisa de transações esteja habilitada para enviar spans para o endpoint do OTLP do X-Ray. Para obter mais informações, consulte Conceitos básicos da Pesquisa de transações.

Configurar as permissões do IAM para seu perfil

Siga as etapas abaixo para anexar as políticas do IAM necessárias para o seu perfil:

Rastreamentos:

  1. Abra o console do IAM, em https://console.aws.amazon.com/iam/.

  2. Escolha Perfis e localize e selecione seu perfil configurado.

  3. Na guia Permissões, escolha Adicionar permissões e, em seguida, Anexar políticas.

  4. Usando a caixa de pesquisa, procure a política AWSXrayWriteOnlyPolicy.

  5. Selecione a política AWSXrayWriteOnlyPolicy e escolha Adicionar permissões.

Logs:

  1. Abra o console do IAM, em https://console.aws.amazon.com/iam/.

  2. Escolha Perfis e localize e selecione seu perfil configurado.

  3. Na guia Permissões, escolha Adicionar permissões e depois Criar política em linha.

  4. Selecione CloudWatch Logs para o serviço e, em Ações permitidas, filtre e selecione:

    logs:PutLogEvents logs:DescribeLogGroups logs:DescribeLogStreams
  5. Confira abaixo um exemplo de política do IAM que concede as permissões necessárias:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "CloudWatchLogsAccess", "Effect": "Allow", "Action": [ "logs:PutLogEvents", "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:*:log-group:*" ] } ] }

Configurar os provedores de credenciais

O ADOT usa os SDKs da AWS para descobrir automaticamente as credenciais válidas necessárias para exportar seus dados de telemetria para a AWS. Para obter orientação sobre como configurar credenciais para seu ambiente específico, consulte a documentação sobre como os SDKs da AWS recuperam as credenciais.

Configuração de credenciais do IAM para hosts on-premises:

Configure suas credenciais da AWS no host on-premises ao inserir o comando a seguir. Substitua ACCESS_KEY_ID e SECRET_ACCESS_KEY pelas credenciais do seu usuário ou perfil do IAM configurado.

$ aws configure AWS Access Key ID [None]: ACCESS_KEY_ID AWS Secret Access Key [None]: SECRET_ACCESS_ID Default region name [None]: MY_REGION Default output format [None]: json

Habilitação dos SDKs do ADOT

É possível habilitar o envio de logs e rastreamentos da sua aplicação diretamente para endpoints do OTLP por meio do SDK do AWS Distro para OpenTelemetry (ADOT) em Java, Node.js, Python e .NET.

Java
nota

Você deve usar o ADOT Java Agent versão 2.11.2 ou posterior para que esses recursos estejam disponíveis.

  1. Faça download da versão mais recente do agente de instrumentação automática em Java do AWS Distro para OpenTelemetry. Você pode baixar a versão mais recente ao usar este comando:

    curl -L -O https://github.com/aws-observability/aws-otel-java-instrumentation/releases/latest/download/aws-opentelemetry-agent.jar

    É possível visualizar informações sobre todas as versões liberadas em aws-otel-java-instrumentation Releases.

  2. Para habilitar o exportador diferente que envia telemetria diretamente para endpoints do OTLP e otimizar os benefícios, use as seguintes variáveis de ambiente antes de iniciar a aplicação:

    Rastreamentos:

    • Defina OTEL_EXPORTER_OTLP_TRACES_ENDPOINT para especificar o endpoint de rastreamentos do OTLP do X-Ray: https://xray.[AWSRegion].amazonaws.com/v1/traces

      Por exemplo:

      export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces"
    • Defina OTEL_TRACES_EXPORTER como otlp (é opcional e será o valor padrão se essa variável de ambiente não estiver definida).

    • Defina a varável OTEL_EXPORTER_OTLP_TRACES_PROTOCOL como http/protobuf (é opcional e será o valor padrão se essa variável de ambiente não estiver definida).

    • Defina a variável OTEL_RESOURCE_ATTRIBUTES para especificar as informações a seguir como pares de chave/valor. Essas variáveis de ambiente são usadas pelo Application Signals, e são convertidas em anotações de rastreamentos do X-Ray e em dimensões de métricas do CloudWatch.

      • (Opcional) service.name define o nome do serviço. Isso será exibido como o nome do serviço para a aplicação nos painéis do Application Signals. Se você não fornecer um valor para essa chave, o padrão UnknownService será usado.

      • (Opcional) deployment.environment define o ambiente em que a aplicação é executada. Isso será exibido como o ambiente Hospedado em da aplicação.

      • (Opcional) Para habilitar a correlação de logs, em OTEL_RESOURCE_ATTRIBUTES, defina uma variável de ambiente aws.log.group.names adicional para os grupos de logs da sua aplicação. Ao fazer isso, será possível correlacionar os rastreamentos e métricas da sua aplicação com as entradas de log relevantes desses grupos de logs. Para essa variável, substitua $YOUR_APPLICATION_LOG_GROUP pelos nomes do grupo de logs da sua aplicação. Se você tiver vários grupos de logs, é possível usar um e comercial (&) para separá-los, como neste exemplo: aws.log.group.names=log-group-1&log-group-2. Para permitir que a métrica registre a correlação em log, basta definir essa variável ambiental atual. Para obter mais informações, consulte Habilitar a correlação entre métrica e logs. Para habilitar a correlação entre logs e rastreamento, você também precisará alterar a configuração de registro em log em sua aplicação. Para obter mais informações, consulte Habilitar a correlação entre rastreamento e logs.

    Logs:

    • Defina OTEL_EXPORTER_OTLP_LOGS_ENDPOINT para especificar o endpoint de logs do OTLP do CloudWatch: https://logs.[AWSRegion].amazonaws.com/v1/logs

      Por exemplo:

      export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT="https://logs.us-west-2.amazonaws.com/v1/logs"
    • Defina OTEL_EXPORTER_OTLP_LOGS_HEADERS para especificar o grupo de logs e o fluxo de logs (observação: eles devem ser criados antes da execução do ADOT) para os quais você deseja exportar seus logs: x-aws-log-group=[CW-LOG-GROUP-NAME],x-aws-log-stream=[CW-LOG-STREAM-NAME]

      Por exemplo:

      export OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default
    • Defina OTEL_LOGS_EXPORTER como otlp (é opcional e será o valor padrão se essa variável de ambiente não estiver definida).

    • Defina a varável OTEL_EXPORTER_OTLP_LOGS_PROTOCOL como http/protobuf (é opcional e será o valor padrão se essa variável de ambiente não estiver definida).

  3. Defina JAVA_TOOL_OPTIONS para especificar o caminho em que o agente de instrumentação automática em Java do AWS Distro para OpenTelemetry está armazenado. Por exemplo:

    export JAVA_TOOL_OPTIONS=" -javaagent:$AWS_ADOT_JAVA_INSTRUMENTATION_PATH" export AWS_ADOT_JAVA_INSTRUMENTATION_PATH="./aws-opentelemetry-agent.jar"
  4. Agora, sua aplicação deve estar sendo executada com a instrumentação Java do ADOT e vai gerar logs e spans. As extensões serão armazenadas no grupo de logs aws/spans do CloudWatch, enquanto os logs serão armazenados no grupo de logs especificado no cabeçalho OTEL_EXPORTER_OTLP_LOGS_HEADERS. Você também pode visualizar os logs e as métricas correlacionados com suas extensões no console de rastreamentos e métricas do CloudWatch.

  5. Inicie a aplicação com as variáveis ​​de ambiente listadas na etapa anterior. Veja a seguir um exemplo de um script inicial.

    JAVA_TOOL_OPTIONS=" -javaagent:$AWS_ADOT_JAVA_INSTRUMENTATION_PATH" \ OTEL_METRICS_EXPORTER=none \ OTEL_TRACES_EXPORTER=otlp \ OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf \ OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/traces \ OTEL_LOGS_EXPORTER=otlp \ OTEL_EXPORTER_OTLP_LOGS_PROTOCOL=http/protobuf \ OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=https://logs.us-east-1.amazonaws.com/v1/logs \ OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default OTEL_RESOURCE_ATTRIBUTES="service.name=$YOUR_SVC_NAME" \ java -jar $MY_JAVA_APP.jar
Node.js
nota

Você deve usar o ADOT JavaScript versão 0.7.0 ou posterior para que esses recursos estejam disponíveis.

  1. Faça download da versão mais recente da instrumentação automática em JavaScript do AWS Distro para OpenTelemetry. Instale-o executando o seguinte comando da .

    npm install @aws/aws-distro-opentelemetry-node-autoinstrumentation

    É possível visualizar informações sobre todas as versões liberadas em aws-otel-js-instrumentation Releases.

  2. Para habilitar o exportador diferente que envia telemetria diretamente para endpoints do OTLP e otimizar os benefícios, use as seguintes variáveis de ambiente antes de iniciar a aplicação:

    Rastreamentos:

    • Defina OTEL_EXPORTER_OTLP_TRACES_ENDPOINT para especificar o endpoint de rastreamentos do OTLP do X-Ray: https://xray.[AWSRegion].amazonaws.com/v1/traces

      Por exemplo:

      export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces"
    • Defina OTEL_TRACES_EXPORTER como otlp (é opcional e será o valor padrão se essa variável de ambiente não estiver definida).

    • Defina a varável OTEL_EXPORTER_OTLP_TRACES_PROTOCOL como http/protobuf (é opcional e será o valor padrão se essa variável de ambiente não estiver definida).

    • Defina a variável OTEL_RESOURCE_ATTRIBUTES para especificar as informações a seguir como pares de chave/valor. Essas variáveis de ambiente são usadas pelo Application Signals, e são convertidas em anotações de rastreamentos do X-Ray e em dimensões de métricas do CloudWatch.

      • (Opcional) service.name define o nome do serviço. Isso será exibido como o nome do serviço para a aplicação nos painéis do Application Signals. Se você não fornecer um valor para essa chave, o padrão UnknownService será usado.

      • (Opcional) deployment.environment define o ambiente em que a aplicação é executada. Essa variável será exibida como o ambiente Hospedado em da aplicação.

      • (Opcional) Para habilitar a correlação de logs, em OTEL_RESOURCE_ATTRIBUTES, defina uma variável de ambiente aws.log.group.names adicional para os grupos de logs da sua aplicação. Ao fazer isso, será possível correlacionar os rastreamentos e métricas da sua aplicação com as entradas de log relevantes desses grupos de logs. Para essa variável, substitua $YOUR_APPLICATION_LOG_GROUP pelos nomes do grupo de logs da sua aplicação. Se você tiver vários grupos de logs, é possível usar um e comercial (&) para separá-los, como neste exemplo: aws.log.group.names=log-group-1&log-group-2. Para permitir que a métrica registre a correlação em log, basta definir essa variável ambiental atual. Para obter mais informações, consulte Habilitar a correlação entre métrica e logs. Para habilitar a correlação entre logs e rastreamento, você também precisará alterar a configuração de registro em log em sua aplicação. Para obter mais informações, consulte Habilitar a correlação entre rastreamento e logs.

    Logs:

    • Defina OTEL_EXPORTER_OTLP_LOGS_ENDPOINT para especificar o endpoint de logs do OTLP do CloudWatch: https://logs.[AWSRegion].amazonaws.com/v1/logs

      Por exemplo:

      export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT="https://logs.us-west-2.amazonaws.com/v1/logs"
    • Defina OTEL_EXPORTER_OTLP_LOGS_HEADERS para especificar o grupo de logs e o fluxo de logs (observação: eles devem ser criados antes da execução do ADOT) para os quais você deseja exportar seus logs: x-aws-log-group=[CW-LOG-GROUP-NAME],x-aws-log-stream=[CW-LOG-STREAM-NAME]

      Por exemplo:

      export OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default
    • Defina OTEL_LOGS_EXPORTER como otlp (é opcional e será o valor padrão se essa variável de ambiente não estiver definida).

    • Defina a varável OTEL_EXPORTER_OTLP_LOGS_PROTOCOL como http/protobuf (é opcional e será o valor padrão se essa variável de ambiente não estiver definida).

  3. Agora, sua aplicação deve estar sendo executada com a instrumentação JavaScript do ADOT e vai gerar logs e spans. As extensões serão armazenadas no grupo de logs aws/spans do CloudWatch, enquanto os logs serão armazenados no grupo de logs especificado no cabeçalho OTEL_EXPORTER_OTLP_LOGS_HEADERS. Você também pode visualizar os logs e as métricas correlacionados com suas extensões no console de rastreamentos e métricas do CloudWatch.

  4. Inicie a aplicação com as variáveis ​​de ambiente listadas na etapa anterior. Veja a seguir um exemplo de um script inicial.

    Substitua $SVC_NAME pelo nome da aplicação. Isso será exibido como o nome da aplicação.

    OTEL_METRICS_EXPORTER=none \ OTEL_TRACES_EXPORTER=otlp \ OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf \ OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/traces \ OTEL_LOGS_EXPORTER=otlp \ OTEL_EXPORTER_OTLP_LOGS_PROTOCOL=http/protobuf \ OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=https://logs.us-east-1.amazonaws.com/v1/logs \ OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default OTEL_RESOURCE_ATTRIBUTES="service.name=$YOUR_SVC_NAME" \ node --require '@aws/aws-distro-opentelemetry-node-autoinstrumentation/register' your-application.js
Python
nota

Você deve usar o ADOT Python versão 0.10.0 ou posterior e ter botocore instalado para que esses recursos estejam disponíveis.

  1. Faça download da versão mais recente da instrumentação automática em Python do AWS Distro para OpenTelemetry. Instale-o executando o seguinte comando da .

    pip install aws-opentelemetry-distro

    É possível visualizar as informações sobre todas as versões liberadas em aws-otel-python-instrumentation Releases.

  2. Para habilitar o exportador diferente que envia telemetria diretamente para endpoints do OTLP e otimizar os benefícios, use as seguintes variáveis de ambiente antes de iniciar a aplicação:

    Para configurações de rastreamentos e logs, você deve definir as seguintes variáveis de ambiente:

    • OTEL_PYTHON_DISTRO para aws_distro

    • OTEL_PYTHON_CONFIGURATOR para aws_configurator

    Rastreamentos:

    • Defina OTEL_EXPORTER_OTLP_TRACES_ENDPOINT para especificar o endpoint de rastreamentos do OTLP do X-Ray: https://xray.[AWSRegion].amazonaws.com/v1/traces

      Por exemplo:

      export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces"
    • Defina OTEL_TRACES_EXPORTER como otlp (é opcional e será o valor padrão se essa variável de ambiente não estiver definida).

    • Defina a varável OTEL_EXPORTER_OTLP_TRACES_PROTOCOL como http/protobuf (é opcional e será o valor padrão se essa variável de ambiente não estiver definida).

    • Defina a variável OTEL_RESOURCE_ATTRIBUTES para especificar as informações a seguir como pares de chave/valor. Essas variáveis de ambiente são usadas pelo Application Signals, e são convertidas em anotações de rastreamentos do X-Ray e em dimensões de métricas do CloudWatch.

      • (Opcional) service.name define o nome do serviço. Isso será exibido como o nome do serviço para a aplicação nos painéis do Application Signals. Se você não fornecer um valor para essa chave, o padrão UnknownService será usado.

      • (Opcional) deployment.environment define o ambiente em que a aplicação é executada. Essa variável será exibida como o ambiente Hospedado em da aplicação.

      • (Opcional) Para habilitar a correlação de logs, em OTEL_RESOURCE_ATTRIBUTES, defina uma variável de ambiente aws.log.group.names adicional para os grupos de logs da sua aplicação. Ao fazer isso, será possível correlacionar os rastreamentos e métricas da sua aplicação com as entradas de log relevantes desses grupos de logs. Para essa variável, substitua $YOUR_APPLICATION_LOG_GROUP pelos nomes do grupo de logs da sua aplicação. Se você tiver vários grupos de logs, é possível usar um e comercial (&) para separá-los, como neste exemplo: aws.log.group.names=log-group-1&log-group-2. Para permitir que a métrica registre a correlação em log, basta definir essa variável ambiental atual. Para obter mais informações, consulte Habilitar a correlação entre métrica e logs. Para habilitar a correlação entre logs e rastreamento, você também precisará alterar a configuração de registro em log em sua aplicação. Para obter mais informações, consulte Habilitar a correlação entre rastreamento e logs.

    Logs:

    • Defina OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED como true

    • Defina OTEL_EXPORTER_OTLP_LOGS_ENDPOINT para especificar o endpoint de logs do OTLP do CloudWatch: https://logs.[AWSRegion].amazonaws.com/v1/logs

      Por exemplo:

      export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT="https://logs.us-west-2.amazonaws.com/v1/logs"
    • Defina OTEL_EXPORTER_OTLP_LOGS_HEADERS para especificar o grupo de logs e o fluxo de logs (observação: eles devem ser criados antes da execução do ADOT) para os quais você deseja exportar seus logs: x-aws-log-group=[CW-LOG-GROUP-NAME],x-aws-log-stream=[CW-LOG-STREAM-NAME]

      Por exemplo:

      export OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default
    • Defina OTEL_LOGS_EXPORTER como otlp (é opcional e será o valor padrão se essa variável de ambiente não estiver definida).

    • Defina a varável OTEL_EXPORTER_OTLP_LOGS_PROTOCOL como http/protobuf (é opcional e será o valor padrão se essa variável de ambiente não estiver definida).

  3. Agora, sua aplicação deve estar sendo executada com a instrumentação Python do ADOT e vai gerar logs e spans. As extensões serão armazenadas no grupo de logs aws/spans do CloudWatch, enquanto os logs serão armazenados no grupo de logs especificado no cabeçalho OTEL_EXPORTER_OTLP_LOGS_HEADERS. Você também pode visualizar os logs e as métricas correlacionados com suas extensões no console de rastreamentos e métricas do CloudWatch.

  4. Inicie a aplicação com as variáveis ​​de ambiente listadas na etapa anterior. Veja a seguir um exemplo de um script inicial.

    Substitua $SVC_NAME pelo nome da aplicação. Isso será exibido como o nome da aplicação.

    Substitua $PYTHON_APP pelo local e pelo nome da aplicação.

    OTEL_METRICS_EXPORTER=none \ OTEL_TRACES_EXPORTER=otlp \ OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf \ OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/traces \ OTEL_LOGS_EXPORTER=otlp \ OTEL_EXPORTER_OTLP_LOGS_PROTOCOL=http/protobuf \ OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=https://logs.us-east-1.amazonaws.com/v1/logs \ OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED=true OTEL_RESOURCE_ATTRIBUTES="service.name=$YOUR_SVC_NAME" \ opentelemetry-instrument python $MY_PYTHON_APP.py
.Net
nota
  • É necessário ter o ADOT .NET versão 1.8.0 ou posterior para que esses recursos estejam disponíveis.

  • Atualmente, a compactação não é compatível.

  • Atualmente, os logs não são compatíveis.

Faça download da versão mais recente do agente de instrumentação automática para .NET do AWS Distro para OpenTelemetry. É possível visualizar as informações sobre todas as versões liberadas em aws-otel-dotnet-instrumentation Releases.

Para habilitar os diferentes exportadores que enviam telemetria diretamente para endpoints do OTLP e otimizar os benefícios, use as seguintes variáveis de ambiente antes de iniciar sua aplicação (substitua dotnet-service-name na variável OTEL_RESOURCE_ATTRIBUTES do ambiente pelo nome do serviço de sua escolha):

Rastreamentos:

  • Você DEVE definir OTEL_TRACES_EXPORTER como none

  • Você DEVE definir OTEL_AWS_SIG_V4_ENABLED como true

    Esse recurso não é habilitado automaticamente no. NET. A variável de ambiente é necessária especificamente para identificar esse caso de uso na instrumentação do .NET. Esse requisito é exclusivo do .NET e não se aplica a outras linguagens compatíveis.

Confira abaixo um exemplo de configuração para Linux.

export INSTALL_DIR=OpenTelemetryDistribution export CORECLR_ENABLE_PROFILING=1 export CORECLR_PROFILER={918728DD-259F-4A6A-AC2B-B85E1B658318} export CORECLR_PROFILER_PATH=${INSTALL_DIR}/linux-x64/OpenTelemetry.AutoInstrumentation.Native.so export DOTNET_ADDITIONAL_DEPS=${INSTALL_DIR}/AdditionalDeps export DOTNET_SHARED_STORE=${INSTALL_DIR}/store export DOTNET_STARTUP_HOOKS=${INSTALL_DIR}/net/OpenTelemetry.AutoInstrumentation.StartupHook.dll export OTEL_DOTNET_AUTO_HOME=${INSTALL_DIR} export OTEL_DOTNET_AUTO_PLUGINS="AWS.Distro.OpenTelemetry.AutoInstrumentation.Plugin, AWS.Distro.OpenTelemetry.AutoInstrumentation" export OTEL_TRACES_EXPORTER=none export OTEL_AWS_SIG_V4_ENABLED=true export OTEL_RESOURCE_ATTRIBUTES=service.name=dotnet-service-name export OTEL_METRICS_EXPORTER=none export OTEL_LOGS_EXPORTER=none export OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/traces

Confira abaixo um exemplo de configuração para Windows Server:

$env:INSTALL_DIR = "OpenTelemetryDistribution" $env:CORECLR_ENABLE_PROFILING = 1 $env:CORECLR_PROFILER = "{918728DD-259F-4A6A-AC2B-B85E1B658318}" $env:CORECLR_PROFILER_PATH = Join-Path $env:INSTALL_DIR "win-x64/OpenTelemetry.AutoInstrumentation.Native.dll" $env:DOTNET_ADDITIONAL_DEPS = Join-Path $env:INSTALL_DIR "AdditionalDeps" $env:DOTNET_SHARED_STORE = Join-Path $env:INSTALL_DIR "store" $env:DOTNET_STARTUP_HOOKS = Join-Path $env:INSTALL_DIR "net/OpenTelemetry.AutoInstrumentation.StartupHook.dll" $env:OTEL_DOTNET_AUTO_HOME = $env:INSTALL_DIR $env:OTEL_DOTNET_AUTO_PLUGINS = "AWS.Distro.OpenTelemetry.AutoInstrumentation.Plugin, AWS.Distro.OpenTelemetry.AutoInstrumentation" $env:OTEL_TRACES_EXPORTER=none $env:OTEL_AWS_SIG_V4_ENABLED=true $env:OTEL_RESOURCE_ATTRIBUTES=service.name=dotnet-service-name $env:OTEL_METRICS_EXPORTER=none $env:OTEL_LOGS_EXPORTER=none $env:OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf $env:OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/traces
  1. Inicie a aplicação com as variáveis ​​de ambiente listadas na etapa anterior.

  2. (Opcional) Como alternativa, você pode usar os scripts de instalação fornecidos para ajudar na instalação e configuração do pacote de instrumentação automática do AWS Distro for OpenTelemetry .NET.

    Para Linux, baixe e instale o script de instalação do Bash na página de versões do GitHub:

    # Download and Install curl -L -O https://github.com/aws-observability/aws-otel-dotnet-instrumentation/releases/latest/download/aws-otel-dotnet-install.sh chmod +x ./aws-otel-dotnet-install.sh ./aws-otel-dotnet-install.sh # Instrument . $HOME/.otel-dotnet-auto/instrument.shexport OTEL_RESOURCE_ATTRIBUTES=service.name=dotnet-service-name

    Para Windows Server, baixe e instale o script de instalação do PowerShell na página de versões do GitHub:

    # Download and Install $module_url = "https://github.com/aws-observability/aws-otel-dotnet-instrumentation/releases/latest/download/AWS.Otel.DotNet.Auto.psm1" $download_path = Join-Path $env:temp "AWS.Otel.DotNet.Auto.psm1" Invoke-WebRequest -Uri $module_url -OutFile $download_path Import-Module $download_path Install-OpenTelemetryCore # Instrument Import-Module $download_path Register-OpenTelemetryForCurrentSession -OTelServiceName "dotnet-service-name" Register-OpenTelemetryForIIS

    Você pode encontrar o pacote NuGet do pacote de instrumentação automática do AWS Distro for OpenTelemetry .NET no repositório oficial do NuGet. Certifique-se de verificar o arquivo README para obter instruções.