

AWS App Runner tidak akan lagi terbuka untuk pelanggan baru mulai 30 April 2026. Jika Anda ingin menggunakan App Runner, daftar sebelum tanggal tersebut. 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.

# Observabilitas untuk layanan App Runner
<a name="monitor"></a>

AWS App Runner terintegrasi dengan beberapa AWS layanan untuk memberi Anda rangkaian alat observabilitas ekstensif untuk layanan App Runner Anda. Topik dalam Bab ini menjelaskan kemampuan ini.

**Topics**
+ [Melacak aktivitas layanan App Runner](monitor-activity.md)
+ [Melihat log App Runner dialirkan ke Log CloudWatch](monitor-cwl.md)
+ [Melihat metrik layanan App Runner dilaporkan CloudWatch](monitor-cw.md)
+ [Menangani peristiwa App Runner di EventBridge](monitor-ev.md)
+ [Logging App Runner API panggilan dengan AWS CloudTrail](monitor-ct.md)
+ [Menelusuri aplikasi App Runner Anda dengan X-Ray](monitor-xray.md)

# Melacak aktivitas layanan App Runner
<a name="monitor-activity"></a>

AWS App Runner menggunakan daftar operasi untuk melacak aktivitas di layanan App Runner Anda. Operasi mewakili panggilan asinkron ke tindakan API, seperti membuat layanan, memperbarui konfigurasi, dan menerapkan layanan. Bagian berikut menunjukkan cara melacak aktivitas di konsol App Runner dan menggunakan API.

## Lacak aktivitas layanan App Runner
<a name="monitor-activity.monitor"></a>

Lacak aktivitas layanan App Runner menggunakan salah satu metode berikut:

------
#### [ App Runner console ]

Konsol App Runner menampilkan aktivitas layanan App Runner Anda dan menyediakan lebih banyak cara untuk menjelajahi operasi.

**Untuk melihat aktivitas layanan Anda**

