AWS Distro for OpenTelemetry(ADOT) SDK를 사용하여 수집기를 사용하지 않고 원격 측정 내보내기
ADOT SDK를 사용하면 수집기를 사용하지 않고 추적 및 로그를 OTLP 엔드포인트로 바로 전송할 수 있습니다.
참고
Application Signals에는 트랜잭션 검색 기능이 포함되어 있습니다. 중복 비용을 방지하려면 ADOT SDK에서 Application Signals를 비활성화하고 OTEL_AWS_APPLICATION_SIGNALS_ENABLED를 false(기본 설정)로 설정합니다.
전제 조건
X-Ray OTLP 엔드포인트로 스팬을 보내려면 트랜잭션 검색이 활성화되어 있어야 합니다. 자세한 내용은 트랜잭션 검색 시작하기를 참조하세요.
사용자 역할에 대한 IAM 권한 설정
다음 단계를 수행하여 사용자 역할에 필요한 IAM 권한을 연결합니다.
추적:
-
https://console.aws.amazon.com/iam/
에서 IAM 콘솔을 엽니다. -
역할을 선택하고 구성된 역할을 찾아 선택하세요.
-
권한 탭에서 권한 추가와 정책 연결을 차례로 선택합니다.
-
검색 상자를 사용하여
AWSXrayWriteOnlyPolicy를 검색하세요. -
AWSXrayWriteOnlyPolicy정책을 선택하고 권한 추가를 선택합니다.
로그:
-
https://console.aws.amazon.com/iam/
에서 IAM 콘솔을 엽니다. -
역할을 선택하고 구성된 역할을 찾아 선택하세요.
-
권한 탭에서 권한 추가를 선택하고 인라인 정책 생성을 선택하세요.
-
서비스로 CloudWatch Logs를 선택하고 허용된 작업에서 다음을 필터링하고 선택하세요.
logs:PutLogEvents logs:DescribeLogGroups logs:DescribeLogStreams -
다음은 필수 권한을 부여하는 IAM 정책 예제입니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CloudWatchLogsAccess", "Effect": "Allow", "Action": [ "logs:PutLogEvents", "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:*:log-group:*" ] } ] }
자격 증명 제공업체 구성
ADOT는 AWS SDK를 사용하여 원격 측정 데이터를 AWS로 내보내는 데 필요한 유효한 자격 증명을 자동으로 검색합니다. 특정 환경에 대한 자격 증명을 구성하는 방법에 대한 지침은 AWS SDK가 자격 증명을 검색하는 방법에 대한 설명서를 참조하세요.
온프레미스 호스트에 대한 IAM 자격 증명 설정:
다음 명령을 입력하여 온프레미스 호스트에서 AWS 자격 증명을 구성합니다. ACCESS_KEY_ID 및 SECRET_ACCESS_KEY를 구성된 IAM 역할 또는 사용자의 자격 증명으로 바꿉니다.
$ 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
ADOT SDK 활성화
애플리케이션이 로그 및 추적을 Java, Node.js, Python 및 .Net의 AWS Distro for OpenTelemetry(ADOT) SDK에서 OTLP 엔드포인트로 바로 전송하도록 활성화할 수 있습니다.
- Java
-
참고
이러한 기능을 사용하려면 ADOT Java Agent 버전 2.11.2 이상을 사용해야 합니다.
-
최신 버전의 AWS Distro for OpenTelemetry Java 자동 계측 에이전트를 다운로드합니다. 이 명령을 사용하여 최신 버전을 다운로드할 수 있습니다.
curl -L -O https://github.com/aws-observability/aws-otel-java-instrumentation/releases/latest/download/aws-opentelemetry-agent.jaraws-otel-java-instrumentation 릴리스
에서 모든 릴리스 버전에 대한 정보를 볼 수 있습니다. 추적을 OTLP 엔드포인트로 바로 전송하는 여러 내보내기 도구를 활성화하고 이 이점을 최적화하려면 애플리케이션을 시작하기 전에 다음 환경 변수를 사용하세요.
추적:
-
X-Ray OTLP 추적 엔드포인트를 지정하도록
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT를 설정하세요(https://xray.[).AWSRegion].amazonaws.com/v1/traces예:
export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces" -
OTEL_TRACES_EXPORTER를otlp로 설정하세요(이 값은 선택 사항이며 이 환경 변수가 설정되지 않은 경우 기본값임). -
OTEL_EXPORTER_OTLP_TRACES_PROTOCOL변수를http/protobuf로 설정하세요(이 값은 선택 사항이며 이 환경 변수가 설정되지 않은 경우 기본값임). -
다음 정보를 키-값 페어로 지정하도록
OTEL_RESOURCE_ATTRIBUTES변수를 설정하세요. 이 환경 변수는 Application Signals에서 사용되며 X-Ray 추적 주석 및 CloudWatch 지표 차원으로 변환됩니다.-
(선택 사항)
service.name은 서비스 이름을 설정합니다. Application Signals 대시보드에 애플리케이션의 서비스 이름으로 표시됩니다. 이 키에 대한 값을 제공하지 않으면 기본값인UnknownService가 사용됩니다. -
(선택 사항)
deployment.environment는 애플리케이션이 실행되는 환경을 설정합니다. 이는 애플리케이션의 호스팅 위치 환경으로 표시됩니다. -
(선택 사항) 로그 상관 관계를 활성화하려면
OTEL_RESOURCE_ATTRIBUTES에서 애플리케이션의 로그 그룹에 대한 추가 환경 변수aws.log.group.names를 설정합니다. 이렇게 하면 애플리케이션의 추적과 지표를 로그 그룹의 관련 로그 항목과 상관시킬 수 있습니다. 이 변수의 경우$YOUR_APPLICATION_LOG_GROUP을 애플리케이션의 로그 그룹 이름으로 바꿉니다. 로그 그룹이 여러 개 있는 경우 다음 예와 같이 앰퍼샌드(&)를 사용하여 로그 그룹을 구분할 수 있습니다.aws.log.group.names=log-group-1&log-group-2지표와 로그의 상관 관계를 활성화하려면 이 현재 환경 변수를 설정하는 것으로 충분합니다. 자세한 내용은 로그 상관 관계에 대한 지표 활성화를 참조하세요. 추적과 로그의 상관 관계를 활성화하려면 애플리케이션의 로깅 구성도 변경해야 합니다. 자세한 내용은 로그 상관 관계에 대한 추적 활성화를 참조하세요.
-
로그:
-
CloudWatch OTLP 로그 엔드포인트를 지정하도록
OTEL_EXPORTER_OTLP_LOGS_ENDPOINT를 설정하세요(https://logs.[).AWSRegion].amazonaws.com/v1/logs예:
export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT="https://logs.us-west-2.amazonaws.com/v1/logs" -
로그를 내보낼 로그 그룹 및 로그 스트림(참고: ADOT를 실행하기 전에 생성해야 함)을 지정하도록
OTEL_EXPORTER_OTLP_LOGS_HEADERS를 설정하세요(x-aws-log-group=[CW-LOG-GROUP-NAME],x-aws-log-stream=[CW-LOG-STREAM-NAME]).예:
export OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default -
OTEL_LOGS_EXPORTER를otlp로 설정하세요(이 값은 선택 사항이며 이 환경 변수가 설정되지 않은 경우 기본값임). -
OTEL_EXPORTER_OTLP_LOGS_PROTOCOL변수를http/protobuf로 설정하세요(이 값은 선택 사항이며 이 환경 변수가 설정되지 않은 경우 기본값임).
-
AWS Distro for OpenTelemetry Java 자동 계측 에이전트가 저장되는 경로를 지정하도록
JAVA_TOOL_OPTIONS를 설정하세요. 예:export JAVA_TOOL_OPTIONS=" -javaagent:$AWS_ADOT_JAVA_INSTRUMENTATION_PATH" export AWS_ADOT_JAVA_INSTRUMENTATION_PATH="./aws-opentelemetry-agent.jar"이제 애플리케이션은 ADOT Java 계측과 함께 실행되며 스팬 및 로그가 생성됩니다. 스팬은
aws/spansCloudWatch 로그 그룹에 저장되지만 로그는OTEL_EXPORTER_OTLP_LOGS_HEADERS헤더에 지정된 로그 그룹에 저장됩니다. CloudWatch 추적 및 지표 콘솔에서 스팬과 상관된 추적 및 지표를 볼 수도 있습니다.이전 단계에 나열된 환경 변수를 사용하여 애플리케이션을 시작합니다. 다음은 시작 스크립트의 예입니다.
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
-
참고
이러한 기능을 사용하려면 ADOT JavaScript 버전 0.7.0 이상을 사용해야 합니다.
최신 버전의 AWS Distro for OpenTelemetry Java 자동 계측 에이전트를 다운로드하세요. 다음 명령을 실행하여 인증서를 설치합니다.
npm install @aws/aws-distro-opentelemetry-node-autoinstrumentationaws-otel-js-instrumentation 릴리스
에서 모든 릴리스 버전에 대한 정보를 볼 수 있습니다. 추적을 OTLP 엔드포인트로 바로 전송하는 여러 내보내기 도구를 활성화하고 이 이점을 최적화하려면 애플리케이션을 시작하기 전에 다음 환경 변수를 사용하세요.
추적:
-
X-Ray OTLP 추적 엔드포인트를 지정하도록
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT를 설정하세요(https://xray.[).AWSRegion].amazonaws.com/v1/traces예:
export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces" -
OTEL_TRACES_EXPORTER를otlp로 설정하세요(이 값은 선택 사항이며 이 환경 변수가 설정되지 않은 경우 기본값임). -
OTEL_EXPORTER_OTLP_TRACES_PROTOCOL변수를http/protobuf로 설정하세요(이 값은 선택 사항이며 이 환경 변수가 설정되지 않은 경우 기본값임). -
다음 정보를 키-값 페어로 지정하도록
OTEL_RESOURCE_ATTRIBUTES변수를 설정하세요. 이 환경 변수는 Application Signals에서 사용되며 X-Ray 추적 주석 및 CloudWatch 지표 차원으로 변환됩니다.-
(선택 사항)
service.name은 서비스 이름을 설정합니다. Application Signals 대시보드에 애플리케이션의 서비스 이름으로 표시됩니다. 이 키에 대한 값을 제공하지 않으면 기본값인UnknownService가 사용됩니다. -
(선택 사항)
deployment.environment는 애플리케이션이 실행되는 환경을 설정합니다. 이는 애플리케이션의 호스팅 위치 환경으로 표시됩니다. -
(선택 사항) 로그 상관 관계를 활성화하려면
OTEL_RESOURCE_ATTRIBUTES에서 애플리케이션의 로그 그룹에 대한 추가 환경 변수aws.log.group.names를 설정합니다. 이렇게 하면 애플리케이션의 추적과 지표를 로그 그룹의 관련 로그 항목과 상관시킬 수 있습니다. 이 변수의 경우$YOUR_APPLICATION_LOG_GROUP을 애플리케이션의 로그 그룹 이름으로 바꿉니다. 로그 그룹이 여러 개 있는 경우 다음 예와 같이 앰퍼샌드(&)를 사용하여 로그 그룹을 구분할 수 있습니다.aws.log.group.names=log-group-1&log-group-2지표와 로그의 상관 관계를 활성화하려면 이 현재 환경 변수를 설정하는 것으로 충분합니다. 자세한 내용은 로그 상관 관계에 대한 지표 활성화를 참조하세요. 추적과 로그의 상관 관계를 활성화하려면 애플리케이션의 로깅 구성도 변경해야 합니다. 자세한 내용은 로그 상관 관계에 대한 추적 활성화를 참조하세요.
-
로그:
-
CloudWatch OTLP 로그 엔드포인트를 지정하도록
OTEL_EXPORTER_OTLP_LOGS_ENDPOINT를 설정하세요(https://logs.[).AWSRegion].amazonaws.com/v1/logs예:
export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT="https://logs.us-west-2.amazonaws.com/v1/logs" -
로그를 내보낼 로그 그룹 및 로그 스트림(참고: ADOT를 실행하기 전에 생성해야 함)을 지정하도록
OTEL_EXPORTER_OTLP_LOGS_HEADERS를 설정하세요(x-aws-log-group=[CW-LOG-GROUP-NAME],x-aws-log-stream=[CW-LOG-STREAM-NAME]).예:
export OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default -
OTEL_LOGS_EXPORTER를otlp로 설정하세요(이 값은 선택 사항이며 이 환경 변수가 설정되지 않은 경우 기본값임). -
OTEL_EXPORTER_OTLP_LOGS_PROTOCOL변수를http/protobuf로 설정하세요(이 값은 선택 사항이며 이 환경 변수가 설정되지 않은 경우 기본값임).
-
이제 애플리케이션은 ADOT JavaScript 계측과 함께 실행되며 스팬 및 로그가 생성됩니다. 스팬은
aws/spansCloudWatch 로그 그룹에 저장되지만 로그는OTEL_EXPORTER_OTLP_LOGS_HEADERS헤더에 지정된 로그 그룹에 저장됩니다. CloudWatch 추적 및 지표 콘솔에서 스팬과 상관된 추적 및 지표를 볼 수도 있습니다.이전 단계에 나열된 환경 변수를 사용하여 애플리케이션을 시작합니다. 다음은 시작 스크립트의 예입니다.
$SVC_NAME을 애플리케이션 이름으로 바꿉니다. 애플리케이션의 이름으로 표시됩니다.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
-
참고
이러한 기능을 사용하려면 ADOT Python 버전 0.10.0 이상을 사용하고
botocore를 설치해야 합니다.최신 버전의 AWS Distro for OpenTelemetry Python 자동 계측을 다운로드하세요. 다음 명령을 실행하여 인증서를 설치합니다.
pip install aws-opentelemetry-distroaws-otel-python-instrumentation 릴리스
에서 모든 릴리스 버전에 대한 정보를 볼 수 있습니다. 추적을 OTLP 엔드포인트로 바로 전송하는 여러 내보내기 도구를 활성화하고 이 이점을 최적화하려면 애플리케이션을 시작하기 전에 다음 환경 변수를 사용하세요.
추적 및 로그 구성 모두에 대해 다음 환경 변수를 설정해야 합니다.
-
OTEL_PYTHON_DISTRO~aws_distro -
OTEL_PYTHON_CONFIGURATOR~aws_configurator
추적:
-
X-Ray OTLP 추적 엔드포인트를 지정하도록
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT를 설정하세요(https://xray.[).AWSRegion].amazonaws.com/v1/traces예:
export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces" -
OTEL_TRACES_EXPORTER를otlp로 설정하세요(이 값은 선택 사항이며 이 환경 변수가 설정되지 않은 경우 기본값임). -
OTEL_EXPORTER_OTLP_TRACES_PROTOCOL변수를http/protobuf로 설정하세요(이 값은 선택 사항이며 이 환경 변수가 설정되지 않은 경우 기본값임). -
다음 정보를 키-값 페어로 지정하도록
OTEL_RESOURCE_ATTRIBUTES변수를 설정하세요. 이 환경 변수는 Application Signals에서 사용되며 X-Ray 추적 주석 및 CloudWatch 지표 차원으로 변환됩니다.-
(선택 사항)
service.name은 서비스 이름을 설정합니다. Application Signals 대시보드에 애플리케이션의 서비스 이름으로 표시됩니다. 이 키에 대한 값을 제공하지 않으면 기본값인UnknownService가 사용됩니다. -
(선택 사항)
deployment.environment는 애플리케이션이 실행되는 환경을 설정합니다. 이는 애플리케이션의 호스팅 위치 환경으로 표시됩니다. -
(선택 사항) 로그 상관 관계를 활성화하려면
OTEL_RESOURCE_ATTRIBUTES에서 애플리케이션의 로그 그룹에 대한 추가 환경 변수aws.log.group.names를 설정합니다. 이렇게 하면 애플리케이션의 추적과 지표를 로그 그룹의 관련 로그 항목과 상관시킬 수 있습니다. 이 변수의 경우$YOUR_APPLICATION_LOG_GROUP을 애플리케이션의 로그 그룹 이름으로 바꿉니다. 로그 그룹이 여러 개 있는 경우 다음 예와 같이 앰퍼샌드(&)를 사용하여 로그 그룹을 구분할 수 있습니다.aws.log.group.names=log-group-1&log-group-2지표와 로그의 상관 관계를 활성화하려면 이 현재 환경 변수를 설정하는 것으로 충분합니다. 자세한 내용은 로그 상관 관계에 대한 지표 활성화를 참조하세요. 추적과 로그의 상관 관계를 활성화하려면 애플리케이션의 로깅 구성도 변경해야 합니다. 자세한 내용은 로그 상관 관계에 대한 추적 활성화를 참조하세요.
-
로그:
-
OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED를true로 설정합니다. -
CloudWatch OTLP 로그 엔드포인트를 지정하도록
OTEL_EXPORTER_OTLP_LOGS_ENDPOINT를 설정하세요(https://logs.[).AWSRegion].amazonaws.com/v1/logs예:
export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT="https://logs.us-west-2.amazonaws.com/v1/logs" -
로그를 내보낼 로그 그룹 및 로그 스트림(참고: ADOT를 실행하기 전에 생성해야 함)을 지정하도록
OTEL_EXPORTER_OTLP_LOGS_HEADERS를 설정하세요(x-aws-log-group=[CW-LOG-GROUP-NAME],x-aws-log-stream=[CW-LOG-STREAM-NAME]).예:
export OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default -
OTEL_LOGS_EXPORTER를otlp로 설정하세요(이 값은 선택 사항이며 이 환경 변수가 설정되지 않은 경우 기본값임). -
OTEL_EXPORTER_OTLP_LOGS_PROTOCOL변수를http/protobuf로 설정하세요(이 값은 선택 사항이며 이 환경 변수가 설정되지 않은 경우 기본값임).
-
이제 애플리케이션은 ADOT Python 계측과 함께 실행되며 스팬 및 로그가 생성됩니다. 스팬은
aws/spansCloudWatch 로그 그룹에 저장되지만 로그는OTEL_EXPORTER_OTLP_LOGS_HEADERS헤더에 지정된 로그 그룹에 저장됩니다. CloudWatch 추적 및 지표 콘솔에서 스팬과 상관된 추적 및 지표를 볼 수도 있습니다.이전 단계에 나열된 환경 변수를 사용하여 애플리케이션을 시작합니다. 다음은 시작 스크립트의 예입니다.
$SVC_NAME을 애플리케이션 이름으로 바꿉니다. 애플리케이션의 이름으로 표시됩니다.$PYTHON_APP을 애플리케이션 위치와 이름으로 바꿉니다.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
-
참고
-
이러한 기능을 사용하려면 ADOT .NET 버전 1.8.0 이상이 필요합니다.
-
압축은 현재 지원되지 않습니다.
-
로그는 현재 지원되지 않습니다.
AWS Distro for OpenTelemetry .NET 자동 계측 패키지의 최신 버전을 다운로드합니다. aws-otel-dotnet-instrumentation 릴리스
에서 모든 릴리스 버전에 대한 정보를 볼 수 있습니다. 추적을 OTLP 엔드포인트로 바로 전송하는 여러 내보내기 도구를 활성화하고 이 이점을 최적화하려면 애플리케이션을 시작하기 전에 다음 환경 변수를 사용하세요. 이때
OTEL_RESOURCE_ATTRIBUTES환경 변수에서dotnet-service-name을 사용자가 선택한 서비스 이름으로 바꾸세요.추적:
-
반드시
OTEL_TRACES_EXPORTER를none으로 설정해야 합니다. -
반드시
OTEL_AWS_SIG_V4_ENABLED를true으로 설정해야 합니다.이 기능은 .NET에서 자동으로 활성화되지 않습니다. 환경 변수는 특히 .NET 계측 내에서 이 사용 사례를 식별하는 데 필요합니다. 이 요구 사항은 .NET에만 적용되며 지원되는 다른 언어에는 적용되지 않습니다.
다음은 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다음은 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이전 단계에 나열된 환경 변수를 사용하여 애플리케이션을 시작합니다.
(선택 사항) 또는 제공된 설치 스크립트를 사용하여 AWS Distro for OpenTelemetry .NET 자동 계측 패키지의 설치 및 설정을 지원할 수 있습니다.
Linux의 경우 GitHub 릴리스 페이지에서 Bash 설치 스크립트를 다운로드하여 설치합니다.
# 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-nameWindows Server의 경우 GitHub 릴리스 페이지에서 PowerShell 설치 스크립트를 다운로드하여 설치하세요.
# 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공식 NuGet 리포지토리
에서 AWS Distro for OpenTelemetry .NET 자동 계측 패키지의 NuGet 패키지를 찾을 수 있습니다. README 파일 에서 지침을 확인해야 합니다.
-