

AWS App Runner tidak lagi terbuka untuk pelanggan baru. Pelanggan yang sudah ada dapat terus menggunakan layanan ini seperti biasa. Untuk informasi selengkapnya, lihat [perubahan AWS App Runner ketersediaan](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html).

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

# Menelusuri aplikasi App Runner Anda dengan X-Ray
<a name="monitor-xray"></a>

AWS X-Ray adalah layanan yang mengumpulkan data tentang permintaan yang disajikan aplikasi Anda, dan menyediakan alat yang dapat Anda gunakan untuk melihat, memfilter, dan mendapatkan wawasan tentang data tersebut guna mengidentifikasi masalah dan peluang pengoptimalan. Untuk setiap permintaan yang dilacak ke aplikasi Anda, Anda dapat melihat informasi terperinci tidak hanya tentang permintaan dan respons, tetapi juga tentang panggilan yang dilakukan aplikasi Anda ke AWS sumber daya hilir, layanan mikro, database, dan web HTTP. APIs

X-Ray menggunakan data jejak dari AWS sumber daya yang memberi daya pada aplikasi cloud Anda untuk menghasilkan grafik layanan terperinci. Grafik layanan menunjukkan klien, layanan front-end Anda, dan layanan backend yang dipanggil layanan front-end Anda untuk memproses permintaan dan menyimpan data. Gunakan grafik layanan untuk mengidentifikasi hambatan, lonjakan latensi, dan masalah lain yang perlu dipecahkan untuk meningkatkan performa aplikasi Anda.

Untuk informasi selengkapnya tentang X-Ray, lihat [Panduan Developer AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/).