1. Buka [konsol App Runner](https://console.aws.amazon.com/apprunner), dan di daftar **Wilayah**, pilih Wilayah AWS.

1. Di panel navigasi, pilih **Layanan, lalu pilih layanan** App Runner Anda.

   Konsol menampilkan dasbor layanan dengan **ikhtisar Layanan**.  
![\[Halaman dasbor layanan App Runner yang menampilkan daftar Aktivitas\]](http://docs.aws.amazon.com/id_id/apprunner/latest/dg/images/console-dashboard.png)

1. Pada halaman dasbor layanan, pilih tab **Aktivitas**, jika belum dipilih.

   Konsol menampilkan daftar operasi.

1. Untuk menemukan operasi tertentu, lingkup daftar dengan memasukkan istilah pencarian. Anda dapat mencari nilai apa pun yang muncul di tabel.

1. Pilih operasi yang terdaftar untuk melihat atau mengunduh log terkait.

------
#### [ App Runner API or AWS CLI ]

[ListOperations](https://docs.aws.amazon.com/apprunner/latest/api/API_ListOperations.html)Tindakan, yang diberi Nama Sumber Daya Amazon (ARN) dari layanan App Runner, menampilkan daftar operasi yang terjadi pada layanan ini. Setiap item daftar berisi ID operasi dan beberapa detail pelacakan.

------

# Melihat log App Runner dialirkan ke Log CloudWatch
<a name="monitor-cwl"></a>

Anda dapat menggunakan Amazon CloudWatch Logs untuk memantau, menyimpan, dan mengakses file log yang dihasilkan sumber daya Anda di berbagai AWS layanan. Untuk informasi selengkapnya, lihat [Panduan Pengguna Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/).

AWS App Runner mengumpulkan output dari penerapan aplikasi Anda dan layanan aktif Anda dan mengalirkannya ke Log. CloudWatch Bagian berikut mencantumkan aliran log App Runner dan menunjukkan cara melihatnya di konsol App Runner.

## Grup dan aliran log Pelari Aplikasi
<a name="monitor-cwl.streams"></a>

CloudWatch Log menyimpan data log dalam aliran log yang selanjutnya diatur dalam grup log. *Aliran log* adalah urutan peristiwa log dari sumber tertentu. *Grup log* adalah grup log stream yang berbagi pengaturan retensi, pemantauan, dan kontrol akses yang sama.

App Runner mendefinisikan dua grup CloudWatch log Log, masing-masing dengan beberapa aliran log, untuk setiap layanan App Runner di Anda. Akun AWS

### Log layanan
<a name="monitor-cwl.streams.service"></a>

Grup log layanan berisi keluaran logging yang dihasilkan oleh App Runner saat mengelola layanan App Runner Anda dan bertindak di atasnya.


|  **Nama grup log**  |  **Contoh**  | 
| --- | --- | 
|  `/aws/apprunner/service-name/service-id/service`  |  `/aws/apprunner/python-test/ac7ec8b51ff34746bcb6654e0bcb23da/service`  | 

Dalam grup log layanan, App Runner membuat aliran log peristiwa untuk menangkap aktivitas dalam siklus hidup layanan App Runner Anda. Misalnya, ini mungkin meluncurkan aplikasi Anda atau menjedanya.

Selain itu, App Runner membuat aliran log untuk setiap operasi asinkron yang berjalan lama yang terkait dengan layanan Anda. Nama aliran log mencerminkan jenis operasi dan ID operasi tertentu.

*Penyebaran* adalah jenis operasi. Log penerapan berisi keluaran logging dari langkah build dan deployment yang dilakukan App Runner saat Anda membuat layanan atau menerapkan versi baru aplikasi Anda. Nama aliran log penerapan dimulai dengan`deployment/`, dan diakhiri dengan ID operasi yang melakukan penerapan. Operasi ini adalah [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)panggilan untuk penerapan aplikasi awal atau [StartDeployment](https://docs.aws.amazon.com/apprunner/latest/api/API_StartDeployment.html)panggilan untuk setiap penyebaran lebih lanjut.

Dalam log penerapan, setiap pesan log dimulai dengan awalan:
+ `[AppRunner]`— Output yang dihasilkan App Runner selama penerapan.
+ `[Build]`— Output dari skrip build Anda sendiri.


|  **Nama aliran log**  |  **Contoh**  | 
| --- | --- | 
|  `events`  |  *N/A (nama tetap)*  | 
|  `operation-type/operation-id`  |  `deployment/c2c8eeedea164f459cf78f12a8953390`  | 

### Log aplikasi
<a name="monitor-cwl.streams.deployment"></a>

Grup log aplikasi berisi output dari kode aplikasi Anda yang sedang berjalan.


|  **Nama grup log**  |  **Contoh**  | 
| --- | --- | 
|  `/aws/apprunner/service-name/service-id/application`  |  `/aws/apprunner/python-test/ac7ec8b51ff34746bcb6654e0bcb23da/application`  | 

Dalam grup log aplikasi, App Runner membuat aliran log untuk setiap instance (unit penskalaan) yang menjalankan aplikasi Anda.


|  **Nama aliran log**  |  **Contoh**  | 
| --- | --- | 
|  `instance/instance-id`  |  `instance/1a80bc9134a84699b7b3432ebeebb591`  | 

## Melihat log App Runner di konsol
<a name="monitor-cwl.console"></a>

Konsol App Runner menampilkan ringkasan semua log untuk layanan Anda dan memungkinkan Anda untuk melihat, menjelajahi, dan mengunduhnya.

**Untuk melihat log untuk layanan Anda**

1. Buka [konsol App Runner](https://console.aws.amazon.com/apprunner), dan di daftar **Wilayah**, pilih konsol Anda Wilayah AWS.

1. Di panel navigasi, pilih **Layanan, lalu pilih layanan** App Runner Anda.

   Konsol menampilkan dasbor layanan dengan **ikhtisar Layanan**.  
![\[Halaman dasbor layanan App Runner yang menampilkan daftar Aktivitas\]](http://docs.aws.amazon.com/id_id/apprunner/latest/dg/images/console-dashboard.png)

1. Pada halaman dasbor layanan, pilih tab **Log**.

   Konsol menampilkan beberapa jenis log di beberapa bagian:
   + **Log peristiwa** — Aktivitas dalam siklus hidup layanan App Runner Anda. Konsol menampilkan acara terbaru.
   + **Log penerapan** — Penerapan repositori sumber ke layanan App Runner Anda. Konsol menampilkan aliran log terpisah untuk setiap penerapan.
   + **Log aplikasi** — Output dari aplikasi web yang diterapkan ke layanan App Runner Anda. Konsol menggabungkan output dari semua instance yang berjalan ke dalam satu aliran log.  
![\[Tab Log di halaman dasbor layanan App Runner\]](http://docs.aws.amazon.com/id_id/apprunner/latest/dg/images/service-dashboad-logs.png)

1. Untuk menemukan penerapan tertentu, cakupkan daftar log penerapan dengan memasukkan istilah penelusuran. Anda dapat mencari nilai apa pun yang muncul di tabel.

1. Untuk melihat konten log, pilih **Lihat log lengkap (log** peristiwa) atau nama aliran log (penerapan dan log aplikasi).

1. Pilih **Unduh** untuk mengunduh log. Untuk aliran log penerapan, pilih aliran log terlebih dahulu.

1. Pilih **Lihat CloudWatch** untuk membuka CloudWatch konsol dan gunakan kemampuan penuhnya untuk menjelajahi log layanan App Runner Anda. Untuk aliran log penerapan, pilih aliran log terlebih dahulu.
**catatan**  
 CloudWatch Konsol ini sangat berguna jika Anda ingin melihat log aplikasi dari instance tertentu alih-alih log aplikasi gabungan.

# Melihat metrik layanan App Runner dilaporkan CloudWatch
<a name="monitor-cw"></a>

Amazon CloudWatch memantau sumber daya Amazon Web Services (AWS) Anda dan aplikasi yang Anda jalankan AWS secara real time. Anda dapat menggunakan CloudWatch untuk mengumpulkan dan melacak metrik, yang merupakan variabel yang dapat Anda ukur untuk sumber daya dan aplikasi Anda. Anda juga dapat menggunakannya untuk membuat alarm yang menonton metrik. Ketika ambang batas tertentu tercapai, CloudWatch mengirim pemberitahuan, atau secara otomatis membuat perubahan pada sumber daya yang dipantau. Untuk informasi selengkapnya, lihat [Panduan CloudWatch Pengguna Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/).

AWS App Runner mengumpulkan berbagai metrik yang memberi Anda visibilitas yang lebih besar terhadap penggunaan, kinerja, dan ketersediaan layanan Pelari Aplikasi Anda. Beberapa metrik melacak instance individual yang menjalankan layanan web Anda, sedangkan yang lain berada di tingkat layanan keseluruhan. Bagian berikut mencantumkan metrik App Runner dan menunjukkan cara melihatnya di konsol App Runner. 

## Metrik Pelari Aplikasi
<a name="monitor-cw.metrics"></a>

App Runner mengumpulkan metrik berikut yang berkaitan dengan layanan Anda dan menerbitkannya di namespace. CloudWatch `AWS/AppRunner`

**catatan**  
*Sebelum 23 Agustus 2023, metrik **pemanfaatan CPU dan pemanfaatan** **Memori** didasarkan pada unit vCPU dan megabita memori yang digunakan, bukan persen pemanfaatan, seperti yang dihitung hari ini.* Jika aplikasi Anda berjalan di App Runner sebelum tanggal ini, dan Anda memilih untuk kembali melihat metrik untuk tanggal ini di App Runner atau CloudWatch konsol, Anda akan melihat tampilan metrik di kedua unit dan juga akan melihat beberapa penyimpangan sebagai hasilnya. 

**penting**  
Anda harus memperbarui CloudWatch alarm apa pun yang didasarkan pada *pemanfaatan CPU dan nilai metrik pemanfaatan* *Memori* sebelum 23 Agustus 2023. Perbarui alarm untuk memicu berdasarkan persentase pemanfaatan daripada vCPU atau megabyte. Untuk informasi selengkapnya, lihat [Panduan CloudWatch Pengguna Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/).

**Metrik tingkat instans** dikumpulkan untuk setiap instance (unit penskalaan) secara individual.


|  **Apa yang diukur?**  |  **Metrik**  |  **Deskripsi**  | 
| --- | --- | --- | 
|  CPU utilization  |  `CPUUtilization`  |  Persentase penggunaan CPU rata-rata selama periode satu menit dari total penggunaan CPU yang dicadangkan oleh konfigurasi layanan.  | 
|  Memory utilization  |  `MemoryUtilization`  |  Persentase penggunaan memori rata-rata selama periode satu menit dari total memori yang dicadangkan oleh konfigurasi layanan.  | 

**Metrik tingkat layanan** dikumpulkan untuk seluruh layanan.


|  **Apa yang diukur?**  |  **Metrik**  |  **Deskripsi**  | 
| --- | --- | --- | 
|  CPU utilization  |  `CPUUtilization`  |  Persentase penggunaan CPU agregat di semua instance selama periode satu menit dari total penggunaan CPU yang dicadangkan oleh konfigurasi layanan.  | 
|  Memory utilization  |  `MemoryUtilization`  |  Persentase penggunaan memori agregat di semua instance selama periode satu menit dari total memori yang dicadangkan oleh konfigurasi layanan.  | 
|  Concurrency  |  `Concurrency`  |  Perkiraan jumlah permintaan bersamaan yang ditangani oleh layanan.  | 
|  HTTP request count  |  `Requests`  |  Jumlah permintaan HTTP yang diterima layanan.  | 
|  HTTP status counts  |  `2xxStatusResponses` `4xxStatusResponses` `5xxStatusResponses`  |  Jumlah permintaan HTTP yang mengembalikan setiap status respons, dikelompokkan berdasarkan kategori (2XX, 4XX, 5XX).  | 
|  HTTP request latency  |  `RequestLatency`  |  Waktu, dalam milidetik, dibutuhkan layanan web Anda untuk memproses permintaan HTTP.  | 
|  Instance counts  |  `ActiveInstances`  |  Jumlah instance yang memproses permintaan HTTP untuk layanan Anda.   Jika `ActiveInstances` metrik menampilkan nol, itu berarti tidak ada permintaan untuk layanan. Ini tidak menunjukkan bahwa jumlah instance untuk layanan Anda adalah nol.    | 

## Melihat metrik App Runner di konsol
<a name="monitor-cw.console"></a>

Konsol App Runner secara grafis menampilkan metrik yang dikumpulkan App Runner untuk layanan Anda dan menyediakan lebih banyak cara untuk menjelajahinya.

**catatan**  
Pada saat ini, konsol hanya menampilkan metrik layanan. Untuk melihat metrik instance, gunakan CloudWatch konsol.

**Untuk melihat log untuk layanan Anda**

1. Buka [konsol App Runner](https://console.aws.amazon.com/apprunner), dan di daftar **Wilayah**, pilih konsol Anda Wilayah AWS.

1. Di panel navigasi, pilih **Layanan, lalu pilih layanan** App Runner Anda.

   Konsol menampilkan dasbor layanan dengan **ikhtisar Layanan**.  
![\[Halaman dasbor layanan App Runner yang menampilkan daftar Aktivitas\]](http://docs.aws.amazon.com/id_id/apprunner/latest/dg/images/console-dashboard.png)

1. Pada halaman dasbor layanan, pilih tab **Metrik**.

   Konsol menampilkan satu set grafik metrik.   
![\[Tab Metrik di halaman dasbor layanan App Runner\]](http://docs.aws.amazon.com/id_id/apprunner/latest/dg/images/service-dashboad-metrics.png)

1. Pilih durasi (misalnya, **12 jam**) untuk cakupan grafik metrik ke periode terakhir dari durasi tersebut.

1. Pilih **Tambahkan ke dasbor** di bagian atas salah satu bagian grafik, atau gunakan menu pada grafik apa pun, untuk menambahkan metrik yang relevan ke dasbor di CloudWatch konsol untuk penyelidikan lebih lanjut.

# Menangani peristiwa App Runner di EventBridge
<a name="monitor-ev"></a>

Menggunakan Amazon EventBridge, Anda dapat mengatur aturan berbasis peristiwa yang memantau aliran data real-time dari AWS App Runner layanan Anda untuk pola tertentu. Ketika pola untuk aturan dicocokkan, EventBridge memulai tindakan dalam target seperti, Amazon ECS AWS Batch, dan AWS Lambda Amazon SNS. Misalnya, Anda dapat menetapkan aturan untuk mengirimkan pemberitahuan email dengan memberi sinyal topik Amazon SNS setiap kali penerapan ke layanan Anda gagal. Atau, Anda dapat mengatur fungsi Lambda untuk memberi tahu saluran Slack setiap kali pembaruan layanan gagal. Untuk informasi selengkapnya EventBridge, lihat [Panduan EventBridge Pengguna Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/).

App Runner mengirimkan jenis acara berikut ke EventBridge
+ *Perubahan status layanan* — Perubahan status layanan App Runner. Misalnya, status layanan diubah menjadi`DELETE_FAILED`.
+ *Perubahan status operasi layanan* — Perubahan status operasi asinkron yang panjang pada layanan App Runner. Misalnya, layanan mulai dibuat, pembaruan layanan berhasil diselesaikan, atau penyebaran layanan yang dilengkapi dengan kesalahan.

## Membuat EventBridge aturan untuk bertindak pada acara App Runner
<a name="monitor-ev.rule"></a>

 EventBridge *Peristiwa* adalah objek yang mendefinisikan beberapa EventBridge bidang standar, seperti AWS layanan sumber dan jenis detail (peristiwa), dan kumpulan bidang khusus acara dengan detail acara. Untuk membuat EventBridge aturan, Anda menggunakan EventBridge konsol untuk menentukan *pola acara* (acara mana yang harus dilacak) dan menentukan *tindakan target* (apa yang harus dilakukan pada pertandingan). Pola acara mirip dengan peristiwa yang cocok. Anda menentukan subset bidang yang cocok, dan untuk setiap bidang, Anda menentukan daftar nilai yang mungkin. Topik ini memberikan contoh peristiwa App Runner dan pola acara.

Untuk informasi selengkapnya tentang membuat EventBridge aturan, lihat [Membuat aturan untuk AWS layanan](https://docs.aws.amazon.com/eventbridge/latest/userguide/create-eventbridge-rule.html) di *Panduan EventBridge Pengguna Amazon*.

**catatan**  
Beberapa layanan mendukung *pola yang telah ditentukan sebelumnya* di EventBridge. Ini menyederhanakan bagaimana pola acara dibuat. Anda memilih nilai bidang pada formulir, dan EventBridge menghasilkan pola untuk Anda. Saat ini, App Runner tidak mendukung pola yang telah ditentukan sebelumnya. Anda harus memasukkan pola sebagai objek JSON. Anda dapat menggunakan contoh dalam topik ini sebagai titik awal.

## Contoh acara App Runner
<a name="monitor-ev.event-examples"></a>

Ini adalah beberapa contoh acara yang dikirimkan oleh App Runner. EventBridge
+ Peristiwa perubahan status layanan. Secara khusus, layanan yang berubah dari `RUNNING` status `OPERATION_IN_PROGRESS` ke status.

  ```
  { 
    "version": "0",
    "id": "6a7e8feb-b491-4cf7-a9f1-bf3703467718",
    "detail-type": "AppRunner Service Status Change",
    "source": "aws.apprunner",
    "account": "111122223333",
    "time": "2021-04-29T11:54:23Z",
    "region": "us-east-2",
    "resources": [
      "arn:aws:apprunner:us-east-2:123456789012:service/my-app/8fe1e10304f84fd2b0df550fe98a71fa"
    ],
    "detail": {
      "previousServiceStatus": "OPERATION_IN_PROGRESS",
      "currentServiceStatus": "RUNNING",
      "serviceName": "my-app",
      "serviceId": "8fe1e10304f84fd2b0df550fe98a71fa",
      "message": "Service status is set to RUNNING.",
      "severity": "INFO"
    }
  }
  ```
+ Peristiwa perubahan status operasi. Secara khusus, `UpdateService` operasi yang berhasil diselesaikan.

  ```
  { 
    "version": "0",
    "id": "6a7e8feb-b491-4cf7-a9f1-bf3703467718",
    "detail-type": "AppRunner Service Operation Status Change",
    "source": "aws.apprunner",
    "account": "111122223333",
    "time": "2021-04-29T18:43:48Z",
    "region": "us-east-2",
    "resources": [
      "arn:aws:apprunner:us-east-2:123456789012:service/my-app/8fe1e10304f84fd2b0df550fe98a71fa"
    ],
    "detail": {
      "operationStatus": "UpdateServiceCompletedSuccessfully",
      "serviceName": "my-app",
      "serviceId": "8fe1e10304f84fd2b0df550fe98a71fa",
      "message": "Service update completed successfully. New application and configuration is deployed.",
      "severity": "INFO"
    }
  }
  ```

## Contoh pola acara App Runner
<a name="monitor-ev.pattern-examples"></a>

Contoh berikut menunjukkan pola peristiwa yang dapat Anda gunakan dalam EventBridge aturan untuk mencocokkan satu atau beberapa peristiwa App Runner. Pola peristiwa mirip dengan suatu peristiwa. Sertakan hanya bidang yang ingin Anda cocokkan, dan berikan daftar alih-alih skalar untuk masing-masing bidang.
+ Cocokkan semua peristiwa perubahan status layanan untuk layanan akun tertentu, di mana layanan tidak lagi dalam `RUNNING` status.

  ```
  { 
    "detail-type": [ "AppRunner Service Status Change" ],
    "source": [ "aws.apprunner" ],
    "account": [ "111122223333" ],
    "detail": {
      "previousServiceStatus": [ "RUNNING" ]
    }
  }
  ```
+ Cocokkan semua peristiwa perubahan status operasi untuk layanan akun tertentu, di mana operasi gagal.

  ```
  { 
    "detail-type": [ "AppRunner Service Operation Status Change" ],
    "source": [ "aws.apprunner" ],
    "account": [ "111122223333" ],
    "detail": {
      "operationStatus": [
        "CreateServiceFailed",
        "DeleteServiceFailed",
        "UpdateServiceFailed",
        "DeploymentFailed",
        "PauseServiceFailed",
        "ResumeServiceFailed"
      ]
    }
  }
  ```

## Referensi acara App Runner
<a name="monitor-ev.ref"></a>

### Perubahan status layanan
<a name="monitor-ev.ref.service"></a>

Peristiwa perubahan status layanan telah `detail-type` disetel ke`AppRunner Service Status Change`. Ini memiliki bidang dan nilai detail berikut:

```
"serviceId": "your service ID",
"serviceName": "your service name",
"message": "Service status is set to CurrentStatus.",
"previousServiceStatus": "any valid service status",
"currentServiceStatus": "any valid service status",
"severity": "varies"
```

### Perubahan status operasi
<a name="monitor-ev.ref.operation"></a>

Peristiwa perubahan status operasi telah `detail-type` disetel ke`AppRunner Service Operation Status Change`. Ini memiliki bidang dan nilai detail berikut:

```
"operationStatus": "see following table",
"serviceName": "your service name",
"serviceId": "your service ID",
"message": "see following table",
"severity": "varies"
```

Tabel berikut mencantumkan semua kode status yang mungkin dan pesan terkait.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/apprunner/latest/dg/monitor-ev.html)

# Logging App Runner API panggilan dengan AWS CloudTrail
<a name="monitor-ct"></a>

App Runner terintegrasi dengan AWS CloudTrail, layanan yang menyediakan catatan tindakan yang diambil oleh pengguna, peran, atau AWS layanan di App Runner. CloudTrailmenangkap semua panggilan API untuk App Runner sebagai peristiwa. Panggilan yang diambil termasuk panggilan dari konsol App Runner dan panggilan kode ke operasi App Runner API. Jika Anda membuat jejak, Anda dapat mengaktifkan pengiriman CloudTrail acara secara terus menerus ke bucket Amazon S3, termasuk acara untuk App Runner. Jika Anda tidak mengonfigurasi jejak, Anda masih dapat melihat peristiwa terbaru di CloudTrail konsol dalam **Riwayat acara**. Dengan menggunakan informasi yang dikumpulkan oleh CloudTrail, Anda dapat menentukan permintaan yang dibuat untuk App Runner, alamat IP dari tempat permintaan dibuat, siapa yang membuat permintaan, kapan dibuat, dan detail tambahan. 

Untuk mempelajari selengkapnya CloudTrail, lihat [Panduan AWS CloudTrail Pengguna](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/).

## Informasi Pelari Aplikasi di CloudTrail
<a name="apprunner-info-in-cloudtrail"></a>

CloudTrail diaktifkan pada Akun AWS saat Anda membuat akun. Saat aktivitas terjadi di App Runner, aktivitas tersebut direkam dalam suatu CloudTrail peristiwa bersama dengan peristiwa AWS layanan lainnya dalam **riwayat Acara**. Anda dapat melihat, mencari, dan mengunduh acara terbaru di situs Anda Akun AWS. Untuk informasi selengkapnya, lihat [Melihat Acara dengan Riwayat CloudTrail Acara](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html). 

Untuk catatan acara yang sedang berlangsung di Anda Akun AWS, termasuk acara untuk App Runner, buat jejak. *Jejak* memungkinkan CloudTrail untuk mengirimkan file log ke bucket Amazon S3. Secara default, saat Anda membuat jejak di konsol, jejak tersebut berlaku untuk semua Wilayah AWS. Jejak mencatat peristiwa dari semua Wilayah di AWS partisi dan mengirimkan file log ke bucket Amazon S3 yang Anda tentukan. Selain itu, Anda dapat mengonfigurasi AWS layanan lain untuk menganalisis lebih lanjut dan menindaklanjuti data peristiwa yang dikumpulkan dalam CloudTrail log. Untuk informasi selengkapnya, lihat berikut: 
+ [Gambaran Umum untuk Membuat Jejak](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail Layanan dan Integrasi yang Didukung](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [Mengkonfigurasi Notifikasi Amazon SNS untuk CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)
+ [Menerima File CloudTrail Log dari Beberapa Wilayah](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) dan [Menerima File CloudTrail Log dari Beberapa Akun](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

Semua tindakan App Runner dicatat oleh CloudTrail dan didokumentasikan dalam Referensi AWS App Runner API. Misalnya, panggilan ke`CreateService`,`DeleteConnection`, dan `StartDeployment` tindakan menghasilkan entri dalam file CloudTrail log. 

Setiap entri peristiwa atau log berisi informasi tentang entitas yang membuat permintaan tersebut. Informasi identitas membantu Anda menentukan hal berikut ini: 
+ Apakah permintaan tersebut dibuat dengan kredensial root atau pengguna IAM.
+ Apakah permintaan tersebut dibuat dengan kredensial keamanan sementara untuk satu peran atau pengguna terfederasi.
+ Apakah permintaan itu dibuat oleh AWS layanan lain.

Untuk informasi lain, lihat [Elemen userIdentity CloudTrail ](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).

## Memahami entri file log App Runner
<a name="understanding-apprunner-entries"></a>

Trail adalah konfigurasi yang memungkinkan pengiriman peristiwa sebagai file log ke bucket Amazon S3 yang Anda tentukan. CloudTrail file log berisi satu atau lebih entri log. Peristiwa mewakili permintaan tunggal dari sumber manapun dan mencakup informasi tentang tindakan yang diminta, tanggal dan waktu tindakan, dan parameter permintaan. CloudTrail file log bukanlah jejak tumpukan yang diurutkan dari panggilan API publik, jadi file tersebut tidak muncul dalam urutan tertentu. 

Contoh berikut menunjukkan entri CloudTrail log yang menunjukkan `CreateService` tindakan.

**catatan**  
Untuk alasan keamanan, beberapa nilai properti disunting di log dan diganti dengan teks`HIDDEN_DUE_TO_SECURITY_REASONS`. Ini mencegah paparan informasi rahasia yang tidak diinginkan. Namun, Anda masih dapat melihat bahwa properti ini diteruskan dalam permintaan atau dikembalikan dalam respons.

### Contoh entri CloudTrail log untuk tindakan `CreateService` App Runner
<a name="understanding-apprunner-entries.example"></a>

```
{
  "eventVersion": "1.08",
  "userIdentity": {
    "type": "IAMUser",
    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
    "arn": "arn:aws:iam::123456789012:user/aws-user",
    "accountId": "123456789012",
    "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "userName": "aws-user"
  },
  "eventTime": "2020-10-02T23:25:33Z",
  "eventSource": "apprunner.amazonaws.com",
  "eventName": "CreateService",
  "awsRegion": "us-east-2",
  "sourceIPAddress": "192.0.2.0",
  "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.75 Safari/537.36",
  "requestParameters": {
    "serviceName": "python-test",
    "sourceConfiguration": {
      "codeRepository": {
        "repositoryUrl": "https://github.com/github-user/python-hello",
        "sourceCodeVersion": {
          "type": "BRANCH",
          "value": "main"
        },
        "codeConfiguration": {
          "configurationSource": "API",
          "codeConfigurationValues": {
            "runtime": "python3",
            "buildCommand": "HIDDEN_DUE_TO_SECURITY_REASONS",
            "startCommand": "HIDDEN_DUE_TO_SECURITY_REASONS",
            "port": "8080",
            "runtimeEnvironmentVariables": "HIDDEN_DUE_TO_SECURITY_REASONS"
          }
        }
      },
      "autoDeploymentsEnabled": true,
      "authenticationConfiguration": {
        "connectionArn": "arn:aws:apprunner:us-east-2:123456789012:connection/your-connection/e7656250f67242d7819feade6800f59e"
      }
    },
    "healthCheckConfiguration": {
      "protocol": "HTTP"
    },
    "instanceConfiguration": {
      "cpu": "256",
      "memory": "1024"
    }
  },
  "responseElements": {
    "service": {
        "serviceName": "python-test",
        "serviceId": "dfa2b7cc7bcb4b6fa6c1f0f4efff988a",
        "serviceArn": "arn:aws:apprunner:us-east-2:123456789012:service/python-test/dfa2b7cc7bcb4b6fa6c1f0f4efff988a",
        "serviceUrl": "generated domain",
        "createdAt": "2020-10-02T23:25:32.650Z",
        "updatedAt": "2020-10-02T23:25:32.650Z",
        "status": "OPERATION_IN_PROGRESS",
        "sourceConfiguration": {
            "codeRepository": {
                "repositoryUrl": "https://github.com/github-user/python-hello",
                "sourceCodeVersion": {
                    "type": "Branch",
                    "value": "main"
                },
                "sourceDirectory": "/",
                "codeConfiguration": {
                    "codeConfigurationValues": {
                        "configurationSource": "API",
                        "runtime": "python3",
                        "buildCommand": "HIDDEN_DUE_TO_SECURITY_REASONS",
                        "startCommand": "HIDDEN_DUE_TO_SECURITY_REASONS",
                        "port": "8080",
                        "runtimeEnvironmentVariables": "HIDDEN_DUE_TO_SECURITY_REASONS"
                    }
                }
            },
            "autoDeploymentsEnabled": true,
            "authenticationConfiguration": {
                "connectionArn": "arn:aws:apprunner:us-east-2:123456789012:connection/your-connection/e7656250f67242d7819feade6800f59e"
            }
        },
        "healthCheckConfiguration": {
            "protocol": "HTTP",
            "path": "/",
            "interval": 5,
            "timeout": 2,
            "healthyThreshold": 3,
            "unhealthyThreshold": 5
        },
        "instanceConfiguration": {
            "cpu": "256",
            "memory": "1024"
        },
        "autoScalingConfigurationSummary": {
            "autoScalingConfigurationArn": "arn:aws:apprunner:us-east-2:123456789012:autoscalingconfiguration/DefaultConfiguration/1/00000000000000000000000000000001",
            "autoScalingConfigurationName": "DefaultConfiguration",
            "autoScalingConfigurationRevision": 1
        }
    }
},
  "requestID": "1a60af60-ecf5-4280-aa8f-64538319ba0a",
  "eventID": "e1a3f623-4d24-4390-a70b-bf08a0e24669",
  "readOnly": false,
  "eventType": "AwsApiCall",
  "recipientAccountId": "123456789012"
}
```

# 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*.