Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengekspor jejak tanpa kolektor menggunakan AWS Distro for (ADOT) OpenTelemetry SDKs
Anda dapat menggunakan ADOT SDKs untuk mengurangi kolektor dan mengirim jejak langsung ke titik akhir OTLP (untuk jejak).
Secara default, Sinyal Aplikasi diaktifkan saat Anda mengaktifkan Pencarian Transaksi. Sinyal Aplikasi tidak didukung di AWS Distro untuk OpenTelemetry dan harus dinonaktifkan.
Prasyarat
Pastikan Transaction Search diaktifkan untuk mengirim rentang ke endpoint X-Ray OTLP. Untuk informasi selengkapnya, lihat Memulai Penelusuran Transaksi.
Menyiapkan izin IAM untuk Amazon EC2
Ikuti langkah-langkah berikut untuk melampirkan kebijakan AWSXrayWriteOnlyPolicy
IAM ke peran IAM instans Amazon EC2 Anda:
Buka CloudWatch konsol di https://console.aws.amazon.com/cloudwatch/.
-
Pilih Peran dan temukan dan pilih peran yang digunakan oleh EC2 instans Amazon Anda.
-
Di bawah tab Izin, pilih Tambahkan izin, lalu Lampirkan kebijakan.
-
Menggunakan kotak pencarian, cari AWSXrayWriteOnlyPolicy
kebijakan.
-
Pilih AWSXrayWriteOnlyPolicy
kebijakan dan pilih Tambahkan izin.
Menyiapkan izin IAM untuk host di lokasi
Ikuti langkah-langkah berikut untuk membuat pengguna IAM yang dapat digunakan untuk memberikan izin kepada host lokal Anda.
Buka CloudWatch konsol di https://console.aws.amazon.com/cloudwatch/.
Pilih Pengguna dan kemudian Buat Pengguna.
-
Pilih Pengguna, Buat Pengguna.
-
Di bawah Rincian pengguna, untuk nama Pengguna, masukkan nama untuk pengguna IAM baru. Ini adalah nama masuk untuk AWS yang akan digunakan untuk mengautentikasi host Anda.
-
Pilih Berikutnya.
-
Pada halaman Setel izin, di bawah opsi Izin, pilih Lampirkan kebijakan secara langsung.
-
Dari daftar Kebijakan izin, pilih AWSXrayWriteOnlyPolicy
kebijakan yang akan ditambahkan ke pengguna Anda.
-
Pilih Berikutnya.
-
Pada halaman Tinjau dan buat, pastikan Anda puas dengan nama pengguna dan AWSXrayWriteOnlyPolicy
kebijakan tersebut berada di bawah ringkasan Izin.
-
Pilih Create user (Buat pengguna).
-
Buat dan ambil kunci AWS akses dan kunci rahasia Anda:
-
Di panel navigasi di konsol IAM, pilih Pengguna dan kemudian pilih nama pengguna pengguna yang Anda buat di langkah sebelumnya.
-
Pada halaman pengguna, pilih tab Security credentials.
-
Di bawah bagian tombol Akses, pilih Buat kunci akses.
-
Untuk Buat tombol akses Langkah 1, pilih Antarmuka Baris Perintah (CLI).
-
Untuk Buat kunci akses Langkah 2, secara opsional masukkan tag dan kemudian pilih Berikutnya.
-
Untuk Buat kunci akses Langkah 3, pilih Unduh file.csv untuk menyimpan file.csv dengan kunci akses pengguna IAM dan kunci akses rahasia Anda. Anda memerlukan informasi ini untuk langkah selanjutnya.
-
Pilih Selesai.
-
Konfigurasikan AWS kredensional Anda di host lokal Anda dengan memasukkan perintah berikut. Ganti ACCESS_KEY_ID
dan SECRET_ACCESS_ID
dengan kunci akses yang baru dibuat dan kunci akses rahasia dari file.csv yang Anda unduh di langkah sebelumnya.
$ 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
Mengaktifkan ADOT SDKs
Anda dapat mengaktifkan jejak agar aplikasi Anda dikirim langsung ke titik akhir OTLP dari AWS Distro for OpenTelemetry (ADOT) SDK di Java, Node.js, Python, dan .Net.
- Java
-
-
Unduh versi terbaru dari agen instrumentasi otomatis AWS Distro untuk OpenTelemetry Java. Anda dapat mengunduh versi terbaru dengan menggunakan perintah ini:
curl -L -O https://github.com/aws-observability/aws-otel-java-instrumentation/releases/latest/download/aws-opentelemetry-agent.jar
Untuk melihat semua versi yang dirilis, lihat aws-otel-java-instrumentation rilis.
Untuk mengaktifkan eksportir yang secara langsung mengirimkan jejak ke titik akhir jejak X-Ray OTLP dan untuk mengoptimalkan manfaat, gunakan variabel lingkungan untuk memberikan informasi tambahan sebelum Anda memulai aplikasi.
Untuk variabel OTEL_RESOURCE_ATTRIBUTES
, tentukan informasi berikut sebagai pasangan nilai kunci:
(Opsional) service.name
menetapkan nama layanan. Ini akan ditampilkan sebagai nama layanan untuk aplikasi Anda di dasbor Sinyal Aplikasi. Bila Anda tidak memberikan nilai untuk kunci ini, default dari akan UnknownService
digunakan.
(Opsional) deployment.environment
menetapkan lingkungan tempat aplikasi berjalan. Ini akan diputar sebagai lingkungan Hosted In aplikasi Anda. Bila Anda tidak menentukan ini, salah satu default berikut digunakan:
-
Jika ini adalah instance yang merupakan bagian dari grup Auto Scaling, maka akan diatur ke ec2:name-of-Auto-Scaling-group
-
Jika ini adalah EC2 instance Amazon yang bukan bagian dari grup Auto Scaling, maka akan diatur ke ec2:default
-
Jika ini adalah host lokal, itu diatur ke generic:default
Variabel lingkungan ini hanya digunakan oleh Sinyal Aplikasi, dan diubah menjadi anotasi jejak X-Ray dan dimensi CloudWatch metrik
Untuk OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
variabel, tentukan titik akhir jejak X-Ray OTLP:. https://xray.[AWSRegion
].amazonaws.com/v1/traces
Misalnya:
export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces"
Untuk JAVA_TOOL_OPTIONS
variabel, tentukan jalur tempat agen instrumentasi otomatis AWS Distro untuk OpenTelemetry Java disimpan.
export JAVA_TOOL_OPTIONS=" -javaagent:$AWS_ADOT_JAVA_INSTRUMENTATION_PATH"
Misalnya:
export AWS_ADOT_JAVA_INSTRUMENTATION_PATH="./aws-opentelemetry-agent.jar"
Untuk OTEL_METRICS_EXPORTER
variabel, disarankan untuk mengatur nilai ke none.
Untuk OTEL_LOGS_EXPORTER
variabel, disarankan untuk mengatur nilai ke none.
Untuk OTEL_TRACES_EXPORTER
variabel, Anda harus mengatur nilai untuk otlp
(ini opsional dan merupakan nilai default jika variabel lingkungan ini tidak disetel).
Untuk OTEL_EXPORTER_OTLP_PROTOCOL
variabel, Anda harus mengatur nilainya http/protobuf
(ini opsional dan merupakan nilai default jika variabel lingkungan ini tidak disetel). Titik akhir X-Ray OTLP saat ini hanya mendukung protokol HTTP.
Aplikasi Anda sekarang harus berjalan dengan AWS Distro untuk instrumentasi OpenTelemetry Java dan akan menghasilkan rentang. Rentang ini disimpan aws/spans
CloudWatch LogsLogGroup di akun Anda. Anda juga dapat melihat jejak dan metrik yang berkorelasi dengan rentang Anda di Konsol CloudWatch Jejak dan Metrik.
Mulai aplikasi Anda dengan variabel lingkungan yang Anda tetapkan. Berikut adalah contoh skrip awal.
(Catatan: Konfigurasi berikut hanya mendukung versi 1.32.2 dan yang lebih baru dari AWS Distro untuk agen OpenTelemetry instrumentasi otomatis untuk Java.)
JAVA_TOOL_OPTIONS=" -javaagent:$AWS_ADOT_JAVA_INSTRUMENTATION_PATH" \
OTEL_METRICS_EXPORTER=none \
OTEL_LOGS_EXPORTER=none \
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf \
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/traces \
OTEL_RESOURCE_ATTRIBUTES="service.name=$YOUR_SVC_NAME" \
java -jar $MY_JAVA_APP.jar
- Node.js
-
Unduh versi terbaru dari AWS Distro untuk agen OpenTelemetry JavaScript instrumentasi otomatis untuk Node.js. Anda dapat menginstal menggunakan perintah:
npm install @aws/aws-distro-opentelemetry-node-autoinstrumentation
Untuk melihat informasi tentang semua versi yang dirilis, lihat AWS Distro untuk OpenTelemetry JavaScript instrumentasi.
Untuk mengaktifkan eksportir yang secara langsung mengirimkan jejak ke titik akhir X-Ray OTLP dan untuk mengoptimalkan manfaat, gunakan variabel lingkungan untuk memberikan informasi tambahan sebelum Anda memulai aplikasi.
Untuk variabel OTEL_RESOURCE_ATTRIBUTES
, tentukan informasi berikut sebagai pasangan nilai kunci:
(Opsional) service.name
menetapkan nama layanan. Ini akan ditampilkan sebagai nama layanan untuk aplikasi Anda di dasbor Sinyal Aplikasi. Bila Anda tidak memberikan nilai untuk kunci ini, default dari akan UnknownService
digunakan.
(Opsional) deployment.environment
menetapkan lingkungan tempat aplikasi berjalan. Ini akan diputar sebagai Ditempati Di lingkungan aplikasi Anda di dasbor Sinyal Aplikasi. Bila Anda tidak menentukan variabel ini, salah satu default berikut digunakan:
-
Jika ini adalah instance yang merupakan bagian dari grup Auto Scaling, maka akan diatur ke ec2:name-of-Auto-Scaling-group
-
Jika ini adalah EC2 instance Amazon yang bukan bagian dari grup Auto Scaling, maka akan diatur ke ec2:default
-
Jika ini adalah host lokal, itu diatur ke generic:default
Variabel lingkungan ini hanya digunakan oleh Sinyal Aplikasi, dan diubah menjadi anotasi jejak X-Ray dan dimensi CloudWatch metrik.
Untuk OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
variabel, tentukan titik akhir jejak X-Ray OTLP:. https://xray.[AWSRegion
].amazonaws.com/v1/traces
Misalnya:
export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces"
Untuk OTEL_METRICS_EXPORTER
variabel, disarankan untuk mengatur nilai ke none. Metrik Sinyal Aplikasi dihasilkan oleh titik akhir OTLP.
Untuk OTEL_LOGS_EXPORTER
variabel, disarankan untuk mengatur nilai ke none.
Untuk OTEL_TRACES_EXPORTER
variabel, Anda harus mengatur nilai untuk otlp
(ini opsional dan merupakan nilai default jika variabel lingkungan ini tidak disetel).
Untuk OTEL_EXPORTER_OTLP_PROTOCOL
variabel, Anda harus mengatur nilainya http/protobuf
(ini opsional dan merupakan nilai default jika variabel lingkungan ini tidak disetel). Titik akhir X-Ray OTLP saat ini hanya mendukung protokol HTTP.
Aplikasi Anda sekarang harus berjalan dengan AWS Distro untuk instrumentasi OpenTelemetry Java dan akan menghasilkan rentang. Rentang ini disimpan aws/spans
CloudWatch LogsLogGroup di akun Anda. Anda juga dapat melihat jejak dan metrik yang berkorelasi dengan rentang Anda di Konsol CloudWatch Jejak dan Metrik.
Mulai aplikasi Anda dengan variabel lingkungan yang Anda tetapkan. Berikut adalah contoh skrip awal.
(Catatan: Ganti $ SVC_NAME
dengan nama aplikasi Anda. Ini ditampilkan sebagai nama aplikasi.
OTEL_METRICS_EXPORTER=none \
OTEL_LOGS_EXPORTER=none \
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf \
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/traces \
OTEL_RESOURCE_ATTRIBUTES="service.name=$SVC_NAME
" \
node —require '@aws/aws-distro-opentelemetry-node-autoinstrumentation/register' your-application.js
- Python
-
Unduh versi terbaru dari agen instrumentasi AWS otomatis Distro untuk OpenTelemetry Python. Anda dapat menginstal menggunakan perintah:
pip install aws-opentelemetry-distro
Untuk memungkinkan eksportir mengirim jejak langsung ke titik akhir X-Ray OTLP dan mengoptimalkan manfaat, gunakan variabel lingkungan untuk memberikan informasi tambahan sebelum Anda memulai aplikasi.
Untuk variabel OTEL_RESOURCE_ATTRIBUTES
, tentukan informasi berikut sebagai pasangan nilai kunci:
(Opsional) service.name
menetapkan nama layanan. Ini akan ditampilkan sebagai nama layanan untuk aplikasi Anda di dasbor Sinyal Aplikasi. Bila Anda tidak memberikan nilai untuk kunci ini, default dari akan UnknownService
digunakan.
(Opsional) deployment.environment
menetapkan lingkungan tempat aplikasi berjalan. Ini akan diputar sebagai Ditempati Di lingkungan aplikasi Anda di dasbor Sinyal Aplikasi. Bila Anda tidak menentukan ini, salah satu default berikut digunakan:
-
Jika ini adalah instance yang merupakan bagian dari grup Auto Scaling, maka akan diatur ke ec2:name-of-Auto-Scaling-group
-
Jika ini adalah EC2 instance Amazon yang bukan bagian dari grup Auto Scaling, maka akan diatur ke ec2:default
-
Jika ini adalah host lokal, itu diatur ke generic:default
Variabel lingkungan ini hanya digunakan oleh Sinyal Aplikasi, dan diubah menjadi anotasi jejak X-Ray dan dimensi CloudWatch metrik.
Untuk OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
variabel, tentukan titik akhir jejak X-Ray OTLP:. https://xray.[AWSRegion
].amazonaws.com/v1/traces
Misalnya:
export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces"
Untuk OTEL_METRICS_EXPORTER
variabel, disarankan untuk mengatur nilai ke none. Metrik Sinyal Aplikasi dihasilkan oleh titik akhir OTLP.
Untuk OTEL_LOGS_EXPORTER
variabel, disarankan untuk mengatur nilai ke none.
Untuk OTEL_TRACES_EXPORTER
variabel, Anda harus mengatur nilai untuk otlp
(ini opsional dan merupakan nilai default jika variabel lingkungan ini tidak disetel).
Untuk OTEL_EXPORTER_OTLP_PROTOCOL
variabel, Anda harus mengatur nilainya http/protobuf
(ini opsional dan merupakan nilai default jika variabel lingkungan ini tidak disetel). Titik akhir X-Ray OTLP saat ini hanya mendukung protokol HTTP.
Aplikasi Anda sekarang harus berjalan dengan AWS Distro untuk instrumentasi OpenTelemetry Java dan akan menghasilkan rentang. Rentang ini disimpan aws/spans
CloudWatch LogsLogGroup di akun Anda. Anda juga dapat melihat jejak dan metrik yang berkorelasi dengan rentang Anda di Konsol CloudWatch Jejak dan Metrik.
Mulai aplikasi Anda dengan variabel lingkungan yang Anda tetapkan. Berikut adalah contoh skrip awal.
(Catatan: Ganti $ SVC_NAME
dengan nama aplikasi Anda dan ganti $ PYTHON_APP
dengan lokasi dan nama aplikasi Anda.
OTEL_METRICS_EXPORTER=none \
OTEL_LOGS_EXPORTER=none \
OTEL_PYTHON_DISTRO=aws_distro \
OTEL_PYTHON_CONFIGURATOR=aws_configurator \
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf \
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/traces \
OTEL_RESOURCE_ATTRIBUTES="service.name=$SVC_NAME
" \
opentelemetry-instrument python $MY_PYTHON_APP
.py
- .Net
-
Untuk mengaktifkan eksportir yang secara langsung mengirimkan jejak ke titik akhir jejak X-Ray OTLP dan untuk mengoptimalkan manfaat, atur variabel lingkungan untuk memberikan informasi tambahan sebelum Anda memulai aplikasi. Variabel-variabel ini juga diperlukan untuk mengatur instrumentasi .NET.
Ganti dotnet-service-name
di variabel OTEL_RESOURCE_ATTRIBUTES
lingkungan dengan nama layanan pilihan Anda.
Atur OTEL_TRACES_EXPORTER=none
.
Atur OTEL_AWS_SIG_V4_ENABLED=true
.
Contoh untuk 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_PROTOCOL=http/protobuf
export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/traces
Contoh untuk 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_PROTOCOL=http/protobuf
$env:OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/traces
Mulai aplikasi Anda dengan variabel lingkungan.
(Opsional) Atau, Anda dapat menggunakan skrip instalasi yang disediakan untuk membantu instalasi dan penyiapan AWS Distro untuk paket instrumentasi OpenTelemetry otomatis.NET.
Untuk Linux, unduh dan instal skrip instalasi Bash dari halaman GitHub rilis:
# 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
Untuk Windows Server, unduh dan instal skrip PowerShell instalasi dari halaman GitHub rilis:
# 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
Anda dapat menemukan NuGet paket paket instrumentasi otomatis AWS Distro untuk OpenTelemetry .NET di repositori resmi. NuGet Pastikan untuk memeriksa file README untuk instruksi.