Aktifkan Sinyal Aplikasi di Amazon EC2 - Amazon CloudWatch

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Aktifkan Sinyal Aplikasi di Amazon EC2

Untuk aplikasi yang berjalan di Amazon EC2 atau jenis instans lainnya, Anda menginstal dan mengonfigurasi CloudWatch agen dan AWS Distro untuk OpenTelemetry dirimu 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 Java, Python, dan. NETaplikasi. Langkah-langkah telah diuji pada EC2 instans Amazon, tetapi juga diharapkan untuk bekerja pada arsitektur lain yang mendukung AWS Distro untuk OpenTelemetry.

Persyaratan

  • Untuk mendapatkan dukungan untuk Sinyal Aplikasi, Anda harus menggunakan versi terbaru dari CloudWatch agen dan AWS Distro untuk OpenTelemetry agen.

  • Anda harus memiliki AWS CLI diinstal pada instance. Kami merekomendasikan AWS CLI versi 2, tetapi versi 1 juga harus berfungsi. Untuk informasi lebih lanjut 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 pertimbangan 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
  1. Buka CloudWatch konsol di https://console.aws.amazon.com/cloudwatch/.

  2. Pada panel navigasi, silakan pilih Layanan.

  3. Pilih Mulai menemukan Layanan Anda.

  4. Pilih kotak centang dan pilih Mulai menemukan Layanan Anda.

    Saat Anda menyelesaikan langkah ini untuk pertama kalinya di akun Anda, Application Signals 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
  1. 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.

  2. 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": {} } } }
  3. Lampirkan CloudWatchAgentServerPolicyIAMkebijakan ke IAM peran EC2 instans Amazon Anda. Untuk izin untuk host lokal, lihat. Izin untuk server lokal

    1. Masuk ke AWS Management Console dan buka IAM konsol di https://console.aws.amazon.com/iam/.

    2. Pilih Peran dan temukan peran yang digunakan oleh EC2 instans Amazon Anda. Kemudian pilih nama dari peran itu.

    3. Pada tab Izin, pilih Tambahkan izin, Lampirkan kebijakan.

    4. Temukan CloudWatchAgentServerPolicy. Gunakan kotak pencarian, jika diperlukan. Kemudian pilih kotak centang untuk kebijakan tersebut dan kemudian pilih Tambahkan izin.

  4. Mulai CloudWatch agen dengan memasukkan perintah berikut. Ganti agent-config-file-path dengan jalur 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 menyediakan AWS otorisasi ke perangkat Anda.

Untuk menyiapkan izin untuk host lokal
  1. Buat IAM pengguna yang akan digunakan untuk memberikan izin ke host lokal Anda:

    1. Buka IAM konsol di https://console.aws.amazon.com/iam/.

    2. Pilih Pengguna, Buat Pengguna.

    3. Dalam detail Pengguna, untuk Nama pengguna, masukkan nama untuk IAM pengguna baru. Ini adalah nama masuk untuk AWS yang akan digunakan untuk mengautentikasi host Anda. Lalu pilih Selanjutnya

    4. Pada halaman Setel izin, di bawah opsi Izin, pilih Lampirkan kebijakan secara langsung.

    5. Dari daftar Kebijakan izin, pilih CloudWatchAgentServerPolicykebijakan yang akan ditambahkan ke pengguna Anda. Lalu pilih Berikutnya.

    6. Pada halaman Tinjau dan buat, pastikan bahwa Anda puas dengan nama pengguna dan CloudWatchAgentServerPolicykebijakan tersebut ada di ringkasan Izin.

    7. Pilih Buat pengguna

  2. Buat dan ambil kembali AWS kunci akses dan kunci rahasia:

    1. Di panel navigasi di IAM konsol, pilih Pengguna lalu pilih nama pengguna pengguna yang Anda buat di langkah sebelumnya.

    2. Pada halaman pengguna, pilih tab Security credentials. Kemudian, di bagian Kunci akses, pilih Buat kunci akses.

    3. Untuk Buat tombol akses Langkah 1, pilih Antarmuka Baris Perintah (CLI).

    4. Untuk Buat kunci akses Langkah 2, secara opsional masukkan tag dan kemudian pilih Berikutnya.

    5. Untuk Buat kunci akses Langkah 3, pilih Unduh file.csv untuk menyimpan file.csv dengan kunci akses IAM pengguna dan kunci akses rahasia. Anda memerlukan informasi ini untuk langkah selanjutnya.

    6. Pilih Selesai.

  3. Konfigurasikan Anda AWS kredensi di host lokal Anda dengan memasukkan perintah berikut. Ganti ACCESS_KEY_ID and 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

