Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Terapkan menggunakan strategi daemon
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: Membuat peran IAM
Anda harus membuat peran IAM. Jika Anda sudah membuat peran ini, Anda mungkin perlu menambahkan izin untuk itu.
-
Peran tugas ECS— Kontainer menggunakan peran ini untuk beroperasi. Izin harus apa pun yang dibutuhkan aplikasi Anda, plus CloudWatchAgentServerPolicy.
Untuk informasi selengkapnya tentang membuat peran IAM, silakan lihat Membuat Peran IAM.
Langkah 3: Siapkan konfigurasi CloudWatch agen
Pertama, siapkan konfigurasi agen dengan Sinyal Aplikasi yang diaktifkan. Untuk melakukan hal ini, buat file lokal bernama /tmp/ecs-cwagent.json
.
{ "traces": { "traces_collected": { "application_signals": {} } }, "logs": { "metrics_collected": { "application_signals": {} } } }
Kemudian unggah konfigurasi ini ke SSM Parameter Store. Untuk melakukan hal ini, masukkan perintah berikut. Dalam file, ganti $REGION
dengan nama Region Anda yang sebenarnya.
aws ssm put-parameter \ --name "ecs-cwagent" \ --type "String" \ --value "`cat /tmp/ecs-cwagent.json`" \ --region "
$REGION
"
Langkah 4: Menyebarkan layanan daemon CloudWatch agen
Buat definisi tugas berikut dan terapkan ke cluster aplikasi Anda. Ganti $REGION
dengan nama Region Anda yang sebenarnya. Ganti $TASK_ROLE_ARN
dan $EXECUTION_ROLE_ARN
dengan peran IAM yang Anda siapkan. Langkah 2: Membuat peran IAM Ganti $IMAGE
dengan jalur ke gambar CloudWatch kontainer terbaru di Amazon Elastic Container Registry. Untuk informasi selengkapnya, lihat cloudwatch-agent
catatan
Layanan daemon mengekspos dua port pada host, dengan 4316 digunakan sebagai titik akhir untuk menerima metrik dan jejak dan 2000 sebagai titik akhir trace sampler. CloudWatch Pengaturan ini memungkinkan agen untuk mengumpulkan dan mengirimkan data telemetri dari semua tugas aplikasi yang berjalan di host. Pastikan port ini tidak digunakan oleh layanan lain di host untuk menghindari konflik.
{ "family": "ecs-cwagent-daemon", "taskRoleArn": "
$TASK_ROLE_ARN
", "executionRoleArn": "$EXECUTION_ROLE_ARN
", "networkMode": "bridge", "containerDefinitions": [ { "name": "ecs-cwagent", "image": "$IMAGE", "essential": true, "portMappings": [ { "containerPort": 4316, "hostPort": 4316 }, { "containerPort": 2000, "hostPort": 2000 } ], "secrets": [ { "name": "CW_CONFIG_CONTENT", "valueFrom": "ecs-cwagent" } ], "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-create-group": "true", "awslogs-group": "/ecs/ecs-cwagent", "awslogs-region": "$REGION
", "awslogs-stream-prefix": "ecs" } } } ], "requiresCompatibilities": [ "EC2" ], "cpu": "128", "memory": "64" }
Langkah 5: Instrumen aplikasi Anda
Langkah selanjutnya adalah instrumen aplikasi Anda untuk Sinyal Aplikasi.
- Java
-
Untuk instrumen aplikasi Anda di Amazon ECS dengan agen CloudWatch
Pertama, tentukan bind mount. Volume akan digunakan untuk berbagi file di seluruh kontainer pada langkah-langkah selanjutnya. Anda akan menggunakan bind mount ini nanti dalam prosedur ini.
"volumes": [ { "name": "opentelemetry-auto-instrumentation" } ]
Tambahkan sebuah kontainer baru yang bernama
init
ke penetapan tugas aplikasi Anda. Ganti$IMAGE
dengan gambar terbaru dari repositori gambar AWS Distro untuk OpenTelemetry Amazon ECR. { "name": "init", "image": "
$IMAGE
", "essential": false, "command": [ "cp", "/javaagent.jar", "/otel-auto-instrumentation/javaagent.jar" ], "mountPoints": [ { "sourceVolume": "opentelemetry-auto-instrumentation", "containerPath": "/otel-auto-instrumentation", "readOnly": false } ] }Tambahkan dependensi pada
init
wadah untuk memastikan bahwa wadah ini selesai sebelum wadah aplikasi Anda dimulai."dependsOn": [ { "containerName": "init", "condition": "SUCCESS" } ]
Tambahkan variabel lingkungan berikut ke kontainer aplikasi Anda. Anda harus menggunakan versi 1.32.2 atau yang lebih baru dari AWS Distro untuk agen OpenTelemetry instrumentasi otomatis
untuk Java. Variabel Lingkungan Pengaturan untuk mengaktifkan Sinyal Aplikasi OTEL_RESOURCE_ATTRIBUTES
Tentukan informasi berikut sebagai pasangan kunci-nilai:
service.name
menetapkan nama layanan. Ini akan diputar sebagai nama layanan di dasbor Sinyal Aplikasi Anda. Jika Anda tidak memberikan nilai untuk kunci ini, makaUnknownService
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, default darigeneric:default
digunakan.
Kunci atribut ini hanya digunakan oleh Sinyal Aplikasi, dan diubah menjadi anotasi jejak X-Ray dan dimensi CloudWatch metrik.
(Opsional) Untuk mengaktifkan korelasi log untuk Sinyal Aplikasi, tetapkan variabel
aws.log.group.names
lingkungan tambahan menjadi nama grup log untuk log aplikasi Anda. Dengan demikian, jejak dan metrik dari aplikasi Anda dapat dikorelasikan dengan entri log yang relevan dari grup log. 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, pengaturan variabel lingkungan saat ini sudah cukup. Untuk informasi selengkapnya, lihat Aktifkan metrik untuk mencatat korelasi. Untuk mengaktifkan korelasi trace to log, Anda juga perlu mengubah konfigurasi logging di aplikasi Anda. Untuk informasi selengkapnya, lihat Aktifkan jejak untuk mencatat korelasi.OTEL_AWS_APPLICATION_SIGNALS_ENABLED
Atur
true
agar wadah Anda mulai mengirim jejak dan CloudWatch metrik X-Ray ke Sinyal Aplikasi.OTEL_METRICS_EXPORTER
Atur
none
untuk menonaktifkan pengekspor metrik lainnya.OTEL_LOGS_EXPORTER
Setel
none
untuk menonaktifkan eksportir log lainnya.OTEL_EXPORTER_OTLP_PROTOCOL
Setel
http/protobuf
untuk mengirim metrik dan jejak ke Sinyal Aplikasi menggunakan HTTP.OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT
Mengirim metrik ke wadah CloudWatch daemon.
Untuk aplikasi yang berjalan dalam
host
mode, atur ini kehttp://localhost:4316/v1/metrics
.Untuk aplikasi yang berjalan dalam
bridge
mode atauawsvpc
mode, atur ini ke http: //:4316/v1/metricsCW_CONTAINER_IP
, di mana alamat IP pribadiCW_CONTAINER_IP
dari instance container. EC2 Anda dapat mengambil alamat ini dari Layanan Metadata Instans (IMDS).
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
Mengirim jejak ke wadah CloudWatch daemon.
Untuk aplikasi yang berjalan dalam
host
mode, atur ini kehttp://localhost:4316/v1/traces
.Untuk aplikasi yang berjalan dalam
bridge
mode atauawsvpc
mode, atur ini ke http: //:4316/v1/tracesCW_CONTAINER_IP
, di mana alamat IP pribadiCW_CONTAINER_IP
dari instance container. EC2 Anda dapat mengambil alamat ini dari Layanan Metadata Instans (IMDS).
OTEL_TRACES_SAMPLER
Setel ini
xray
untuk mengatur X-Ray sebagai sampler jejak.OTEL_PROPAGATORS
Ditetapkan
xray
sebagai salah satu propagator.JAVA_TOOL_OPTIONS
Setel ke
" -javaagent:$
GantiAWS_ADOT_JAVA_INSTRUMENTATION_PATH
"AWS_ADOT_JAVA_INSTRUMENTATION_PATH
dengan jalur tempat agen instrumentasi otomatis AWS Distro untuk OpenTelemetry Java disimpan. Sebagai contoh,/otel-auto-instrumentation/javaagent.jar
.Pasang volume
opentelemetry-auto-instrumentation
yang sudah Anda tentukan pada langkah 1 prosedur ini. Jika Anda tidak perlu mengaktifkan korelasi log dengan metrik dan jejak, gunakan contoh berikut untuk aplikasi Java. Jika Anda ingin mengaktifkan korelasi log, lihat langkah selanjutnya.{ "name": "
my-app
", ... "environment": [ { "name": "OTEL_RESOURCE_ATTRIBUTES", "value": "service.name=$SVC_NAME
" }, { "name": "OTEL_LOGS_EXPORTER", "value": "none" }, { "name": "OTEL_METRICS_EXPORTER", "value": "none" }, { "name": "OTEL_EXPORTER_OTLP_PROTOCOL", "value": "http/protobuf" }, { "name": "OTEL_AWS_APPLICATION_SIGNALS_ENABLED", "value": "true" }, { "name": "JAVA_TOOL_OPTIONS", "value": " -javaagent:/otel-auto-instrumentation/javaagent.jar" }, { "name": "OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT", "value": "http://CW_CONTAINER_IP
:4316/v1/metrics" }, { "name": "OTEL_EXPORTER_OTLP_TRACES_ENDPOINT", "value": "http://CW_CONTAINER_IP
:4316/v1/traces" }, { "name": "OTEL_TRACES_SAMPLER", "value": "xray" }, { "name": "OTEL_PROPAGATORS", "value": "tracecontext,baggage,b3,xray" } ], "dependsOn": [ { "containerName": "init", "condition": "SUCCESS" } ], "mountPoints": [ { "sourceVolume": "opentelemetry-auto-instrumentation", "containerPath": "/otel-auto-instrumentation", "readOnly": false } ] }
- Python
-
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 hal ini, pastikan Anda menyetel variabelPYTHONPATH
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 dari PYTHONPATHtidak sesuai. -
Gunakan
--noreload
bendera untuk mencegah pemuatan ulang otomatis.Tetapkan variabel
DJANGO_SETTINGS_MODULE
lingkungan ke lokasisettings.py
berkas aplikasi Django Anda. Ini memastikan bahwa OpenTelemetry dapat mengakses dan mengintegrasikan dengan benar dengan pengaturan Django Anda.
Jika Anda menggunakan server WSGI untuk aplikasi Python Anda, selain langkah-langkah berikut di bagian ini, lihat informasi Tidak ada data Sinyal Aplikasi untuk aplikasi Python yang menggunakan server WSGI untuk membuat Sinyal Aplikasi berfungsi.
Untuk instrumen aplikasi Python Anda di Amazon ECS dengan agen CloudWatch
Pertama, tentukan bind mount. Volume akan digunakan untuk berbagi file di seluruh kontainer pada langkah-langkah selanjutnya. Anda akan menggunakan bind mount ini nanti dalam prosedur ini.
"volumes": [ { "name": "opentelemetry-auto-instrumentation-python" } ]
Tambahkan sebuah kontainer baru yang bernama
init
ke penetapan tugas aplikasi Anda. Ganti$IMAGE
dengan gambar terbaru dari repositori gambar AWS Distro untuk OpenTelemetry Amazon ECR. { "name": "init", "image": "$IMAGE", "essential": false, "command": [ "cp", "-a", "/autoinstrumentation/.", "/otel-auto-instrumentation-python" ], "mountPoints": [ { "sourceVolume": "opentelemetry-auto-instrumentation-python", "containerPath": "/otel-auto-instrumentation-python", "readOnly": false } ] }
Tambahkan dependensi pada
init
wadah untuk memastikan bahwa wadah ini selesai sebelum wadah aplikasi Anda dimulai."dependsOn": [ { "containerName": "init", "condition": "SUCCESS" } ]
Tambahkan variabel lingkungan berikut ke kontainer aplikasi Anda.
Variabel Lingkungan Pengaturan untuk mengaktifkan Sinyal Aplikasi OTEL_RESOURCE_ATTRIBUTES
Tentukan informasi berikut sebagai pasangan kunci-nilai:
service.name
menetapkan nama layanan. Ini akan diputar sebagai nama layanan di dasbor Sinyal Aplikasi Anda. Jika Anda tidak memberikan nilai untuk kunci ini, makaUnknownService
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, default darigeneric:default
digunakan.
Kunci atribut ini hanya digunakan oleh Sinyal Aplikasi, dan diubah menjadi anotasi jejak X-Ray dan dimensi CloudWatch metrik.
(Opsional) Untuk mengaktifkan korelasi log untuk Sinyal Aplikasi, tetapkan variabel
aws.log.group.names
lingkungan tambahan menjadi nama grup log untuk log aplikasi Anda. Dengan demikian, jejak dan metrik dari aplikasi Anda dapat dikorelasikan dengan entri log yang relevan dari grup log. 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, pengaturan variabel lingkungan saat ini sudah cukup. Untuk informasi selengkapnya, lihat Aktifkan metrik untuk mencatat korelasi. Untuk mengaktifkan korelasi trace to log, Anda juga perlu mengubah konfigurasi logging di aplikasi Anda. Untuk informasi selengkapnya, lihat Aktifkan jejak untuk mencatat korelasi.OTEL_AWS_APPLICATION_SIGNALS_ENABLED
Atur
true
agar wadah Anda mulai mengirim jejak dan CloudWatch metrik X-Ray ke Sinyal Aplikasi.OTEL_METRICS_EXPORTER
Atur
none
untuk menonaktifkan pengekspor metrik lainnya.OTEL_EXPORTER_OTLP_PROTOCOL
Setel
http/protobuf
untuk mengirim metrik dan jejak untuk CloudWatch menggunakan HTTP.OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT
Mengirim metrik ke wadah CloudWatch daemon.
Untuk aplikasi yang berjalan dalam
host
mode, atur ini kehttp://localhost:4316/v1/metrics
.Untuk aplikasi yang berjalan dalam
bridge
mode atauawsvpc
mode, atur ini ke http: //:4316/v1/metricsCW_CONTAINER_IP
, di mana alamat IP pribadiCW_CONTAINER_IP
dari instance container. EC2 Anda dapat mengambil alamat ini dari Layanan Metadata Instans (IMDS).
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
Mengirim jejak ke wadah CloudWatch daemon.
Untuk aplikasi yang berjalan dalam
host
mode, atur ini kehttp://localhost:4316/v1/traces
.Untuk aplikasi yang berjalan dalam
bridge
mode atauawsvpc
mode, atur ini ke http: //:4316/v1/tracesCW_CONTAINER_IP
, di mana alamat IP pribadiCW_CONTAINER_IP
dari instance container. EC2 Anda dapat mengambil alamat ini dari Layanan Metadata Instans (IMDS).
OTEL_TRACES_SAMPLER
Setel ini
xray
untuk mengatur X-Ray sebagai sampler jejak.OTEL_TRACES_SAMPLER_ARG
Mengatur titik akhir jejak sampler.
Untuk aplikasi yang berjalan dalam
host
mode, atur ini kehttp://localhost:2000
.Untuk aplikasi yang berjalan dalam
bridge
awsvpc
mode atau mode, atur ini kehttp://
, di manaCW_CONTAINER_IP
:2000CW_CONTAINER_IP
alamat IP pribadi dari instance EC2 container. Anda dapat mengambil alamat ini dari Layanan Metadata Instans (IMDS).
OTEL_PROPAGATORS
Tambahkan
xray
sebagai salah satu propagator.OTEL_PYTHON_DISTRO
Atur
aws_distro
untuk menggunakan instrumentasi Python ADOT.OTEL_PYTHON_CONFIGURATOR
Atur
aws_configuration
untuk menggunakan konfigurasi ADOT Python.PYTHONPATH
Ganti
$APP_PATH
dengan lokasi direktori kerja aplikasi di dalam wadah. Hal ini diperlukan untuk interpreter Python untuk menemukan modul aplikasi Anda.DJANGO_SETTINGS_MODULE
Diperlukan hanya untuk aplikasi Django. Mengaturnya ke lokasi
settings.py
berkas aplikasi Django anda. Ganti$PATH_TO_SETTINGS
.Pasang volume
opentelemetry-auto-instrumentation-python
yang sudah Anda tentukan pada langkah 1 prosedur ini. Jika Anda tidak perlu mengaktifkan korelasi log dengan metrik dan jejak, gunakan contoh berikut untuk aplikasi Python. Jika Anda ingin mengaktifkan korelasi log, lihat langkah selanjutnya.{ "name": "
my-app
", ... "environment": [ { "name": "PYTHONPATH", "value": "/otel-auto-instrumentation-python/opentelemetry/instrumentation/auto_instrumentation:$APP_PATH:/otel-auto-instrumentation-python" }, { "name": "OTEL_EXPORTER_OTLP_PROTOCOL", "value": "http/protobuf" }, { "name": "OTEL_TRACES_SAMPLER", "value": "xray" }, { "name": "OTEL_TRACES_SAMPLER_ARG", "value": "endpoint=http://CW_CONTAINER_IP
:2000" }, { "name": "OTEL_LOGS_EXPORTER", "value": "none" }, { "name": "OTEL_PYTHON_DISTRO", "value": "aws_distro" }, { "name": "OTEL_PYTHON_CONFIGURATOR", "value": "aws_configurator" }, { "name": "OTEL_EXPORTER_OTLP_TRACES_ENDPOINT", "value": "http://CW_CONTAINER_IP
:4316/v1/traces" }, { "name": "OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT", "value": "http://CW_CONTAINER_IP
:4316/v1/metrics" }, { "name": "OTEL_METRICS_EXPORTER", "value": "none" }, { "name": "OTEL_AWS_APPLICATION_SIGNALS_ENABLED", "value": "true" }, { "name": "OTEL_RESOURCE_ATTRIBUTES", "value": "service.name=$SVC_NAME
" }, { "name": "DJANGO_SETTINGS_MODULE", "value": "$PATH_TO_SETTINGS
.settings" } ], "dependsOn": [ { "containerName": "init", "condition": "SUCCESS" } ], "mountPoints": [ { "sourceVolume": "opentelemetry-auto-instrumentation-python", "containerPath": "/otel-auto-instrumentation-python", "readOnly": false } ] }(Opsional) Untuk mengaktifkan korelasi log, lakukan hal berikut sebelum Anda memasang volume. Di
OTEL_RESOURCE_ATTRIBUTES
, tetapkan variabel lingkungan tambahanaws.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, pengaturan variabel lingkungan saat ini sudah cukup. Untuk informasi selengkapnya, lihat Aktifkan metrik untuk mencatat korelasi. Untuk mengaktifkan korelasi trace to log, Anda juga perlu mengubah konfigurasi logging di aplikasi Anda. Untuk informasi selengkapnya, lihat Aktifkan jejak untuk mencatat korelasi.Berikut adalah contohnya. Untuk mengaktifkan korelasi log, gunakan contoh ini saat Anda memasang volume
opentelemetry-auto-instrumentation-python
yang Anda tentukan di langkah 1 prosedur ini.{ "name": "
my-app
", ... "environment": [ { "name": "PYTHONPATH", "value": "/otel-auto-instrumentation-python/opentelemetry/instrumentation/auto_instrumentation:$APP_PATH:/otel-auto-instrumentation-python" }, { "name": "OTEL_EXPORTER_OTLP_PROTOCOL", "value": "http/protobuf" }, { "name": "OTEL_TRACES_SAMPLER", "value": "xray" }, { "name": "OTEL_TRACES_SAMPLER_ARG", "value": "endpoint=http://CW_CONTAINER_IP
:2000" }, { "name": "OTEL_LOGS_EXPORTER", "value": "none" }, { "name": "OTEL_PYTHON_DISTRO", "value": "aws_distro" }, { "name": "OTEL_PYTHON_CONFIGURATOR", "value": "aws_configurator" }, { "name": "OTEL_EXPORTER_OTLP_TRACES_ENDPOINT", "value": "http://CW_CONTAINER_IP
:4316/v1/traces" }, { "name": "OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT", "value": "http://CW_CONTAINER_IP
:4316/v1/metrics" }, { "name": "OTEL_METRICS_EXPORTER", "value": "none" }, { "name": "OTEL_AWS_APPLICATION_SIGNALS_ENABLED", "value": "true" }, { "name": "OTEL_RESOURCE_ATTRIBUTES", "value": "aws.log.group.names=$YOUR_APPLICATION_LOG_GROUP
,service.name=$SVC_NAME
" }, { "name": "DJANGO_SETTINGS_MODULE", "value": "$PATH_TO_SETTINGS
.settings" } ], "dependsOn": [ { "containerName": "init", "condition": "SUCCESS" } ], "mountPoints": [ { "sourceVolume": "opentelemetry-auto-instrumentation-python", "containerPath": "/otel-auto-instrumentation-python", "readOnly": false } ] }
- .NET
-
Untuk instrumen aplikasi Anda di Amazon ECS dengan agen CloudWatch
Pertama, tentukan bind mount. Volume akan digunakan untuk berbagi file di seluruh kontainer pada langkah-langkah selanjutnya. Anda akan menggunakan bind mount ini nanti dalam prosedur ini.
"volumes": [ { "name": "opentelemetry-auto-instrumentation" } ]
Tambahkan sebuah kontainer baru yang bernama
init
ke penetapan tugas aplikasi Anda. Ganti$IMAGE
dengan gambar terbaru dari repositori gambar AWS Distro untuk OpenTelemetry Amazon ECR. Untuk contoh wadah Linux, gunakan yang berikut ini.
{ "name": "init", "image": "
$IMAGE
", "essential": false, "command": [ "cp", "-a", "autoinstrumentation/.", "/otel-auto-instrumentation" ], "mountPoints": [ { "sourceVolume": "opentelemetry-auto-instrumentation", "containerPath": "/otel-auto-instrumentation", "readOnly": false } ] }Untuk contoh wadah Windows Server, gunakan yang berikut ini.
{ "name": "init", "image": "
$IMAGE
", "essential": false, "command": [ "CMD", "/c", "xcopy", "/e", "C:\\autoinstrumentation\\*", "C:\\otel-auto-instrumentation", "&&", "icacls", "C:\\otel-auto-instrumentation", "/grant", "*S-1-1-0:R", "/T" ], "mountPoints": [ { "sourceVolume": "opentelemetry-auto-instrumentation", "containerPath": "C:\\otel-auto-instrumentation", "readOnly": false } ] }Tambahkan dependensi pada
init
wadah untuk memastikan bahwa kontainer selesai sebelum wadah aplikasi Anda dimulai."dependsOn": [ { "containerName": "init", "condition": "SUCCESS" } ]
Tambahkan variabel lingkungan berikut ke kontainer aplikasi Anda. Anda harus menggunakan versi 1.1.0 atau yang lebih baru dari AWS Distro untuk agen OpenTelemetry instrumentasi otomatis
untuk.NET. Variabel Lingkungan Pengaturan untuk mengaktifkan Sinyal Aplikasi OTEL_RESOURCE_ATTRIBUTES
Tentukan informasi berikut sebagai pasangan kunci-nilai:
service.name
menetapkan nama layanan. Ini akan diputar sebagai nama layanan di dasbor Sinyal Aplikasi Anda. Jika Anda tidak memberikan nilai untuk kunci ini, makaUnknownService
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, default darigeneric:default
digunakan.
Kunci atribut ini hanya digunakan oleh Sinyal Aplikasi, dan diubah menjadi anotasi jejak X-Ray dan dimensi CloudWatch metrik.
OTEL_AWS_APPLICATION_SIGNALS_ENABLED
Atur
true
agar wadah Anda mulai mengirim jejak dan CloudWatch metrik X-Ray ke Sinyal Aplikasi.OTEL_METRICS_EXPORTER
Atur
none
untuk menonaktifkan pengekspor metrik lainnya.OTEL_LOGS_EXPORTER
Setel
none
untuk menonaktifkan eksportir log lainnya.OTEL_EXPORTER_OTLP_PROTOCOL
Setel
http/protobuf
untuk mengirim metrik dan jejak ke Sinyal Aplikasi menggunakan HTTP.OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT
Mengirim metrik ke wadah CloudWatch daemon.
Untuk aplikasi yang berjalan dalam
host
mode, atur ini kehttp://localhost:4316/v1/metrics
.Untuk aplikasi yang berjalan dalam
bridge
mode atauawsvpc
mode, atur ini ke http: //:4316/v1/metricsCW_CONTAINER_IP
, di mana alamat IP pribadiCW_CONTAINER_IP
dari instance container. EC2 Anda dapat mengambil alamat ini dari Layanan Metadata Instans (IMDS).
OTEL_EXPORTER_OTLP_ENDPOINT
Mengirim jejak ke wadah CloudWatch daemon.
Untuk aplikasi yang berjalan dalam
host
mode, atur ini kehttp://localhost:4316
.Untuk aplikasi yang berjalan dalam
bridge
mode atauawsvpc
mode, atur ini ke http: //:4316CW_CONTAINER_IP
, di manaCW_CONTAINER_IP
alamat IP pribadi dari instance container. EC2 Anda dapat mengambil alamat ini dari Layanan Metadata Instans (IMDS).
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
Mengirim jejak ke wadah CloudWatch daemon.
Untuk aplikasi yang berjalan dalam
host
mode, atur ini kehttp://localhost:4316/v1/traces
.Untuk aplikasi yang berjalan dalam
bridge
mode atauawsvpc
mode, atur ini ke http: //:4316/v1/tracesCW_CONTAINER_IP
, di mana alamat IP pribadiCW_CONTAINER_IP
dari instance container. EC2 Anda dapat mengambil alamat ini dari Layanan Metadata Instans (IMDS).
OTEL_TRACES_SAMPLER_ARG
Mengatur titik akhir jejak sampler.
Untuk aplikasi yang berjalan dalam
host
mode, atur ini kehttp://localhost:2000
.Untuk aplikasi yang berjalan dalam
bridge
awsvpc
mode atau mode, atur ini kehttp://
, di manaCW_CONTAINER_IP
:2000CW_CONTAINER_IP
alamat IP pribadi dari instance EC2 container. Anda dapat mengambil alamat ini dari Layanan Metadata Instans (IMDS).
OTEL_DOTNET_AUTO_HOME
Atur ke lokasi instalasi instrumentasi otomatis ADOT.NET.
OTEL_DOTNET_AUTO_PLUGINS
Setel
AWS.Distro.OpenTelemetry.AutoInstrumentation.Plugin, AWS.Distro.OpenTelemetry.AutoInstrumentation
untuk mengaktifkan plugin Sinyal Aplikasi.CORECLR_ENABLE_PROFILING
Setel
1
untuk mengaktifkan profiler.CORECLR_PROFILER
Setel ke
{918728DD-259F-4A6A-AC2B-B85E1B658318}
sebagai CLSID dari profiler.CORECLR_PROFILER_PATH
Setel ini ke jalur profiler.
Di Linux, atur ke
${OTEL_DOTNET_AUTO_HOME}/linux-x64/OpenTelemetry.AutoInstrumentation.Native.so
Pada Windows Server, atur ke
${OTEL_DOTNET_AUTO_HOME}/win-x64/OpenTelemetry.AutoInstrumentation.Native.dll
DOTNET_ADDITIONAL_DEPS
Setel ini ke jalur folder
${OTEL_DOTNET_AUTO_HOME}/AdditionalDeps
.DOTNET_SHARED_STORE
Setel ini ke jalur folder
${OTEL_DOTNET_AUTO_HOME}/store
.DOTNET_STARTUP_HOOKS
Setel ini ke jalur perakitan terkelola
${OTEL_DOTNET_AUTO_HOME}/net/OpenTelemetry.AutoInstrumentation.StartupHook.dll
untuk dijalankan sebelum titik masuk aplikasi utama.Pasang volume
opentelemetry-auto-instrumentation
yang sudah Anda tentukan pada langkah 1 prosedur ini. Untuk Linux, gunakan yang berikut ini.{ "name": "
my-app
", ... "environment": [ { "name": "OTEL_RESOURCE_ATTRIBUTES", "value": "service.name=$SVC_NAME" }, { "name": "CORECLR_ENABLE_PROFILING", "value": "1" }, { "name": "CORECLR_PROFILER", "value": "{918728DD-259F-4A6A-AC2B-B85E1B658318}" }, { "name": "CORECLR_PROFILER_PATH", "value": "/otel-auto-instrumentation/linux-x64/OpenTelemetry.AutoInstrumentation.Native.so" }, { "name": "DOTNET_ADDITIONAL_DEPS", "value": "/otel-auto-instrumentation/AdditionalDeps" }, { "name": "DOTNET_SHARED_STORE", "value": "/otel-auto-instrumentation/store" }, { "name": "DOTNET_STARTUP_HOOKS", "value": "/otel-auto-instrumentation/net/OpenTelemetry.AutoInstrumentation.StartupHook.dll" }, { "name": "OTEL_DOTNET_AUTO_HOME", "value": "/otel-auto-instrumentation" }, { "name": "OTEL_DOTNET_AUTO_PLUGINS", "value": "AWS.Distro.OpenTelemetry.AutoInstrumentation.Plugin, AWS.Distro.OpenTelemetry.AutoInstrumentation" }, { "name": "OTEL_RESOURCE_ATTRIBUTES", "value": "aws.log.group.names=$YOUR_APPLICATION_LOG_GROUP
,service.name=dotnet-service-name" }, { "name": "OTEL_LOGS_EXPORTER", "value": "none" }, { "name": "OTEL_METRICS_EXPORTER", "value": "none" }, { "name": "OTEL_EXPORTER_OTLP_PROTOCOL", "value": "http/protobuf" }, { "name": "OTEL_AWS_APPLICATION_SIGNALS_ENABLED", "value": "true" }, { "name": "OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT", "value": "http://localhost:4316/v1/metrics" }, { "name": "OTEL_EXPORTER_OTLP_TRACES_ENDPOINT", "value": "http://CW_CONTAINER_IP
:4316/v1/traces" }, { "name": "OTEL_EXPORTER_OTLP_ENDPOINT", "value": "http://CW_CONTAINER_IP
:4316" }, { "name": "OTEL_TRACES_SAMPLER", "value": "xray" }, { "name": "OTEL_TRACES_SAMPLER_ARG", "value": "endpoint=http://CW_CONTAINER_IP
:2000" }, { "name": "OTEL_PROPAGATORS", "value": "tracecontext,baggage,b3,xray" } ], "dependsOn": [ { "containerName": "init", "condition": "SUCCESS" } ], "mountPoints": [ { "sourceVolume": "opentelemetry-auto-instrumentation", "containerPath": "/otel-auto-instrumentation", "readOnly": false } ], "dependsOn": [ { "containerName": "init", "condition": "SUCCESS" } ] }Untuk Windows Server, gunakan yang berikut ini.
{ "name": "
my-app
", ... "environment": [ { "name": "OTEL_RESOURCE_ATTRIBUTES", "value": "service.name=$SVC_NAME" }, { "name": "CORECLR_ENABLE_PROFILING", "value": "1" }, { "name": "CORECLR_PROFILER", "value": "{918728DD-259F-4A6A-AC2B-B85E1B658318}" }, { "name": "CORECLR_PROFILER_PATH", "value": "C:\\otel-auto-instrumentation\\win-x64\\OpenTelemetry.AutoInstrumentation.Native.dll" }, { "name": "DOTNET_ADDITIONAL_DEPS", "value": "C:\\otel-auto-instrumentation\\AdditionalDeps" }, { "name": "DOTNET_SHARED_STORE", "value": "C:\\otel-auto-instrumentation\\store" }, { "name": "DOTNET_STARTUP_HOOKS", "value": "C:\\otel-auto-instrumentation\\net\\OpenTelemetry.AutoInstrumentation.StartupHook.dll" }, { "name": "OTEL_DOTNET_AUTO_HOME", "value": "C:\\otel-auto-instrumentation" }, { "name": "OTEL_DOTNET_AUTO_PLUGINS", "value": "AWS.Distro.OpenTelemetry.AutoInstrumentation.Plugin, AWS.Distro.OpenTelemetry.AutoInstrumentation" }, { "name": "OTEL_RESOURCE_ATTRIBUTES", "value": "aws.log.group.names=$YOUR_APPLICATION_LOG_GROUP
,service.name=dotnet-service-name" }, { "name": "OTEL_LOGS_EXPORTER", "value": "none" }, { "name": "OTEL_METRICS_EXPORTER", "value": "none" }, { "name": "OTEL_EXPORTER_OTLP_PROTOCOL", "value": "http/protobuf" }, { "name": "OTEL_AWS_APPLICATION_SIGNALS_ENABLED", "value": "true" }, { "name": "OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT", "value": "http://CW_CONTAINER_IP
:4316/v1/metrics" }, { "name": "OTEL_EXPORTER_OTLP_TRACES_ENDPOINT", "value": "http://CW_CONTAINER_IP
:4316/v1/traces" }, { "name": "OTEL_EXPORTER_OTLP_ENDPOINT", "value": "http://CW_CONTAINER_IP
:4316" }, { "name": "OTEL_TRACES_SAMPLER", "value": "xray" }, { "name": "OTEL_TRACES_SAMPLER_ARG", "value": "endpoint=http://CW_CONTAINER_IP
:2000" }, { "name": "OTEL_PROPAGATORS", "value": "tracecontext,baggage,b3,xray" } ], "mountPoints": [ { "sourceVolume": "opentelemetry-auto-instrumentation", "containerPath": "C:\\otel-auto-instrumentation", "readOnly": false } ], "dependsOn": [ { "containerName": "init", "condition": "SUCCESS" } ] }
- Node.js
-
catatan
Jika Anda mengaktifkan Sinyal Aplikasi untuk aplikasi Node.js dengan ESM, lihat Setting up a Node.js application with the ESM module format sebelum Anda memulai langkah-langkah ini.
Untuk instrumen aplikasi Anda di Amazon ECS dengan agen CloudWatch
Pertama, tentukan bind mount. Volume akan digunakan untuk berbagi file di seluruh kontainer pada langkah-langkah selanjutnya. Anda akan menggunakan bind mount ini nanti dalam prosedur ini.
"volumes": [ { "name": "opentelemetry-auto-instrumentation-node" } ]
Tambahkan sebuah kontainer baru yang bernama
init
ke penetapan tugas aplikasi Anda. Ganti$IMAGE
dengan gambar terbaru dari repositori gambar AWS Distro untuk OpenTelemetry Amazon ECR. { "name": "init", "image": "
$IMAGE
", "essential": false, "command": [ "cp", "-a", "/autoinstrumentation/.", "/otel-auto-instrumentation-node" ], "mountPoints": [ { "sourceVolume": "opentelemetry-auto-instrumentation-node", "containerPath": "/otel-auto-instrumentation-node", "readOnly": false } ], }Tambahkan dependensi pada
init
wadah untuk memastikan bahwa wadah ini selesai sebelum wadah aplikasi Anda dimulai."dependsOn": [ { "containerName": "init", "condition": "SUCCESS" } ]
Tambahkan variabel lingkungan berikut ke kontainer aplikasi Anda.
Variabel Lingkungan Pengaturan untuk mengaktifkan Sinyal Aplikasi OTEL_RESOURCE_ATTRIBUTES
Tentukan informasi berikut sebagai pasangan kunci-nilai:
service.name
menetapkan nama layanan. Ini akan diputar sebagai nama layanan di dasbor Sinyal Aplikasi Anda. Jika Anda tidak memberikan nilai untuk kunci ini, makaUnknownService
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, default darigeneric:default
digunakan.
Kunci atribut ini hanya digunakan oleh Sinyal Aplikasi, dan diubah menjadi anotasi jejak X-Ray dan dimensi CloudWatch metrik.
(Opsional) Untuk mengaktifkan korelasi log untuk Sinyal Aplikasi, tetapkan variabel
aws.log.group.names
lingkungan tambahan menjadi nama grup log untuk log aplikasi Anda. Dengan demikian, jejak dan metrik dari aplikasi Anda dapat dikorelasikan dengan entri log yang relevan dari grup log. 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, pengaturan variabel lingkungan saat ini sudah cukup. Untuk informasi selengkapnya, lihat Aktifkan metrik untuk mencatat korelasi. Untuk mengaktifkan korelasi trace to log, Anda juga perlu mengubah konfigurasi logging di aplikasi Anda. Untuk informasi selengkapnya, lihat Aktifkan jejak untuk mencatat korelasi.OTEL_AWS_APPLICATION_SIGNALS_ENABLED
Atur
true
agar wadah Anda mulai mengirim jejak dan CloudWatch metrik X-Ray ke Sinyal Aplikasi.OTEL_METRICS_EXPORTER
Atur
none
untuk menonaktifkan pengekspor metrik lainnya.OTEL_LOGS_EXPORTER
Setel
none
untuk menonaktifkan eksportir log lainnya.OTEL_EXPORTER_OTLP_PROTOCOL
Setel
http/protobuf
untuk mengirim metrik dan jejak ke Sinyal Aplikasi menggunakan OTLP/HTTP dan protobuf.OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT
Mengirim metrik ke wadah CloudWatch daemon.
Untuk aplikasi yang berjalan dalam
host
mode, atur ini kehttp://localhost:4316/v1/metrics
.Untuk aplikasi yang berjalan dalam
bridge
mode atauawsvpc
mode, atur ini ke http: //:4316/v1/metricsCW_CONTAINER_IP
, di mana alamat IP pribadiCW_CONTAINER_IP
dari instance container. EC2 Anda dapat mengambil alamat ini dari Layanan Metadata Instans (IMDS).
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
Mengirim jejak ke wadah CloudWatch daemon.
Untuk aplikasi yang berjalan dalam
host
mode, atur ini kehttp://localhost:4316/v1/traces
.Untuk aplikasi yang berjalan dalam
bridge
mode atauawsvpc
mode, atur ini ke http: //:4316/v1/tracesCW_CONTAINER_IP
, di mana alamat IP pribadiCW_CONTAINER_IP
dari instance container. EC2 Anda dapat mengambil alamat ini dari Layanan Metadata Instans (IMDS).
OTEL_TRACES_SAMPLER
Setel ini
xray
untuk mengatur X-Ray sebagai sampler jejak.OTEL_TRACES_SAMPLER_ARG
Mengatur titik akhir jejak sampler.
Untuk aplikasi yang berjalan dalam
host
mode, atur ini kehttp://localhost:2000
.Untuk aplikasi yang berjalan dalam
bridge
awsvpc
mode atau mode, atur ini kehttp://
, di manaCW_CONTAINER_IP
:2000CW_CONTAINER_IP
alamat IP pribadi dari instance EC2 container. Anda dapat mengambil alamat ini dari Layanan Metadata Instans (IMDS).
OTEL_PROPAGATORS
Ditetapkan
xray
sebagai salah satu propagator.NODE_OPTIONS
Setel ke
--require
. GantiAWS_ADOT_NODE_INSTRUMENTATION_PATH
AWS_ADOT_NODE_INSTRUMENTATION_PATH
dengan jalur tempat AWS Distro untuk instrumentasi otomatis OpenTelemetry Node.js disimpan. Sebagai contoh,/otel-auto-instrumentation-node/autoinstrumentation.js
.Pasang volume
opentelemetry-auto-instrumentation-node
yang sudah Anda tentukan pada langkah 1 prosedur ini. Jika Anda tidak perlu mengaktifkan korelasi log dengan metrik dan jejak, gunakan contoh berikut untuk aplikasi Node.js. Jika Anda ingin mengaktifkan korelasi log, lihat langkah selanjutnya.Untuk Application Container Anda, tambahkan dependensi pada
init
container untuk memastikan bahwa container selesai sebelum container aplikasi Anda dimulai.{ "name": "
my-app
", ... "environment": [ { "name": "OTEL_RESOURCE_ATTRIBUTES", "value": "service.name=$SVC_NAME
" }, { "name": "OTEL_LOGS_EXPORTER", "value": "none" }, { "name": "OTEL_METRICS_EXPORTER", "value": "none" }, { "name": "OTEL_EXPORTER_OTLP_PROTOCOL", "value": "http/protobuf" }, { "name": "OTEL_AWS_APPLICATION_SIGNALS_ENABLED", "value": "true" }, { "name": "OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT", "value": "http://CW_CONTAINER_IP
:4316/v1/metrics" }, { "name": "OTEL_EXPORTER_OTLP_TRACES_ENDPOINT", "value": "http://CW_CONTAINER_IP
:4316/v1/traces" }, { "name": "OTEL_TRACES_SAMPLER", "value": "xray" }, { "name": "OTEL_TRACES_SAMPLER_ARG", "value": "endpoint=http://CW_CONTAINER_IP
:2000" }, { "name": "NODE_OPTIONS", "value": "--require /otel-auto-instrumentation-node/autoinstrumentation.js" } ], "mountPoints": [ { "sourceVolume": "opentelemetry-auto-instrumentation-node", "containerPath": "/otel-auto-instrumentation-node", "readOnly": false } ], "dependsOn": [ { "containerName": "init", "condition": "SUCCESS" } ] }(Opsional) Untuk mengaktifkan korelasi log, lakukan hal berikut sebelum Anda memasang volume. Di
OTEL_RESOURCE_ATTRIBUTES
, tetapkan variabel lingkungan tambahanaws.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, pengaturan variabel lingkungan saat ini sudah cukup. Untuk informasi selengkapnya, lihat Aktifkan metrik untuk mencatat korelasi. Untuk mengaktifkan korelasi trace to log, Anda juga perlu mengubah konfigurasi logging di aplikasi Anda. Untuk informasi selengkapnya, lihat Aktifkan jejak untuk mencatat korelasi.Berikut adalah contohnya. Gunakan contoh ini untuk mengaktifkan korelasi log saat Anda memasang volume
opentelemetry-auto-instrumentation
yang Anda tentukan di langkah 1 prosedur ini.{ "name": "
my-app
", ... "environment": [ { "name": "OTEL_RESOURCE_ATTRIBUTES", "value": "aws.log.group.names=$YOUR_APPLICATION_LOG_GROUP
,service.name=$SVC_NAME
" }, { "name": "OTEL_LOGS_EXPORTER", "value": "none" }, { "name": "OTEL_METRICS_EXPORTER", "value": "none" }, { "name": "OTEL_EXPORTER_OTLP_PROTOCOL", "value": "http/protobuf" }, { "name": "OTEL_AWS_APPLICATION_SIGNALS_ENABLED", "value": "true" }, { "name": "OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT", "value": "http://CW_CONTAINER_IP
:4316/v1/metrics" }, { "name": "OTEL_EXPORTER_OTLP_TRACES_ENDPOINT", "value": "http://CW_CONTAINER_IP
:4316/v1/traces" }, { "name": "OTEL_TRACES_SAMPLER", "value": "xray" }, { "name": "OTEL_TRACES_SAMPLER_ARG", "value": "endpoint=http://CW_CONTAINER_IP
:2000" }, { "name": "NODE_OPTIONS", "value": "--require /otel-auto-instrumentation-node/autoinstrumentation.js" } ], "mountPoints": [ { "sourceVolume": "opentelemetry-auto-instrumentation-node", "containerPath": "/otel-auto-instrumentation-node", "readOnly": false } ], "dependsOn": [ { "containerName": "init", "condition": "SUCCESS" } ] }
Menyiapkan aplikasi Node.js dengan format modul ESM
Kami menyediakan dukungan terbatas untuk aplikasi Node.js dengan format modul ESM. Lihat perinciannya di Keterbatasan yang diketahui tentang Node.js dengan ESM.
Untuk format modul ESM, menggunakan
init
wadah untuk menyuntikkan SDK instrumentasi Node.js tidak berlaku. Untuk mengaktifkan Sinyal Aplikasi untuk Node.js dengan ESM, lewati langkah 1 dan 2 dari prosedur sebelumnya, dan lakukan hal berikut sebagai gantinya.Untuk mengaktifkan Sinyal Aplikasi untuk aplikasi Node.js dengan ESM
Instal dependensi yang relevan ke aplikasi Node.js Anda untuk autoinstrumentasi:
npm install @aws/aws-distro-opentelemetry-node-autoinstrumentation npm install @opentelemetry/instrumentation@0.54.0
Pada langkah 4 dan 5 pada prosedur sebelumnya, lepaskan pemasangan volume
opentelemetry-auto-instrumentation-node
:"mountPoints": [ { "sourceVolume": "opentelemetry-auto-instrumentation-node", "containerPath": "/otel-auto-instrumentation-node", "readOnly": false } ]
Ganti opsi node dengan yang berikut ini.
{ "name": "NODE_OPTIONS", "value": "--import @aws/aws-distro-opentelemetry-node-autoinstrumentation/register --experimental-loader=@opentelemetry/instrumentation/hook.mjs" }
Langkah 6: Menyebarkan aplikasi Anda
Buat revisi baru penetapan tugas Anda dan terapkan ke klaster aplikasi Anda. Anda akan melihat dua kontainer dalam tugas yang baru dibuat:
init
— Wadah yang diperlukan untuk menginisialisasi Sinyal Aplikasi
— Ini adalah contoh wadah aplikasi dalam dokumentasi kami. Dalam beban kerja Anda yang sebenarnya, penampung khusus ini mungkin tidak ada atau mungkin diganti dengan wadah layanan Anda sendiri.my-app
(Opsional) Langkah 7: Pantau kesehatan aplikasi Anda
Setelah Anda mengaktifkan aplikasi Anda di Amazon ECS, Anda dapat memantau kesehatan aplikasi Anda. Untuk informasi selengkapnya, lihat Memantau kondisi kesehatan operasional aplikasi Anda dengan Sinyal Aplikasi.