

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

# Menggunakan Elastic Beanstalk dengan Amazon Logs CloudWatch
<a name="AWSHowTo.cloudwatchlogs"></a>

Topik ini menjelaskan fitur pemantauan yang dapat disediakan oleh layanan Amazon CloudWatch Logs untuk Elastic Beanstalk. Ini juga memandu Anda melalui pengaturan konfigurasi dan mencantumkan lokasi log untuk setiap platform Elastic Beanstalk. 

Menerapkan CloudWatch Log dapat memungkinkan Anda melakukan aktivitas pemantauan berikut:
+ Pantau dan arsipkan aplikasi Elastic Beanstalk, sistem, dan file log kustom Anda dari instans Amazon EC2 di lingkungan Anda.
+ Konfigurasikan alarm yang memudahkan Anda bereaksi terhadap peristiwa aliran log tertentu yang diekstrak oleh filter metrik Anda.

Agen CloudWatch Log yang diinstal pada setiap instans Amazon EC2 di lingkungan Anda menerbitkan titik data metrik ke CloudWatch layanan untuk setiap grup log yang Anda konfigurasikan. Setiap grup log menerapkan pola filternya sendiri untuk menentukan peristiwa aliran log apa yang akan dikirim CloudWatch sebagai titik data. Log stream yang dimiliki oleh grup log yang sama berbagi pengaturan kontrol penyimpanan, pemantauan, dan akses yang sama. Anda dapat mengonfigurasi Elastic Beanstalk untuk secara otomatis mengalirkan log CloudWatch ke layanan, seperti yang dijelaskan dalam. [Streaming log instance ke CloudWatch Log](#AWSHowTo.cloudwatchlogs.streaming) Untuk informasi selengkapnya tentang CloudWatch Log, termasuk terminologi dan konsep, lihat [Panduan Pengguna CloudWatch Log Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html).

Selain log instance, jika Anda mengaktifkan [peningkatan kesehatan](health-enhanced.md) untuk lingkungan Anda, Anda dapat mengonfigurasi lingkungan untuk mengalirkan informasi kesehatan ke CloudWatch Log. Lihat [Streaming informasi kesehatan lingkungan Elastic Beanstalk ke Amazon Logs CloudWatch](AWSHowTo.cloudwatchlogs.envhealth.md).

**Topics**
+ [Prasyarat misalnya streaming log ke Log CloudWatch](#AWSHowTo.cloudwatchlogs.prereqs)
+ [Bagaimana Elastic Beanstalk mengatur Log CloudWatch](#AWSHowTo.cloudwatchlogs.loggroups)
+ [Streaming log instance ke CloudWatch Log](#AWSHowTo.cloudwatchlogs.streaming)
+ [Pemecahan Masalah Integrasi Log CloudWatch](#AWSHowTo.cloudwatchlogs.troubleshoot)
+ [Streaming informasi kesehatan lingkungan Elastic Beanstalk ke Amazon Logs CloudWatch](AWSHowTo.cloudwatchlogs.envhealth.md)

## Prasyarat misalnya streaming log ke Log CloudWatch
<a name="AWSHowTo.cloudwatchlogs.prereqs"></a>

Jika Anda tidak memiliki kebijakan yang dikelola *AWSElasticBeanstalkWorkerTier*Elastic Beanstalk *AWSElasticBeanstalkWebTier*atau Elastic Beanstalk di profil instans [Elastic Beanstalk, Anda harus menambahkan izin berikut](concepts-roles-instance.md) ke profil Anda untuk mengaktifkan fitur ini.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
  {
    "Effect": "Allow",
    "Action": [
      "logs:PutLogEvents",
      "logs:CreateLogStream"
    ],
    "Resource": [
    "*"
    ]
  }
  ]
}
```

------

## Bagaimana Elastic Beanstalk mengatur Log CloudWatch
<a name="AWSHowTo.cloudwatchlogs.loggroups"></a>

Elastic Beanstalk CloudWatch menginstal agen log dengan pengaturan konfigurasi default pada setiap instance yang dibuatnya. Pelajari lebih lanjut di [dokumentasi CloudWatch agen](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html).

Saat Anda mengaktifkan streaming log instance ke CloudWatch Log, Elastic Beanstalk mengirimkan file log dari instance lingkungan Anda ke Log. CloudWatch Platform yang berbeda mengalirkan log yang berbeda. Tabel berikut mencantumkan log, berdasarkan platform.


****  

|  Platform/Platform Cabang  |  Beberapa catatan  | 
| --- | --- | 
| Docker |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| ECS di Docker |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| Go<br />.NET Core pada Linux<br />Java |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| Node.js<br />Python |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| Tomcat<br />PHP |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| .NET pada Windows Server |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| Ruby |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 

### Berkas log pada platform Amazon Linux AMI
<a name="AWSHowTo.cloudwatchlogs.loggroups.alami"></a>

**catatan**  
 **Pada [18 Juli 2022,](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-07-18-linux-al1-retire.html) Elastic Beanstalk menetapkan status semua cabang platform berdasarkan Amazon Linux AMI AL1 () untuk pensiun.** Untuk informasi selengkapnya tentang migrasi ke cabang platform Amazon Linux 2023 saat ini dan didukung penuh, lihat. [Memigrasi aplikasi Elastic Beanstalk Linux Anda ke Amazon Linux 2023 atau Amazon Linux 2](using-features.migration-al.md)

Tabel berikut mencantumkan berkas log streaming dari instans pada cabang platform yang didasarkan pada Amazon Linux AMI (sebelumnya Amazon Linux 2), oleh platform.


****  

|  Platform/Platform Cabang  |  Beberapa catatan  | 
| --- | --- | 
| buruh pelabuhan/ <br />Cabang Platform: Docker Berjalan di Amazon Linux 64bit |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| buruh pelabuhan/ <br />Cabang Platform: Multicontainer Docker Berjalan di Amazon Linux 64bit |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| Glassfish (Docker yang telah dikonfigurasi) |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| Go |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| Jawa/<br />Cabang Platform: Java 8 berjalan di Amazon Linux 64bit<br />Cabang Platform: Java 7 berjalan di Amazon Linux 64bit |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| Tomcat |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| Node.js |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| PHP |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| Python |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| Ruby/<br />Cabang Platform: Puma dengan Ruby berjalan di 64bit Amazon Linux |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| Ruby/ Cabang Platform: Penumpang dengan Ruby berjalan di Amazon Linux 64bit |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 

Elastic Beanstalk mengonfigurasi CloudWatch grup log di Log untuk berbagai file log yang dialirkannya. Untuk mengambil file log tertentu dari CloudWatch Log, Anda harus mengetahui nama grup log yang sesuai. Skema penamaan grup log tergantung pada sistem operasi platform.

Untuk platform Linux, prefiks lokasi berkas log pada instans dengan `/aws/elasticbeanstalk/{{environment_name}}` untuk mendapatkan nama grup log. Misalnya, untuk mengambil file `/var/log/nginx/error.log`, tentukan grup log `/aws/elasticbeanstalk/{{environment_name}}/var/log/nginx/error.log`.

Untuk Windows platform, lihat tabel berikut untuk grup log yang sesuai untuk setiap berkas log.


|  Berkas log pada instans  |  Grup log  | 
| --- | --- | 
| `C:\Program Files\Amazon\ElasticBeanstalk\logs\AWSDeployment.log` | `/aws/elasticbeanstalk/<environment-name>/EBDeploy-Log` | 
| `C:\Program Files\Amazon\ElasticBeanstalk\logs\Hooks.log` | `/aws/elasticbeanstalk/<environment-name>/EBHooks-Log` | 
| `C:\inetpub\logs\LogFiles` (seluruh direktori) | `/aws/elasticbeanstalk/<environment-name>/IIS-Log` | 

## Streaming log instance ke CloudWatch Log
<a name="AWSHowTo.cloudwatchlogs.streaming"></a>

Anda dapat mengaktifkan streaming log instance ke CloudWatch Log menggunakan konsol Elastic Beanstalk, EB CLI, atau opsi konfigurasi.

Sebelum Anda mengaktifkannya, siapkan izin IAM untuk digunakan dengan agen CloudWatch Log. Anda dapat melampirkan kebijakan kustom berikut untuk [profil instans](concepts-roles-instance.md) yang Anda tetapkan ke lingkungan Anda.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogStream",
        "logs:PutLogEvents",
        "logs:DescribeLogGroups",
        "logs:DescribeLogStreams"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

### Streaming log instans menggunakan konsol Elastic Beanstalk
<a name="AWSHowTo.cloudwatchlogs.streaming.console"></a>

**Untuk mengalirkan log instance ke CloudWatch Log**

1. **Buka konsol [Elastic Beanstalk, dan di daftar Wilayah, pilih konsol Elastic](https://console.aws.amazon.com/elasticbeanstalk) Beanstalk.** Wilayah AWS

1. Di panel navigasi, pilih **Lingkungan**, dan kemudian pilih nama lingkungan Anda dari daftar.

1. Pada panel navigasi, pilih **Konfigurasi**.

1. Dalam kategori konfigurasi **Pembaruan, pemantauan, dan pencatatan**, pilih **Edit**.

1. Di bawah **Streaming log Instance ke CloudWatch Log**:
   + Mengaktifkan **Streaming log**.
   + Mengatur **Retensi** untuk jumlah hari untuk menyimpan log.
   + Pilih pengaturan **Siklus Hidup** yang menentukan apakah log disimpan setelah lingkungan dihentikan.

1. Untuk menyimpan perubahan pilih **Terapkan** di bagian bawah halaman.

Setelah Anda mengaktifkan streaming log, Anda dapat kembali ke kategori atau halaman konfigurasi **Perangkat Lunak** dan menemukan tautan **Grup Log**. Klik tautan ini untuk melihat log Anda di CloudWatch konsol.

### Streaming log instans menggunakan EB CLI
<a name="AWSHowTo.cloudwatchlogs.streaming.ebcli"></a>

Untuk mengaktifkan streaming log instance ke CloudWatch Log menggunakan EB CLI, gunakan [**eb logs**](eb3-logs.md) perintah.

```
$ eb logs --cloudwatch-logs enable
```

Anda juga dapat menggunakan **eb logs** untuk mengambil log dari CloudWatch Log. Anda dapat mengambil semua log instans lingkungan, atau menggunakan banyak pilihan perintah untuk menentukan himpunan bagian dari log untuk mengambil. Sebagai contoh, perintah berikut mengambil set lengkap dari log instans untuk lingkungan Anda, dan menyimpannya ke direktori di bawah `.elasticbeanstalk/logs`.

```
$ eb logs --all
```

Khususnya, opsi `--log-group` memungkinkan Anda untuk mengambil log instans dari grup log tertentu, sesuai dengan berkas log instans tertentu. Untuk melakukannya, Anda perlu tahu nama grup log yang sesuai dengan berkas log yang ingin Anda ambil. Anda dapat menemukan informasi ini di [Bagaimana Elastic Beanstalk mengatur Log CloudWatch](#AWSHowTo.cloudwatchlogs.loggroups).

### Streaming log instans menggunakan file konfigurasi
<a name="AWSHowTo.cloudwatchlogs.files"></a>

Saat membuat atau memperbarui lingkungan, Anda dapat menggunakan file konfigurasi untuk mengatur dan mengonfigurasi streaming log instance ke CloudWatch Log. File konfigurasi contoh berikut memungkinkan streaming log instans default. Elastic Beanstalk mengalirkan set default berkas log untuk platform lingkungan Anda. Untuk menggunakan contoh, salin teks ke dalam file dengan ekstensi `.config` di direktori `.ebextensions` di tingkat atas paket sumber aplikasi Anda.

```
option_settings:
  - namespace: aws:elasticbeanstalk:cloudwatch:logs
    option_name: StreamLogs
    value: true
```

### Streaming berkas log kustom
<a name="AWSHowTo.cloudwatchlogs.streaming.custom"></a>

 CloudWatch Integrasi Elastic Beanstalk dengan Log tidak secara langsung mendukung streaming file log khusus yang dihasilkan aplikasi Anda. Untuk melakukan streaming log kustom, gunakan file konfigurasi untuk langsung menginstal CloudWatch agen dan untuk mengkonfigurasi file yang akan didorong. Untuk file konfigurasi contoh, lihat [https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/configuration-files/aws-provided/instance-configuration/logs-streamtocloudwatch-linux.config](https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/configuration-files/aws-provided/instance-configuration/logs-streamtocloudwatch-linux.config).

**catatan**  
Contoh tidak bekerja pada platform Windows.

Untuk informasi selengkapnya tentang mengonfigurasi CloudWatch Log, lihat [referensi file konfigurasi CloudWatch agen](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html) di *Panduan CloudWatch Pengguna Amazon*.

## Pemecahan Masalah Integrasi Log CloudWatch
<a name="AWSHowTo.cloudwatchlogs.troubleshoot"></a>

**Coba Amazon Q Developer CLI untuk pemecahan masalah yang dibantu AI**  
 Amazon Q Developer CLI dapat membantu Anda memecahkan masalah lingkungan dengan cepat. Q CLI memberikan solusi dengan memeriksa status lingkungan, meninjau peristiwa, menganalisis log, dan mengajukan pertanyaan klarifikasi. Untuk informasi selengkapnya dan penelusuran terperinci, lihat [Memecahkan Masalah Lingkungan Elastic Beanstalk dengan CLI](https://aws.amazon.com/blogs/devops/troubleshooting-elastic-beanstalk-environments-with-amazon-q-developer-cli/) Pengembang Amazon Q di blog. AWS 

**Tidak dapat menemukan log contoh lingkungan**  
Jika Anda tidak dapat menemukan beberapa log instance lingkungan yang Anda harapkan di CloudWatch Log, selidiki masalah umum berikut:
+ IAM role Anda tidak memiliki izin IAM yang diperlukan.
+ Anda meluncurkan lingkungan Anda di sebuah Wilayah AWS yang tidak mendukung CloudWatch Log.
+ Salah satu berkas log kustom Anda tidak ada di jalur yang Anda tentukan.

**Log aplikasi hilang atau terputus-putus**  
Jika log aplikasi Elastic Beanstalk Anda`/var/log/web.stdout.log`, (), tampak hilang atau terputus-putus, ini mungkin karena pengaturan pembatas laju default di rsyslog dan journald. Meskipun menonaktifkan pembatasan laju sepenuhnya dapat menyelesaikan masalah ini, itu tidak disarankan karena dapat menyebabkan penggunaan disk yang berlebihan, potensi penolakan layanan, atau penurunan kinerja sistem selama ledakan log yang tidak terduga. Sebagai gantinya, Anda dapat menyesuaikan batas tarif menggunakan yang berikut ini [https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/configuration-files/aws-provided/instance-configuration/logs-ratelimitcloudwatchlogs-linux.config](https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/configuration-files/aws-provided/instance-configuration/logs-ratelimitcloudwatchlogs-linux.config). Konfigurasi ini meningkatkan interval batas laju menjadi 600 detik dengan batas burst yang lebih tinggi, memberikan keseimbangan antara logging yang tepat dan perlindungan sistem. 

**Masalah pelambatan**  
Jika operasi Elastic Beanstalk yang secara bersamaan meluncurkan sejumlah besar instance mengembalikan `Error: fail to create log stream: ThrottlingException: Rate exceeded` pesan seperti, itu melambat dari terlalu banyak panggilan ke API. CloudWatch 

Untuk mengatasi masalah pelambatan, lakukan salah satu tindakan berikut:
+ Gunakan ukuran batch yang lebih kecil dengan penerapan bergulir untuk mengurangi pembaruan bersamaan.
+ Minta kenaikan kuota layanan limit Transaksi Per Detik (TPS) AWS akun Anda. *CreateLogStream* Untuk informasi selengkapnya, lihat [Kuota CloudWatch log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch_limits_cwl.html) dan [Mengelola kuota layanan CloudWatch Log Anda](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch_limits_cwl.html#service-quotas-manage) di *Panduan Pengguna Amazon CloudWatch Logs*.