Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Aktifkan aplikasi Anda di Amazon EC2
Akti CloudWatch fkan Sinyal Aplikasi di Amazon EC2 dengan menggunakan langkah-langkah pengaturan khusus yang dijelaskan di bagian ini.
Untuk aplikasi yang berjalan di Amazon EC2, Anda menginstal dan mengkonfigurasi CloudWatch agen dan AWS Distro untuk OpenTelemetry diri Anda sendiri. Pada arsitektur ini yang diaktifkan dengan pengaturan Sinyal Aplikasi, Sinyal Aplikasi tidak secara otomatis menemukan nama layanan Anda atau klaster atau host tempat berjalannya. Anda harus menentukan nama-nama ini selama melakukan pengaturan kustom, dan nama yang Anda tentukan adalah apa yang akan ditampilkan pada dasbor Sinyal Aplikasi.
Instruksi di bagian ini adalah untuk aplikasi Java, Python, dan .NET. Langkah-langkah telah diuji pada instans Amazon EC2, tetapi juga diharapkan bekerja pada arsitektur lain yang mendukung AWS Distro untuk. OpenTelemetry
Persyaratan
Jika Anda sudah menggunakan OpenTelemetry dengan aplikasi yang ingin Anda aktifkan untuk Sinyal Aplikasi, lihat Sistem yang didukung sebelum Anda mengaktifkan Sinyal Aplikasi.
Langkah 1: Mengaktifkan Sinyal Aplikasi di akun Anda
Anda harus terlebih dahulu mengaktifkan Sinyal Aplikasi di akun Anda. Jika belum, lihatAktifkan Sinyal Aplikasi di akun Anda.
Langkah 2: Unduh dan mulai CloudWatch agen
Untuk menginstal CloudWatch agen sebagai bagian dari mengaktifkan Sinyal Aplikasi di instans Amazon EC2 atau host lokal
Unduh versi terbaru CloudWatch agen ke instance. Jika instans sudah menginstal CloudWatch agen, Anda mungkin perlu memperbaruinya. Hanya versi agen yang dirilis pada 30 November 2023 atau yang lebih baru yang mendukung Sin CloudWatch yal Aplikasi.
Sebelum memulai CloudWatch agen, konfigurasikan untuk mengaktifkan Sinyal Aplikasi. Contoh berikut adalah konfigurasi CloudWatch agen yang mengaktifkan Sinyal Aplikasi untuk metrik dan pelacakan pada host EC2.
Kami menyarankan Anda menempatkan file ini di /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json pada sistem Linux.
{
"traces": {
"traces_collected": {
"application_signals": {}
}
},
"logs": {
"metrics_collected": {
"application_signals": {}
}
}
}
Lampirkan kebijakan CloudWatchAgentServerPolicy IAM ke peran IAM instans Amazon EC2 Anda. Untuk izin untuk host lokal, lihatIzin untuk server lokal.
Masuk ke Konsol Manajemen AWS dan buka konsol IAM di https://console.aws.amazon.com/iam/.
Pilih Peran dan temukan peran yang digunakan oleh instans Amazon EC2 Anda. Kemudian pilih nama dari peran itu.
Pada tab Izin, pilih Tambahkan izin, Lampirkan kebijakan.
Menemukan CloudWatchAgentServerPolicy. Gunakan kotak pencarian, jika diperlukan. Kemudian pilih kotak centang untuk kebijakan tersebut dan kemudian pilih Tambahkan izin.
Mulai CloudWatch agen dengan memasukkan perintah berikut. Ganti agent-config-file-path dengan path ke file konfigurasi CloudWatch agen, seperti./amazon-cloudwatch-agent.json. Anda harus menyertakan awalan file: seperti yang ditunjukkan.
export CONFIG_FILE_PATH=./amazon-cloudwatch-agent.json
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl \
-a fetch-config \
-m ec2 -s -c file:agent-config-file-path
Izin untuk server lokal
Untuk host lokal, Anda harus memberikan AWS otorisasi ke perangkat Anda.
Untuk mengatur izin untuk host lokal
Buat pengguna IAM yang akan digunakan untuk memberikan izin ke host lokal Anda:
Buka konsol IAM di https://console.aws.amazon.com/iam/.
Pilih Pengguna, Buat Pengguna.
Di Detail pengguna, untuk Nama pengguna, masukkan nama untuk pengguna IAM baru. Ini adalah nama login untuk AWS yang akan digunakan untuk mengotentikasi host Anda. Lalu pilih Selanjutnya
Pada halaman Tet apkan izin, di bawah opsi Izin, pilih Lamp irkan kebijakan secara langsung.
Dari daftar Kebijakan Izin, pilih CloudWatchAgentServerPolicy kebijakan yang akan ditambahkan ke pengguna Anda. Lalu pilih Selanjutnya.
Pada halaman T injau dan buat, pastikan Anda puas dengan nama pengguna dan CloudWatchAgentServerPolicy kebijakan tersebut ada di ringkasan Izin.
Pilih 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 pada langkah sebelumnya.
Pada halaman pengguna, pilih tab Kreden sibilitas keamanan. Kemudian, di bagian tombol akses, pilih Buat kunci akses.
Untuk Buat kunci akses Langkah 1, pilih Command Line Interface (CLI).
Untuk Buat kunci akses Langkah 2, secara opsional masukkan tag dan kemudian pilih Ber ikutnya.
Untuk Buat kunci akses Langkah 3, pilih Unduh file.csv untuk menyimpan file.csv dengan kunci akses pengguna IAM dan kunci akses rahasia. Anda memerlukan informasi ini untuk langkah selanjutnya.
Pilih Selesai.
Konfigurasikan AWS kredensi Anda di host lokal 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 pada 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
Langkah 3: Menginstrumentasikan aplikasi Anda dan memulainya
Langkah selanjutnya adalah instrumen aplikasi Anda untuk Sin CloudWatch yal Aplikasi.
- Java
-
Untuk instrumen aplikasi Java Anda sebagai bagian dari mengaktifkan Sinyal Aplikasi di instans Amazon EC2 atau host lokal
Unduh versi terbaru dari agen instrumentasi otomatis AWS Distro untuk OpenTelemetry Java. Anda dapat mengunduh versi terbaru dengan menggunakan tautan ini. Anda dapat melihat informasi tentang semua versi yang dirilis di Rilis aws-otel-java-instrumentation.
Untuk mengoptimalkan manfaat Sinyal Aplikasi, gunakan variabel lingkungan untuk memberikan informasi tambahan sebelum memulai aplikasi Anda. Informasi ini akan ditampilkan di dasbor Sinyal 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. Jika Anda tidak memberikan nilai untuk kunci ini, maka UnknownService digunakan sebagai nilai default.
(Op deployment.environment sional) mengatur lingkungan tempat aplikasi berjalan. Ini akan diputar sebagai Ditempati Di lingkungan aplikasi Anda di dasbor Sinyal Aplikasi. Jika Anda tidak menentukan ini, salah satu default berikut digunakan:
Jika ini adalah instance yang merupakan bagian dari grup Penskalaan Otomatis, itu disetel ke ec2:name-of-Auto-Scaling-group
Jika ini adalah instans Amazon EC2 yang bukan bagian dari grup Penskalaan Otomatis, instans tersebut disetel ke ec2:default
Jika ini adalah host lokal, itu disetel ke generic:default
Variabel lingkungan ini hanya digunakan oleh Sinyal Aplikasi, dan diubah menjadi anotasi X-Ray jejak dan dimensi CloudWatch metrik.
Untuk variabel OTEL_EXPORTER_OTLP_TRACES_ENDPOINT, tentukan URL titik akhir dasar tempat jejak akan diekspor. CloudWatch Agen mengekspos 4316 sebagai port OTLP-nya. Di Amazon EC2, karena aplikasi berkomunikasi dengan CloudWatch agen lokal, Anda harus menetapkan nilai ini ke OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:4316/v1/traces
Untuk variabel OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT, tentukan URL titik akhir dasar tempat metrik akan diekspor. CloudWatch Agen mengekspos 4316 sebagai port OTLP-nya. Di Amazon EC2, karena aplikasi berkomunikasi dengan CloudWatch agen lokal, Anda harus menetapkan nilai ini ke OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT=http://localhost:4316/v1/metrics
Untuk JAVA_TOOL_OPTIONS variabel, tentukan jalur tempat AWS Distro untuk agen instrumentasi otomatis OpenTelemetry Java disimpan.
export JAVA_TOOL_OPTIONS=" -javaagent:$AWS_ADOT_JAVA_INSTRUMENTATION_PATH"
Contoh:
export AWS_ADOT_JAVA_INSTRUMENTATION_PATH=./aws-opentelemetry-agent.jar
Untuk variabel OTEL_METRICS_EXPORTER, kami sarankan Anda menetapkan nilainya menjadi none. Hal ini akan menonaktifkan pengekspor metrik lain sehingga hanya pengekspor Sinyal Aplikasi yang digunakan.
Atur OTEL_AWS_APPLICATION_SIGNALS_ENABLED ke true. Ini akan menghasilkan metrik Sinyal Aplikasi dari jejak.
Mulai aplikasi Anda dengan variabel lingkungan yang tercantum pada langkah sebelumnya. Berikut ini adalah sebuah contoh skrip awal.
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_AWS_APPLICATION_SIGNALS_ENABLED=true \
OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT=http://localhost:4316/v1/metrics \
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf \
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:4316/v1/traces \
OTEL_RESOURCE_ATTRIBUTES="service.name=$YOUR_SVC_NAME" \
java -jar $MY_JAVA_APP.jar
(Opsional) Untuk mengaktifkan korelasi logOTEL_RESOURCE_ATTRIBUTES, di, tetapkan variabel lingkungan tambahan aws.log.group.names untuk grup log aplikasi Anda. Dengan demikian, jejak dan metrik dari aplikasi Anda dapat dikorelasikan dengan entri log yang relevan dari grup log ini. Untuk variabel ini, ganti $YOUR_APPLICATION_LOG_GROUP dengan nama grup log untuk aplikasi Anda. Jika Anda memiliki beberapa grup log, Anda dapat menggunakan ampersand (&) untuk memisahkannya seperti dalam contoh ini:. aws.log.group.names=log-group-1&log-group-2 Untuk mengaktifkan metrik untuk mencatat korelasi, menyetel variabel lingkungan saat ini sudah cukup. Untuk informasi selengkapnya, lihat Aktifkan metrik untuk mencatat korelasi. Untuk mengaktifkan korelasi pelacakan ke log, Anda juga perlu mengubah konfigurasi logging di aplikasi Anda. Untuk informasi selengkapnya, lihat Aktifkan korelasi pelacakan ke log.
Berikut ini adalah contoh skrip awal yang membantu mengaktifkan korelasi log.
JAVA_TOOL_OPTIONS=" -javaagent:$AWS_ADOT_JAVA_INSTRUMENTATION_PATH" \
OTEL_METRICS_EXPORTER=none \
OTEL_LOGS_EXPORT=none \
OTEL_AWS_APPLICATION_SIGNALS_ENABLED=true \
OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT=http://localhost:4316/v1/metrics \
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf \
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:4316/v1/traces \
OTEL_RESOURCE_ATTRIBUTES="aws.log.group.names=$YOUR_APPLICATION_LOG_GROUP,service.name=$YOUR_SVC_NAME" \
java -jar $MY_JAVA_APP.jar
- Python
-
Untuk instrumen aplikasi Python Anda sebagai bagian dari mengaktifkan Sinyal Aplikasi pada instans Amazon EC2
Unduh versi terbaru AWS Distro untuk agen instrumentasi otomatis OpenTelemetry Python. Instal dengan menjalankan perintah berikut.
pip install aws-opentelemetry-distro
Anda dapat melihat informasi tentang semua versi yang dirilis di AWS Distro untuk instrumentasi OpenTelemetry Python.
Untuk mengoptimalkan manfaat Sinyal Aplikasi, gunakan variabel lingkungan untuk memberikan informasi tambahan sebelum memulai aplikasi Anda. Informasi ini akan ditampilkan di dasbor Sinyal Aplikasi.
Untuk variabel OTEL_RESOURCE_ATTRIBUTES, tentukan informasi berikut sebagai pasangan nilai kunci:
service.name menetapkan nama layanan. Ini akan diputar sebagai nama layanan di dasbor Sinyal Aplikasi Anda. Jika Anda tidak memberikan nilai untuk kunci ini, maka UnknownService digunakan sebagai nilai default.
deployment.environment menetapkan lingkungan tempat aplikasi berjalan. Ini akan diputar sebagai Ditempati Di lingkungan aplikasi Anda di dasbor Sinyal Aplikasi. Jika Anda tidak menentukan ini, salah satu default berikut digunakan:
Jika ini adalah instance yang merupakan bagian dari grup Penskalaan Otomatis, itu disetel keec2:name-of-Auto-Scaling-group.
Jika ini adalah instans Amazon EC2 yang bukan bagian dari grup Penskalaan Otomatis, instans tersebut disetel ke ec2:default
Jika ini adalah host lokal, itu disetel ke generic:default
Kunci atribut ini hanya digunakan oleh Sinyal Aplikasi, dan diubah menjadi anotasi X-Ray jejak dan dimensi CloudWatch metrik.
Untuk OTEL_EXPORTER_OTLP_PROTOCOL variabel, tentukan http/protobuf untuk mengekspor data telemetri melalui HTTP ke titik akhir CloudWatch agen yang tercantum dalam langkah-langkah berikut.
Untuk variabel OTEL_EXPORTER_OTLP_TRACES_ENDPOINT, tentukan URL titik akhir dasar tempat jejak akan diekspor. CloudWatch Agen mengekspos 4316 sebagai port OTLP melalui HTTP. Di Amazon EC2, karena aplikasi berkomunikasi dengan CloudWatch agen lokal, Anda harus menetapkan nilai ini ke OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:4316/v1/traces
Untuk variabel OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT, tentukan URL titik akhir dasar tempat metrik akan diekspor. CloudWatch Agen mengekspos 4316 sebagai port OTLP melalui HTTP. Di Amazon EC2, karena aplikasi berkomunikasi dengan CloudWatch agen lokal, Anda harus menetapkan nilai ini ke OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT=http://localhost:4316/v1/metrics
Untuk variabel OTEL_METRICS_EXPORTER, kami sarankan Anda menetapkan nilainya menjadi none. Hal ini akan menonaktifkan pengekspor metrik lain sehingga hanya pengekspor Sinyal Aplikasi yang digunakan.
Setel OTEL_AWS_APPLICATION_SIGNALS_ENABLED variabel true agar wadah Anda mulai mengirim X-Ray jejak dan CloudWatch metrik ke Sinyal Aplikasi.
Mulai aplikasi Anda dengan variabel-variabel lingkungan yang dibahas pada langkah sebelumnya. Berikut ini adalah sebuah contoh skrip awal.
Ganti $SVC_NAME dengan nama aplikasi Anda. Ini akan ditampilkan sebagai nama aplikasi, di dasbor Sinyal Aplikasi.
Ganti $PYTHON_APP dengan lokasi dan nama aplikasi Anda.
OTEL_METRICS_EXPORTER=none \
OTEL_LOGS_EXPORTER=none \
OTEL_AWS_APPLICATION_SIGNALS_ENABLED=true \
OTEL_PYTHON_DISTRO=aws_distro \
OTEL_PYTHON_CONFIGURATOR=aws_configurator \
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf \
OTEL_TRACES_SAMPLER=xray \
OTEL_TRACES_SAMPLER_ARG="endpoint=http://localhost:2000" \
OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT=http://localhost:4316/v1/metrics \
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:4316/v1/traces \
OTEL_RESOURCE_ATTRIBUTES="service.name=$SVC_NAME" \
opentelemetry-instrument python $MY_PYTHON_APP.py
Sebelum Anda mengaktifkan Sinyal Aplikasi untuk aplikasi Python Anda, perhatikan pertimbangan berikut.
Dalam beberapa aplikasi kontainer, variabel PYTHONPATH lingkungan yang hilang terkadang dapat menyebabkan aplikasi gagal memulai. Untuk mengatasi masalah ini, pastikan Anda menyetel variabel PYTHONPATH lingkungan ke lokasi direktori kerja aplikasi Anda. Ini karena masalah yang diketahui dengan OpenTelemetry instrumentasi otomatis. Untuk informasi selengkapnya tentang masalah ini, lihat Pengaturan autoinstrumentasi Python PYTHONPATH tidak sesuai.
Untuk aplikasi Django, ada konfigurasi tambahan yang diperlukan, yang diuraikan dalam dokument asi OpenTelemetry Python.
Gunakan ben --noreload dera untuk mencegah pemuatan ulang otomatis.
Atur variabel DJANGO_SETTINGS_MODULE lingkungan ke lokasi settings.py file aplikasi Django Anda. Ini memastikan bahwa OpenTelemetry dapat mengakses dan mengintegrasikan dengan benar dengan pengaturan Django Anda.
-
(Opsional) Untuk mengaktifkan korelasi logOTEL_RESOURCE_ATTRIBUTES, di, atur variabel lingkungan tambahan aws.log.group.names untuk grup log aplikasi Anda. Dengan demikian, jejak dan metrik dari aplikasi Anda dapat dikorelasikan dengan entri log yang relevan dari grup log ini. Untuk variabel ini, ganti $YOUR_APPLICATION_LOG_GROUP dengan nama grup log untuk aplikasi Anda. Jika Anda memiliki beberapa grup log, Anda dapat menggunakan ampersand (&) untuk memisahkannya seperti dalam contoh ini:. aws.log.group.names=log-group-1&log-group-2 Untuk mengaktifkan metrik untuk mencatat korelasi, menyetel variabel lingkungan saat ini sudah cukup. Untuk informasi selengkapnya, lihat Aktifkan metrik untuk mencatat korelasi. Untuk mengaktifkan korelasi pelacakan ke log, Anda juga perlu mengubah konfigurasi logging di aplikasi Anda. Untuk informasi selengkapnya, lihat Aktifkan korelasi pelacakan ke log.
Berikut ini adalah contoh skrip awal yang membantu mengaktifkan korelasi log.
OTEL_METRICS_EXPORTER=none \
OTEL_LOGS_EXPORTER=none \
OTEL_AWS_APPLICATION_SIGNALS_ENABLED=true \
OTEL_PYTHON_DISTRO=aws_distro \
OTEL_PYTHON_CONFIGURATOR=aws_configurator \
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf \
OTEL_TRACES_SAMPLER=xray \
OTEL_TRACES_SAMPLER_ARG="endpoint=http://localhost:2000" \
OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT=http://localhost:4316/v1/metrics \
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:4316/v1/traces \
OTEL_RESOURCE_ATTRIBUTES="aws.log.group.names=$YOUR_APPLICATION_LOG_GROUP,service.name=$YOUR_SVC_NAME" \
java -jar $MY_PYTHON_APP.jar
- .NET
-
Untuk instrumen aplikasi.NET Anda sebagai bagian dari mengaktifkan Sinyal Aplikasi di instans Amazon EC2 atau host lokal
Unduh versi terbaru dari paket instrumentasi otomatis AWS Distro untuk OpenTelemetry .NET. Anda dapat mengunduh versi terbaru di aws-otel-dotnet-instrumentation Releases.
Untuk mengaktifkan Sinyal Aplikasi, atur variabel lingkungan berikut untuk memberikan informasi tambahan sebelum memulai aplikasi. Variabel ini diperlukan untuk mengatur hook startup untuk instrumentasi.NET, sebelum Anda memulai aplikasi.NET Anda. G dotnet-service-name anti variabel OTEL_RESOURCE_ATTRIBUTES lingkungan dengan nama layanan pilihan Anda.
Berikut ini adalah 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_RESOURCE_ATTRIBUTES=service.name=dotnet-service-name
export OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
export OTEL_EXPORTER_OTLP_ENDPOINT=http://127.0.0.1:4316
export OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT=http://127.0.0.1:4316/v1/metrics
export OTEL_METRICS_EXPORTER=none
export OTEL_AWS_APPLICATION_SIGNALS_ENABLED=true
export OTEL_TRACES_SAMPLER=xray
export OTEL_TRACES_SAMPLER_ARG=http://127.0.0.1:2000
Berikut ini adalah 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_RESOURCE_ATTRIBUTES = "service.name=dotnet-service-name"
$env:OTEL_EXPORTER_OTLP_PROTOCOL = "http/protobuf"
$env:OTEL_EXPORTER_OTLP_ENDPOINT = "http://127.0.0.1:4316"
$env:OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT = "http://127.0.0.1:4316/v1/metrics"
$env:OTEL_METRICS_EXPORTER = "none"
$env:OTEL_AWS_APPLICATION_SIGNALS_ENABLED = "true"
$env:OTEL_TRACES_SAMPLER = "xray"
$env:OTEL_TRACES_SAMPLER_ARG = "http://127.0.0.1:2000"
Mulai aplikasi Anda dengan variabel lingkungan yang tercantum pada langkah sebelumnya.
(Opsional) Atau, Anda dapat menggunakan skrip instalasi yang disediakan untuk membantu instalasi dan pengaturan AWS Distro untuk paket instrumentasi otomatis OpenTelemetry .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.sh
export 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 AWS Distro untuk OpenTelemetry .NET auto-instrumentasi di repositori resmi. NuGet Pastikan untuk memeriksa file README untuk instruksi.
- Node.js
-
Untuk instrumen Node.js aplikasi Anda sebagai bagian dari mengaktifkan Sinyal Aplikasi di instans Amazon EC2
Unduh versi terbaru AWS Distro untuk agen OpenTelemetry JavaScript instrumentasi otomatis untuk. Node.js Instal dengan menjalankan perintah berikut.
npm install @aws/aws-distro-opentelemetry-node-autoinstrumentation
Anda dapat melihat informasi tentang semua versi yang dirilis di AWS Distro untuk OpenTelemetry JavaScript instrumentasi.
Untuk mengoptimalkan manfaat Sinyal Aplikasi, gunakan variabel lingkungan untuk memberikan informasi tambahan sebelum memulai aplikasi Anda. Informasi ini akan ditampilkan di dasbor Sinyal Aplikasi.
Untuk variabel OTEL_RESOURCE_ATTRIBUTES, tentukan informasi berikut sebagai pasangan nilai kunci:
service.name menetapkan nama layanan. Ini akan diputar sebagai nama layanan di dasbor Sinyal Aplikasi Anda. Jika Anda tidak memberikan nilai untuk kunci ini, maka UnknownService digunakan sebagai nilai default.
deployment.environment menetapkan lingkungan tempat aplikasi berjalan. Ini akan diputar sebagai Ditempati Di lingkungan aplikasi Anda di dasbor Sinyal Aplikasi. Jika Anda tidak menentukan ini, salah satu default berikut digunakan:
Jika ini adalah instance yang merupakan bagian dari grup Penskalaan Otomatis, itu disetel keec2:name-of-Auto-Scaling-group.
Jika ini adalah instans Amazon EC2 yang bukan bagian dari grup Penskalaan Otomatis, instans tersebut disetel ke ec2:default
Jika ini adalah host lokal, itu disetel ke generic:default
Kunci atribut ini hanya digunakan oleh Sinyal Aplikasi, dan diubah menjadi anotasi X-Ray jejak dan dimensi CloudWatch metrik.
Untuk OTEL_EXPORTER_OTLP_PROTOCOL variabel, tentukan http/protobuf untuk mengekspor data telemetri melalui HTTP ke titik akhir CloudWatch agen yang tercantum dalam langkah-langkah berikut.
Untuk variabel OTEL_EXPORTER_OTLP_TRACES_ENDPOINT, tentukan URL titik akhir dasar tempat jejak akan diekspor. CloudWatch Agen mengekspos 4316 sebagai port OTLP melalui HTTP. Di Amazon EC2, karena aplikasi berkomunikasi dengan CloudWatch agen lokal, Anda harus menetapkan nilai ini ke OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:4316/v1/traces
Untuk variabel OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT, tentukan URL titik akhir dasar tempat metrik akan diekspor. CloudWatch Agen mengekspos 4316 sebagai port OTLP melalui HTTP. Di Amazon EC2, karena aplikasi berkomunikasi dengan CloudWatch agen lokal, Anda harus menetapkan nilai ini ke OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT=http://localhost:4316/v1/metrics
Untuk variabel OTEL_METRICS_EXPORTER, kami sarankan Anda menetapkan nilainya menjadi none. Hal ini akan menonaktifkan pengekspor metrik lain sehingga hanya pengekspor Sinyal Aplikasi yang digunakan.
Setel OTEL_AWS_APPLICATION_SIGNALS_ENABLED variabel true agar wadah Anda mulai mengirim X-Ray jejak dan CloudWatch metrik ke Sinyal Aplikasi.
Mulai aplikasi Anda dengan variabel-variabel lingkungan yang dibahas pada langkah sebelumnya. Berikut ini adalah sebuah contoh skrip awal.
OTEL_METRICS_EXPORTER=none \
OTEL_LOGS_EXPORTER=none \
OTEL_AWS_APPLICATION_SIGNALS_ENABLED=true \
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf \
OTEL_TRACES_SAMPLER=xray \
OTEL_TRACES_SAMPLER_ARG="endpoint=http://localhost:2000" \
OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT=http://localhost:4316/v1/metrics \
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:4316/v1/traces \
OTEL_RESOURCE_ATTRIBUTES="service.name=$SVC_NAME" \
node --require '@aws/aws-distro-opentelemetry-node-autoinstrumentation/register' your-application.js
-
(Opsional) Untuk mengaktifkan korelasi logOTEL_RESOURCE_ATTRIBUTES, di, atur variabel lingkungan tambahan aws.log.group.names untuk grup log aplikasi Anda. Dengan demikian, jejak dan metrik dari aplikasi Anda dapat dikorelasikan dengan entri log yang relevan dari grup log ini. Untuk variabel ini, ganti $YOUR_APPLICATION_LOG_GROUP dengan nama grup log untuk aplikasi Anda. Jika Anda memiliki beberapa grup log, Anda dapat menggunakan ampersand (&) untuk memisahkannya seperti dalam contoh ini:. aws.log.group.names=log-group-1&log-group-2 Untuk mengaktifkan metrik untuk mencatat korelasi, menyetel variabel lingkungan saat ini sudah cukup. Untuk informasi selengkapnya, lihat Aktifkan metrik untuk mencatat korelasi. Untuk mengaktifkan korelasi pelacakan ke log, Anda juga perlu mengubah konfigurasi logging di aplikasi Anda. Untuk informasi selengkapnya, lihat Aktifkan korelasi pelacakan ke log.
Berikut ini adalah contoh skrip awal yang membantu mengaktifkan korelasi log.
export OTEL_METRICS_EXPORTER=none \
export OTEL_LOGS_EXPORTER=none \
export OTEL_AWS_APPLICATION_SIGNALS_ENABLED=true \
export OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf \
export OTEL_TRACES_SAMPLER=xray \
export OTEL_TRACES_SAMPLER_ARG=endpoint=http://localhost:2000 \
export OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT=http://localhost:4316/v1/metrics \
export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:4316/v1/traces \
export OTEL_RESOURCE_ATTRIBUTES="aws.log.group.names=$YOUR_APPLICATION_LOG_GROUP,service.name=$SVC_NAME" \
node --require '@aws/aws-distro-opentelemetry-node-autoinstrumentation/register' your-application.js
Menyiapkan Node.js aplikasi dengan format modul ESM
Kami menyediakan dukungan terbatas untuk Node.js aplikasi dengan format modul ESM. Lihat perinciannya di Keterbatasan yang diketahui tentang Node.js ESM.
Untuk mengaktifkan Sinyal Aplikasi untuk Node.js aplikasi dengan ESM, Anda perlu memodifikasi langkah-langkah dalam prosedur sebelumnya.
Pertama, instal @opentelemetry/instrumentation untuk Node.js aplikasi Anda:
npm install @opentelemetry/instrumentation@0.54.0
Kemudian, pada langkah 3 dan 4 dalam prosedur sebelumnya, ubah opsi node dari:
--require '@aws/aws-distro-opentelemetry-node-autoinstrumentation/register'
untuk yang berikut ini:
--import @aws/aws-distro-opentelemetry-node-autoinstrumentation/register --experimental-loader=@opentelemetry/instrumentation/hook.mjs
Aktifkan Sinyal Aplikasi di Amazon EC2 menggunakan Model Context Protocol (MCP)
Anda dapat menggunakan server Appl CloudWatch ication Signals Model Context Protocol (MCP) untuk mengaktifkan Sinyal Aplikasi di instans Amazon EC2 Anda melalui interaksi AI percakapan. Ini menyediakan antarmuka bahasa alami untuk mengatur pemantauan Sinyal Aplikasi.
Server MCP mengotomatiskan proses pengaktifan dengan memahami kebutuhan Anda dan menghasilkan konfigurasi yang sesuai. Alih-alih mengikuti langkah-langkah pengaturan secara manual, Anda cukup menjelaskan apa yang ingin Anda aktifkan.
Prasyarat
Sebelum menggunakan server MCP untuk mengaktifkan Sinyal Aplikasi, pastikan Anda memiliki:
Lingkungan Pengembangan yang mendukung MCP (seperti Kiro, Claude Desktop, VSCode dengan ekstensi MCP, atau alat lainnya) MCP-compatible
Server MCP Sinyal CloudWatch Aplikasi dikonfigurasi di IDE Anda. Untuk petunjuk penyiapan terperinci, lihat dokumentasi CloudWatch Application Signals MCP Server.
Menggunakan server MCP
Setelah Anda mengonfigurasi server MCP Sinyal CloudWatch Aplikasi di IDE Anda, Anda dapat meminta panduan pengaktifan menggunakan petunjuk bahasa alami. Meskipun asisten pengkodean dapat menyimpulkan konteks dari struktur proyek Anda, memberikan detail spesifik dalam petunjuk Anda membantu memastikan panduan yang lebih akurat dan relevan. Sertakan informasi seperti bahasa aplikasi, detail instans, dan jalur absolut ke infrastruktur dan kode aplikasi Anda.
Petunjuk praktik terbaik (spesifik dan lengkap):
"Enable Application Signals for my Python service running on EC2.
My app code is in /home/ec2-user/flask-api and IaC is in /home/ec2-user/flask-api/terraform"
"I want to add observability to my Java application on EC2.
The application code is at /opt/apps/checkout-service and
the infrastructure code is at /opt/apps/checkout-service/cloudformation"
"Help me instrument my Node.js application on EC2 with Application Signals.
Application directory: /home/ubuntu/payment-api
Terraform code: /home/ubuntu/payment-api/terraform"
Prompt yang kurang efektif:
"Enable monitoring for my app"
→ Missing: platform, language, paths
"Enable Application Signals. My code is in ./src and IaC is in ./infrastructure"
→ Problem: Relative paths instead of absolute paths
"Enable Application Signals for my EC2 service at /home/user/myapp"
→ Missing: programming language
Template cepat:
"Enable Application Signals for my [LANGUAGE] service on EC2.
App code: [ABSOLUTE_PATH_TO_APP]
IaC code: [ABSOLUTE_PATH_TO_IAC]"
Manfaat menggunakan server MCP
Menggunakan server Appl CloudWatch ication Signals MCP menawarkan beberapa keuntungan:
Antarmuka bahasa alami: J elaskan apa yang ingin Anda aktifkan tanpa menghafal perintah atau sintaks konfigurasi
Context-aware panduan: Server MCP memahami lingkungan spesifik Anda dan memberikan rekomendasi yang disesuaikan
Mengurangi kesalahan: Pembuatan konfigurasi otomatis meminimalkan kesalahan pengetikan manual
Pengaturan lebih cepat: Mulai dari niat ke implementasi dengan lebih cepat
Alat pembelajaran: Lihat konfigurasi yang dihasilkan dan pahami cara kerja Sinyal Aplikasi
Sumber daya tambahan
Untuk informasi selengkapnya tentang mengkonfigurasi dan menggunakan server MCP Sinyal CloudWatch Aplikasi, lihat dokumentasi server MCP.
(Opsional) Pantau kesehatan aplikasi Anda
Setelah mengaktifkan aplikasi di Amazon EC2, Anda dapat memantau kesehatan aplikasi Anda. Lihat informasi yang lebih lengkap di Memantau kondisi kesehatan operasional aplikasi Anda dengan Sinyal Aplikasi.