![Contoh peta layanan X-Ray untuk layanan App Runner](http://docs.aws.amazon.com/id_id/apprunner/latest/dg/images/xray-example.png)


## Instrumen aplikasi Anda untuk melacak
<a name="monitor-xray.instrument"></a>

Instrumentasikan aplikasi layanan App Runner Anda untuk melacak menggunakan [OpenTelemetry](https://github.com/open-telemetry), spesifikasi telemetri portabel. Pada saat ini, App Runner mendukung [AWS Distro for OpenTelemetry](https://aws-otel.github.io/docs/introduction) (ADOT), sebuah OpenTelemetry implementasi yang mengumpulkan dan menyajikan informasi telemetri menggunakan layanan. AWS X-Ray mengimplementasikan komponen penelusuran.

**Bergantung pada SDK ADOT spesifik yang Anda gunakan dalam aplikasi Anda, ADOT mendukung hingga dua pendekatan instrumentasi: otomatis dan manual.** Untuk informasi selengkapnya tentang instrumentasi dengan SDK Anda, lihat [dokumentasi ADOT](https://aws-otel.github.io/docs/introduction), dan pilih SDK Anda di panel navigasi.

### Pengaturan runtime
<a name="monitor-xray.instrument.setup"></a>

 Berikut ini adalah petunjuk penyiapan runtime umum untuk menginstruksikan aplikasi layanan App Runner Anda untuk dilacak. 

**Untuk mengatur penelusuran untuk runtime Anda**

1.  Ikuti petunjuk yang diberikan untuk runtime Anda di [AWS Distro for OpenTelemetry](https://aws-otel.github.io/docs/introduction) (ADOT), untuk instrumen aplikasi Anda. 

1.  Instal `OTEL` dependensi yang diperlukan di `build` bagian `apprunner.yaml` file jika Anda menggunakan repositori kode sumber atau di Dockerfile jika Anda menggunakan gambar kontainer. 

1.  Siapkan variabel lingkungan Anda dalam `apprunner.yaml` file jika Anda menggunakan repositori kode sumber atau di Dockerfile jika Anda menggunakan gambar kontainer.   
**Example Variabel-variabel lingkungan**  
**catatan**  
Contoh berikut mencantumkan variabel lingkungan penting untuk ditambahkan ke `apprunner.yaml` file. Tambahkan variabel lingkungan ini ke Dockerfile Anda jika Anda menggunakan gambar kontainer. Namun, setiap runtime dapat memiliki keistimewaannya sendiri dan Anda mungkin perlu menambahkan lebih banyak variabel lingkungan ke daftar berikut. *Untuk informasi selengkapnya tentang instruksi dan contoh spesifik runtime Anda tentang cara mengatur aplikasi untuk runtime Anda, lihat [AWS Distro untuk OpenTelemetry](https://aws-otel.github.io/docs/introduction) dan buka runtime Anda, di bawah Memulai.* 

   ```
   env:
       - name: OTEL_PROPAGATORS
         value: xray
       - name: OTEL_METRICS_EXPORTER
         value: none
       - name: OTEL_EXPORTER_OTLP_ENDPOINT
         value: http://localhost:4317  
       - name: OTEL_RESOURCE_ATTRIBUTES
         value: 'service.name=example_app'
   ```
**catatan**  
 `OTEL_METRICS_EXPORTER=none`adalah variabel lingkungan penting untuk App Runner karena kolektor App Runner Otel tidak menerima pencatatan metrik. Itu hanya menerima penelusuran metrik. 

### Contoh pengaturan runtime
<a name="monitor-xray.instrument.example"></a>

[Contoh berikut menunjukkan auto-instrumentasi aplikasi Anda dengan ADOT Python SDK.](https://aws-otel.github.io/docs/getting-started/python-sdk) SDK secara otomatis menghasilkan bentang dengan data telemetri yang menjelaskan nilai yang digunakan oleh framework Python dalam aplikasi Anda tanpa menambahkan satu baris kode Python. Anda perlu menambahkan atau memodifikasi hanya beberapa baris dalam dua file sumber.

Pertama, tambahkan beberapa dependensi, seperti yang ditunjukkan pada contoh berikut.

**Example requirements.txt**  

```
opentelemetry-distro[otlp]>=0.24b0
opentelemetry-sdk-extension-aws~=2.0
opentelemetry-propagator-aws-xray~=1.0
```

Kemudian, instrumen aplikasi Anda. Cara melakukannya tergantung pada sumber layanan Anda—gambar sumber atau kode sumber.

------
#### [ Source image ]

Ketika sumber layanan Anda adalah gambar, Anda dapat langsung instrumen Dockerfile yang mengontrol pembuatan image kontainer Anda dan menjalankan aplikasi dalam gambar. Contoh berikut menunjukkan Dockerfile instrumentasi untuk aplikasi Python. Penambahan instrumentasi ditekankan dalam huruf tebal.

**Example Dockerfile**  

```
FROM public.ecr.aws/amazonlinux/amazonlinux:latest
RUN yum install python3.7 -y && curl -O https://bootstrap.pypa.io/get-pip.py && python3 get-pip.py && yum update -y
COPY . /app
WORKDIR /app
RUN pip3 install -r requirements.txt
RUN opentelemetry-bootstrap --action=install
ENV OTEL_PYTHON_DISABLED_INSTRUMENTATIONS=urllib3
ENV OTEL_METRICS_EXPORTER=none              
ENV OTEL_RESOURCE_ATTRIBUTES='service.name=example_app'
CMD OTEL_PROPAGATORS=xray OTEL_PYTHON_ID_GENERATOR=xray opentelemetry-instrument python3 app.py
EXPOSE 8080
```

------
#### [ Source code repository ]

Ketika sumber layanan Anda adalah repositori yang berisi sumber aplikasi Anda, Anda secara tidak langsung instrumen gambar Anda menggunakan pengaturan file konfigurasi App Runner. Pengaturan ini mengontrol Dockerfile yang dihasilkan dan digunakan App Runner untuk membangun gambar untuk aplikasi Anda. Contoh berikut menunjukkan file konfigurasi App Runner yang diinstrumentasi untuk aplikasi Python. Penambahan instrumentasi ditekankan dalam huruf tebal.

**Example apprunner.yaml**  

```
version: 1.0
runtime: python3 
build:
  commands:
    build:
      - pip install -r requirements.txt
      - opentelemetry-bootstrap --action=install
run: 
  command: opentelemetry-instrument python app.py
  network: 
    port: 8080 
  env:
    - name: OTEL_PROPAGATORS
      value: xray
    - name: OTEL_METRICS_EXPORTER
      value: none
    - name: OTEL_PYTHON_ID_GENERATOR
      value: xray  
    - name: OTEL_PYTHON_DISABLED_INSTRUMENTATIONS 
      value: urllib3
    - name: OTEL_RESOURCE_ATTRIBUTES
      value: 'service.name=example_app'
```

------

## Menambahkan izin X-Ray ke peran instance layanan App Runner
<a name="monitor-xray.role"></a>

Untuk menggunakan penelusuran X-Ray dengan layanan App Runner, Anda harus memberikan izin pada instance layanan untuk berinteraksi dengan layanan X-Ray. Anda melakukannya dengan mengaitkan peran instance dengan layanan Anda dan menambahkan kebijakan terkelola dengan izin X-Ray. Untuk informasi selengkapnya tentang peran instans App Runner, lihat[Peran instans](security_iam_service-with-iam.md#security_iam_service-with-iam-roles-service.instance). Tambahkan kebijakan `AWSXRayDaemonWriteAccess` terkelola ke peran instans Anda dan tetapkan ke layanan Anda selama pembuatan.

## Aktifkan penelusuran X-Ray untuk layanan App Runner
<a name="monitor-xray.config"></a>

Saat Anda [membuat layanan](manage-create.md), App Runner menonaktifkan penelusuran secara default. Anda dapat mengaktifkan penelusuran X-Ray untuk layanan Anda sebagai bagian dari konfigurasi observabilitas. Untuk informasi selengkapnya, lihat [Kelola observabilitas](manage-configure-observability.md#manage-configure-observability.manage).

Jika Anda menggunakan App Runner API atau AWS CLI, [TraceConfiguration](https://docs.aws.amazon.com/apprunner/latest/api/API_TraceConfiguration.html)objek dalam objek [ObservabilityConfiguration](https://docs.aws.amazon.com/apprunner/latest/api/API_ObservabilityConfiguration.html)resource berisi pengaturan penelusuran. Agar penelusuran tetap dinonaktifkan, jangan tentukan `TraceConfiguration` objek.

Dalam kasus konsol dan API, pastikan untuk mengaitkan peran instance yang dibahas di bagian sebelumnya dengan layanan App Runner Anda.

## Melihat data penelusuran X-Ray untuk layanan App Runner
<a name="monitor-xray.view"></a>

Pada tab **Observability** pada [halaman dasbor layanan](console.md#console.dashboard) di konsol App Runner, pilih **Lihat peta layanan** untuk menavigasi ke konsol Amazon CloudWatch .

![Halaman dasbor layanan App Runner yang menampilkan tab observabilitas](http://docs.aws.amazon.com/id_id/apprunner/latest/dg/images/service-dashboad-observability.png)


Gunakan CloudWatch konsol Amazon untuk melihat peta layanan dan melacak permintaan yang dilayani aplikasi Anda. Peta layanan menampilkan informasi seperti latensi permintaan dan interaksi dengan aplikasi dan AWS layanan lain. Anotasi khusus yang Anda tambahkan ke kode Anda memungkinkan Anda untuk dengan mudah mencari jejak. Untuk informasi selengkapnya, lihat [Menggunakan ServiceLens untuk memantau kesehatan aplikasi Anda](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ServiceLens.html) di *Panduan CloudWatch Pengguna Amazon*.