Langkah 3: Menginstrumentasikan aplikasi Anda dan memulainya

Langkah selanjutnya adalah instrumen aplikasi Anda untuk Sinyal CloudWatch Aplikasi.

Java
Untuk menginstrumentasikan aplikasi Java Anda sebagai bagian dari mengaktifkan Sinyal Aplikasi pada EC2 instans Amazon atau host lokal
  1. Unduh versi terbaru dari AWS Distro untuk agen instrumentasi otomatis OpenTelemetry Java. Anda dapat mengunduh versi terbaru dengan menggunakan tautan ini. Anda dapat melihat informasi tentang semua versi yang dirilis di aws-otel-java-instrumentation Rilis.

  2. Untuk mengoptimalkan manfaat Sinyal Aplikasi, gunakan variabel lingkungan untuk memberikan informasi tambahan sebelum memulai aplikasi Anda. Informasi ini akan ditampilkan di dasbor Sinyal Aplikasi.

    1. 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.

      • (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 OTEL_EXPORTER_OTLP_TRACES_ENDPOINT variabel, tentukan titik akhir dasar URL tempat jejak akan diekspor. CloudWatch Agen mengekspos 4316 sebagai portnyaOTLP. Di AmazonEC2, karena aplikasi berkomunikasi dengan CloudWatch agen lokal, Anda harus menetapkan nilai ini OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:4316/v1/traces

      • Untuk OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT variabel, tentukan titik akhir dasar URL tempat metrik akan diekspor. CloudWatch Agen mengekspos 4316 sebagai portnyaOTLP. Di AmazonEC2, karena aplikasi berkomunikasi dengan CloudWatch agen lokal, Anda harus menetapkan nilai ini OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT=http://localhost:4316/v1/metrics

      • Untuk JAVA_TOOL_OPTIONS variabel, tentukan jalur di mana AWS Distro untuk agen instrumentasi otomatis 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 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.

  3. 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 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
  4. (Opsional) Untuk mengaktifkan korelasi log, diOTEL_RESOURCE_ATTRIBUTES, 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, 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
Python
catatan

Jika Anda menggunakan WSGI server 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 menginstrumentasikan aplikasi Python Anda sebagai bagian dari mengaktifkan Sinyal Aplikasi pada instans Amazon EC2
  1. Unduh versi terbaru dari AWS Distro untuk agen OpenTelemetry instrumentasi otomatis 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.

  2. Untuk mengoptimalkan manfaat Sinyal Aplikasi, gunakan variabel lingkungan untuk memberikan informasi tambahan sebelum memulai aplikasi Anda. Informasi ini akan ditampilkan di dasbor Sinyal Aplikasi.

    1. 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 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

        Kunci atribut ini hanya digunakan oleh Sinyal Aplikasi, dan diubah menjadi anotasi jejak X-Ray dan dimensi CloudWatch metrik.

    2. Untuk OTEL_EXPORTER_OTLP_PROTOCOL variabel, tentukan http/protobuf untuk mengekspor data telemetri HTTP ke titik akhir CloudWatch agen yang tercantum dalam langkah-langkah berikut.

    3. Untuk OTEL_EXPORTER_OTLP_TRACES_ENDPOINT variabel, tentukan titik akhir dasar URL tempat jejak akan diekspor. CloudWatch Agen mengekspos 4316 saat OTLP pelabuhannya berakhir. HTTP Di AmazonEC2, karena aplikasi berkomunikasi dengan CloudWatch agen lokal, Anda harus menetapkan nilai ini OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:4316/v1/traces

    4. Untuk OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT variabel, tentukan titik akhir dasar URL tempat metrik akan diekspor. CloudWatch Agen mengekspos 4316 saat OTLP pelabuhannya berakhir. HTTP Di AmazonEC2, karena aplikasi berkomunikasi dengan CloudWatch agen lokal, Anda harus menetapkan nilai ini OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT=http://localhost:4316/v1/metrics

    5. 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.

    6. Atur OTEL_AWS_APPLICATION_SIGNALS_ENABLED variabel agar wadah Anda true mulai mengirim jejak dan CloudWatch metrik X-Ray ke Sinyal Aplikasi.

  3. 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 hal ini, pastikan Anda mengatur 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 dari PYTHONPATH tidak sesuai.

    • Untuk aplikasi Django, ada konfigurasi tambahan yang diperlukan, yang diuraikan dalam dokumentasi Python OpenTelemetry .

      • Gunakan --noreload bendera untuk mencegah pemuatan ulang otomatis.

      • Tetapkan variabel DJANGO_SETTINGS_MODULE lingkungan ke lokasi settings.py berkas aplikasi Django Anda. Ini memastikan bahwa OpenTelemetry dapat mengakses dan mengintegrasikan dengan benar dengan pengaturan Django Anda.

  4. (Opsional) Untuk mengaktifkan korelasi log, diOTEL_RESOURCE_ATTRIBUTES, 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, 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.

    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 (Preview)
Untuk instrumen Anda. NETaplikasi sebagai bagian dari mengaktifkan Sinyal Aplikasi di EC2 instans Amazon atau host lokal
  1. Unduh versi terbaru dari AWS Distro untuk OpenTelemetry . NETpaket instrumentasi otomatis. Anda dapat mengunduh versi terbaru di aws-otel-dotnet-instrumentation Releases.

  2. Untuk mengaktifkan Sinyal Aplikasi, setel variabel lingkungan berikut untuk memberikan informasi tambahan sebelum Anda memulai aplikasi. Variabel-variabel ini diperlukan untuk mengatur hook startup untuk. NETinstrumentasi, sebelum Anda memulai. NETaplikasi.

    • 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=aws-otel-integ-test 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=aws-otel-integ-test" $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"
  3. Mulai aplikasi Anda dengan variabel lingkungan yang tercantum pada langkah sebelumnya.

Node.js (Preview)
Untuk menginstruksikan aplikasi Node.js Anda sebagai bagian dari mengaktifkan Sinyal Aplikasi pada instans Amazon EC2
  1. Unduh versi terbaru dari 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.

  2. Untuk mengoptimalkan manfaat Sinyal Aplikasi, gunakan variabel lingkungan untuk memberikan informasi tambahan sebelum memulai aplikasi Anda. Informasi ini akan ditampilkan di dasbor Sinyal Aplikasi.

    1. 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 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

        Kunci atribut ini hanya digunakan oleh Sinyal Aplikasi, dan diubah menjadi anotasi jejak X-Ray dan dimensi CloudWatch metrik.

    2. Untuk OTEL_EXPORTER_OTLP_PROTOCOL variabel, tentukan http/protobuf untuk mengekspor data telemetri HTTP ke titik akhir CloudWatch agen yang tercantum dalam langkah-langkah berikut.

    3. Untuk OTEL_EXPORTER_OTLP_TRACES_ENDPOINT variabel, tentukan titik akhir dasar URL tempat jejak akan diekspor. CloudWatch Agen mengekspos 4316 saat OTLP pelabuhannya berakhir. HTTP Di AmazonEC2, karena aplikasi berkomunikasi dengan CloudWatch agen lokal, Anda harus menetapkan nilai ini OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:4316/v1/traces

    4. Untuk OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT variabel, tentukan titik akhir dasar URL tempat metrik akan diekspor. CloudWatch Agen mengekspos 4316 saat OTLP pelabuhannya berakhir. HTTP Di AmazonEC2, karena aplikasi berkomunikasi dengan CloudWatch agen lokal, Anda harus menetapkan nilai ini OTEL_AWS_APPLICATION_SIGNALS_EXPORTER_ENDPOINT=http://localhost:4316/v1/metrics

    5. 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.

    6. Atur OTEL_AWS_APPLICATION_SIGNALS_ENABLED variabel agar wadah Anda true mulai mengirim jejak dan CloudWatch metrik X-Ray ke Sinyal Aplikasi.

  3. 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.

    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
  4. (Opsional) Untuk mengaktifkan korelasi log, diOTEL_RESOURCE_ATTRIBUTES, 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, 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.

    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