Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Untuk aplikasi yang berjalan di Amazon EC2 atau jenis instans lainnya, Anda menginstal dan mengonfigurasi CloudWatch agen dan AWS Distro untuk OpenTelemetry 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.
Petunjuk di bagian ini adalah untuk aplikasi Java, Python, dan .NET. Langkah-langkah tersebut telah diuji pada EC2 instans Amazon, tetapi juga diharapkan dapat bekerja pada arsitektur lain yang mendukung AWS Distro. OpenTelemetry
Persyaratan
Untuk mendapatkan dukungan untuk Sinyal Aplikasi, Anda harus menggunakan versi terbaru dari CloudWatch agen dan AWS Distro untuk OpenTelemetry agen.
Anda harus AWS CLI menginstal pada instance. Kami merekomendasikan AWS CLI versi 2, tetapi versi 1 juga harus berfungsi. Untuk informasi selengkapnya tentang menginstal AWS CLI, lihat Menginstal atau memperbarui versi terbaru AWS CLI.
penting
Jika Anda sudah menggunakan aplikasi OpenTelemetry yang ingin Anda aktifkan untuk Sinyal Aplikasi, lihat OpenTelemetry kompatibilitas sebelum Anda mengaktifkan Sinyal Aplikasi.
Langkah 1: Mengaktifkan Sinyal Aplikasi di akun Anda
Jika Anda belum mengaktifkan Sinyal Aplikasi di akun ini, Anda harus memberikan izin yang diperlukan Sinyal Aplikasi untuk menemukan layanan Anda. Untuk melakukan hal itu, lakukan hal berikut. Anda perlu melakukan ini sekali untuk akun Anda.
Untuk mengaktifkan Sinyal Aplikasi untuk aplikasi-aplikasi Anda
Buka CloudWatch konsol di https://console.aws.amazon.com/cloudwatch/
. Pada panel navigasi, silakan pilih Layanan.
Pilih Mulai menemukan Layanan Anda.
Pilih kotak centang dan pilih Mulai menemukan Layanan Anda.
Saat Anda menyelesaikan langkah ini untuk pertama kalinya di akun Anda, Sinyal Aplikasi membuat peran AWSServiceRoleForCloudWatchApplicationSignalsterkait layanan. Peran ini akan memberi Sinyal Aplikasi izin-izin berikut:
-
xray:GetServiceGraph
-
logs:StartQuery
-
logs:GetQueryResults
-
cloudwatch:GetMetricData
-
cloudwatch:ListMetrics
-
tag:GetResources
Untuk informasi selengkapnya tentang peran ini, silakan lihat Izin peran terkait layanan untuk Sinyal Aplikasi CloudWatch .
-
Langkah 2: Unduh dan mulai CloudWatch agen
Untuk menginstal CloudWatch agen sebagai bagian dari mengaktifkan Sinyal Aplikasi di EC2 instans Amazon atau host lokal
Unduh versi terbaru CloudWatch agen ke instans. 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 Sinyal CloudWatch Aplikasi.
Untuk informasi tentang mengunduh CloudWatch agen, lihatUnduh paket CloudWatch agen.
Sebelum Anda memulai CloudWatch agen, konfigurasikan untuk mengaktifkan Sinyal Aplikasi. Contoh berikut adalah konfigurasi CloudWatch agen yang memungkinkan Sinyal Aplikasi untuk metrik dan jejak pada EC2 host.
Kami menyarankan Anda menempatkan file ini
/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json
di sistem Linux.{ "traces": { "traces_collected": { "application_signals": {} } }, "logs": { "metrics_collected": { "application_signals": {} } } }
Lampirkan kebijakan CloudWatchAgentServerPolicyIAM ke peran IAM instans Amazon EC2 Anda. Untuk izin untuk host lokal, lihat. Izin untuk server lokal
Masuk ke AWS Management Console dan buka konsol IAM di https://console.aws.amazon.com/iam/
. Pilih Peran dan temukan peran yang digunakan oleh EC2 instans Amazon Anda. Kemudian pilih nama dari peran itu.
Pada tab Izin, pilih Tambahkan izin, Lampirkan kebijakan.
Temukan 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 awalanfile:
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 menyiapkan 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.
Dalam detail Pengguna, untuk Nama pengguna, masukkan nama untuk pengguna IAM baru. Ini adalah nama masuk AWS yang akan digunakan untuk mengautentikasi host Anda. Lalu pilih Selanjutnya
Pada halaman Setel izin, di bawah opsi Izin, pilih Lampirkan kebijakan secara langsung.
Dari daftar Kebijakan izin, pilih CloudWatchAgentServerPolicykebijakan yang akan ditambahkan ke pengguna Anda. Lalu pilih Berikutnya.
Pada halaman Tinjau dan buat, pastikan Anda puas dengan nama pengguna dan CloudWatchAgentServerPolicykebijakan 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 di langkah sebelumnya.
Pada halaman pengguna, pilih tab Security credentials. Kemudian, di bagian Kunci 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 kredensyal Anda di host lokal Anda dengan memasukkan perintah berikut. Ganti
ACCESS_KEY_ID
danSECRET_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
Langkah 3: Menginstrumentasikan aplikasi Anda dan memulainya
Langkah selanjutnya adalah instrumen aplikasi Anda untuk Sinyal CloudWatch Aplikasi.
Untuk menginstrumentasikan aplikasi Java Anda sebagai bagian dari mengaktifkan Sinyal Aplikasi pada EC2 instans Amazon 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 aws-otel-java-instrumentationRilis . 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, makaUnknownService
digunakan sebagai nilai default.(Opsional)
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 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 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 iniOTEL_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 iniOTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT=http://localhost:4316/v1/metrics
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
"Sebagai contoh:
export AWS_ADOT_JAVA_INSTRUMENTATION_PATH=./aws-opentelemetry-agent.jar
Untuk variabel
OTEL_METRICS_EXPORTER
, kami sarankan Anda menetapkan nilainya menjadinone
. Hal ini akan menonaktifkan pengekspor metrik lain sehingga hanya pengekspor Sinyal Aplikasi yang digunakan.Atur
OTEL_AWS_APPLICATION_SIGNALS_ENABLED
ketrue
. 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.
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_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="service.name=
$YOUR_SVC_NAME
" \ java -jar $MY_JAVA_APP.jar(Opsional) Untuk mengaktifkan korelasi log, 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 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