

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

# Melihat log dari instans Amazon EC2 di lingkungan Elastic Beanstalk Anda
<a name="using-features.logging"></a>

Topik ini menjelaskan jenis log instance yang disediakan Elastic Beanstalk. Ini juga memberikan instruksi terperinci untuk retreiveing dan mengelolanya.

Instans Amazon EC2 di lingkungan Elastic Beanstalk Anda menghasilkan log yang dapat Anda lihat untuk memecahkan masalah dengan file aplikasi atau konfigurasi Anda. Log yang dibuat oleh server web, server aplikasi, skrip platform Elastic Beanstalk CloudFormation , dan disimpan secara lokal pada instance individual. Anda dapat dengan mudah mengambilnya dengan menggunakan [konsol manajemen lingkungan](environments-console.md) atau EB CLI. Anda juga dapat mengonfigurasi lingkungan Anda untuk mengalirkan log ke Amazon CloudWatch Logs secara real time.

Log ekor adalah 100 baris terakhir dari berkas log yang paling umum digunakan—log operasional Elastic Beanstalk dan log dari server web atau server aplikasi. Ketika Anda meminta log ekor di konsol manajemen lingkungan atau dengan **eb logs**, instans di lingkungan Anda menggabungkan entri log terbaru ke dalam satu file teks dan mengunduhnya ke Amazon S3.

Log paket adalah log lengkap untuk berbagai berkas log yang lebih luas, termasuk log dari yum dan cron dan beberapa log dari CloudFormation. Ketika Anda meminta log paket, instans di lingkungan Anda memaketkan berkas log lengkap ke dalam arsip ZIP dan mengunggahnya ke Amazon S3.

Untuk mengunggah log yang dirotasi ke Amazon S3, instans di lingkungan Anda harus memiliki [profil instans](concepts-roles-instance.md) dengan izin untuk menulis ke bucket Elastic Beanstalk Amazon S3 Anda. Izin ini termasuk dalam profil instans default di mana Elastic Beanstalk meminta Anda untuk membuatnya ketika Anda meluncurkan lingkungan di konsol Elastic Beans untuk pertama kalinya.

**Untuk mengambil log instans**

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. Pilih **Log** di panel navigasi.

1. Pilih **Log Permintaan**, lalu pilih jenis log yang akan diambil. Untuk mendapatkan log ekor, pilih **100 Baris terakhir**. Untuk mendapatkan log paket, pilih **Log Lengkap**.

1. Ketika Elastic Beanstalk selesai mengambil log Anda, pilih **Unduh**.

Elastic Beanstalk menyimpan log ekor dan paket dalam bucket Amazon S3, dan menghasilkan URL Amazon S3 yang telah ditandatangani sebelumnya yang dapat Anda gunakan untuk mengakses log Anda. Elastic Beanstalk menghapus file dari Amazon S3 setelah durasi 15 menit.

**Awas**  
Siapa pun yang memiliki URL Amazon S3 yang telah ditandatangani dapat mengakses file sebelum dihapus. Jadikan URL hanya tersedia untuk pihak tepercaya.

**catatan**  
Kebijakan pengguna Anda harus memiliki izin `s3:DeleteObject`. Elastic Beanstalk menggunakan izin pengguna Anda untuk menghapus log dari Amazon S3.

Untuk mempertahankan log, Anda dapat mengonfigurasi lingkungan Anda untuk menerbitkan log ke Amazon S3 secara otomatis setelah dirotasi. Untuk mengaktifkan rotasi log ke Amazon S3, ikuti prosedur di [Mengonfigurasi tampilan log instans](environments-cfg-logging.md#environments-cfg-logging-console). Instans di lingkungan Anda akan mencoba mengunggah log yang telah dirotasi satu kali per jam.

Jika aplikasi Anda menghasilkan log di lokasi yang bukan merupakan bagian dari konfigurasi default untuk platform lingkungan Anda, Anda dapat memperpanjang konfigurasi default dengan menggunakan file konfigurasi (`[.ebextensions](ebextensions.md)`). Anda dapat menambahkan berkas log aplikasi Anda untuk log ekor, log paket, atau log rotasi.

Untuk streaming log real-time dan penyimpanan jangka panjang, konfigurasikan lingkungan Anda untuk [mengalirkan log ke Amazon CloudWatch Logs](#health-logs-cloudwatchlogs).

Untuk mendapatkan analisis yang didukung AI dari log lingkungan, peristiwa, dan kesehatan instans Anda untuk mengidentifikasi akar penyebab dan solusi untuk masalah kesehatan, lihat[Analisis lingkungan bertenaga AI](health-ai-analysis.md).

**Topics**
+ [Lokasi log di instans Amazon EC2](#health-logs-instancelocation)
+ [Lokasi log di Amazon S3](#health-logs-s3location)
+ [Pengaturan rotasi log pada Linux](#health-logs-logrotate)
+ [Memperluas konfigurasi tugas log default](#health-logs-extend)
+ [Streaming file log ke Amazon CloudWatch Logs](#health-logs-cloudwatchlogs)

## Lokasi log di instans Amazon EC2
<a name="health-logs-instancelocation"></a>

Log disimpan di lokasi standar pada instans Amazon EC2 di lingkungan Anda. Elastic Beanstalk menghasilkan log berikut.

**Amazon Linux 2**
+ `/var/log/eb-engine.log`

**Amazon Linux AMI (AL1)**

**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)
+ `/var/log/eb-activity.log`
+ `/var/log/eb-commandprocessor.log`

**Windows Server**
+ `C:\Program Files\Amazon\ElasticBeanstalk\logs\`
+ `C:\cfn\log\cfn-init.log`

Log ini berisi pesan tentang aktivitas deployment, termasuk pesan yang terkait dengan file konfigurasi ([`.ebextensions`](ebextensions.md)).

Setiap aplikasi dan server web menyimpan log dalam foldernya sendiri:
+ **Apache** – `/var/log/httpd/`
+ **IIS** – `C:\inetpub\wwwroot\`
+ **Node.js** – `/var/log/nodejs/`
+ **nginx** – `/var/log/nginx/`
+ **Penumpang** – `/var/app/support/logs/`
+ **Puma** – `/var/log/puma/`
+ **Python** – `/opt/python/log/`
+ **Tomcat** – `/var/log/tomcat/`

## Lokasi log di Amazon S3
<a name="health-logs-s3location"></a>

Ketika Anda meminta log ekor atau paket dari lingkungan Anda, atau ketika instans mengunggah log dirotasi, mereka disimpan dalam bucket Elastic Beanstalk Anda di Amazon S3. Elastic Beanstalk menciptakan `elasticbeanstalk-region-account-id` ember yang diberi nama AWS untuk setiap Wilayah tempat Anda membuat lingkungan. Dalam bucket ini, log disimpan di bawah jalur `resources/environments/logs/logtype/environment-id/instance-id`. 

Misalnya, log dari instance`i-0a1fd158`, di AWS lingkungan Elastic `e-mpcwnwheky` Beanstalk `us-west-2` di Region dalam akun, disimpan `123456789012` di lokasi berikut:
+ **Log Ekor** –

  `s3://elasticbeanstalk-us-west-2-123456789012/resources/environments/logs/tail/e-mpcwnwheky/i-0a1fd158`
+ **Log Paket** –

  `s3://elasticbeanstalk-us-west-2-123456789012/resources/environments/logs/bundle/e-mpcwnwheky/i-0a1fd158`
+ **Log Dirotasi** –

  `s3://elasticbeanstalk-us-west-2-123456789012/resources/environments/logs/publish/e-mpcwnwheky/i-0a1fd158`

**catatan**  
Anda dapat menemukan ID lingkungan Anda di konsol manajemen lingkungan.

Elastic Beanstalk menghapus log ekor dan paket dari Amazon S3 secara otomatis 15 menit setelah dibuat. Log yang diputar tetap ada hingga Anda menghapusnya atau memindahkannya ke Amazon Glacier.

## Pengaturan rotasi log pada Linux
<a name="health-logs-logrotate"></a>

Pada platform Linux, Elastic Beanstalk menggunakan `logrotate` untuk merotasi log secara berkala. Jika dikonfigurasi, setelah log dirotasi secara lokal, tugas rotasi log mengambilnya dan mengunggahnya ke Amazon S3. Log yang dirotasi secara lokal tidak muncul di log ekor atau paket secara default.

Anda dapat menemukan file konfigurasi Elastic Beanstalk untuk `logrotate` di `/etc/logrotate.elasticbeanstalk.hourly/`. Pengaturan rotasi ini khusus untuk platform, dan mungkin berubah dalam versi platform yang akan datang. Untuk informasi selengkapnya tentang pengaturan yang tersedia dan konfigurasi contoh, jalankan `man logrotate`.

File-file konfigurasi dipanggil oleh tugas cron di `/etc/cron.hourly/`. Untuk informasi lebih lanjut tentang `cron`, lihat `man cron`.

## Memperluas konfigurasi tugas log default
<a name="health-logs-extend"></a>

Elastic Beanstalk menggunakan file dalam subfolder `/opt/elasticbeanstalk/tasks` (Linux) atau `C:\Program Files\Amazon\ElasticBeanstalk\config` (Server Windows) pada instans Amazon EC2 untuk mengonfigurasi tugas untuk log ekor, log paket, dan log rotasi.

**Di Amazon Linux:**
+ **Log Ekor** –

  `/opt/elasticbeanstalk/tasks/taillogs.d/`
+ **Log Paket** –

  `/opt/elasticbeanstalk/tasks/bundlelogs.d/`
+ **Log Dirotasi** –

  `/opt/elasticbeanstalk/tasks/publishlogs.d/`

**Di Windows Server:**
+ **Log Ekor** –

  `c:\Program Files\Amazon\ElasticBeanstalk\config\taillogs.d\`
+ **Log Paket** –

  `c:\Program Files\Amazon\ElasticBeanstalk\config\bundlelogs.d\`
+ **Log Dirotasi** –

  `c:\Program Files\Amazon\ElasticBeanstalk\config\publogs.d\`

Misalnya, file `eb-activity.conf` pada Linux menambahkan dua berkas log untuk tugas log ekor.

**`/opt/elasticbeanstalk/tasks/taillogs.d/eb-activity.conf `**

```
/var/log/eb-commandprocessor.log
/var/log/eb-activity.log
```

Anda dapat menggunakan file konfigurasi lingkungan (`[.ebextensions](ebextensions.md)`) untuk menambahkan file `.conf` Anda sendiri ke folder ini. File `.conf` membuat daftar file log khusus untuk aplikasi Anda, di mana Elastic Beanstalk menambah tugas berkas log.

Gunakan bagian `files` untuk menambahkan file konfigurasi ke tugas yang ingin Anda ubah. Sebagai contoh, teks konfigurasi berikut menambahkan file konfigurasi log untuk setiap instans di lingkungan Anda. File konfigurasi log ini, `cloud-init.conf`, menambahkan `/var/log/cloud-init.log` untuk log ekor.

```
files:
  "/opt/elasticbeanstalk/tasks/taillogs.d/cloud-init.conf" :
    mode: "000755"
    owner: root
    group: root
    content: |
      /var/log/cloud-init.log
```

Tambahkan teks ini ke file dengan ekstensi nama file `.config` ke paket sumber Anda di bawah folder bernama `.ebextensions`.

```
~/workspace/my-app
|-- .ebextensions
|   `-- tail-logs.config
|-- index.php
`-- styles.css
```

Pada platform Linux, Anda juga dapat menggunakan karakter wildcard dalam konfigurasi tugas log. File konfigurasi ini menambahkan semua file dengan ekstensi nama file `.log` folder `log` di akar aplikasi ke log paket.

```
files: 
  "/opt/elasticbeanstalk/tasks/bundlelogs.d/applogs.conf" :
    mode: "000755"
    owner: root
    group: root
    content: |
      /var/app/current/log/*.log
```

Konfigurasi tugas log tidak mendukung karakter wildcard pada platform Windows.

**catatan**  
Untuk membantu membiasakan diri Anda dengan prosedur penyesuaian log, Anda dapat men-deploy aplikasi sampel menggunakan [EB CLI](eb-cli3.md). Untuk ini, EB CLI membuat direktori aplikasi lokal yang berisi subdirektori `.ebextentions` dengan konfigurasi sampel. Anda juga dapat menggunakan berkas log aplikasi sampel untuk menjelajahi fitur pengambilan log yang dijelaskan dalam topik ini.

Untuk informasi selengkapnya tentang penggunaan file konfigurasi, lihat [Penyesuaian lingkungan lanjutan dengan file konfigurasi (`.ebextensions`)](ebextensions.md).

Sama seperti memperluas log ekor dan log paket, Anda dapat memperpanjang rotasi log menggunakan file konfigurasi. Setiap kali Elastic Beanstalk merotasi log-nya sendiri dan mengunggahnya ke Amazon S3, itu juga akan berotasi dan mengunggah log tambahan Anda. Ekstensi rotasi log berperilaku berbeda tergantung pada sistem operasi platform. Bagian berikut menjelaskan dua kasus.

### Memperluas rotasi log di Linux
<a name="health-logs-extend-rotation-linux"></a>

Seperti yang dijelaskan di [Pengaturan rotasi log pada Linux](#health-logs-logrotate), Elastic Beanstalk menggunakan `logrotate` untuk merotasi log pada platform Linux. Ketika Anda mengonfigurasi berkas log aplikasi Anda untuk rotasi log, aplikasi tidak perlu membuat salinan berkas log. Elastic Beanstalk mengonfigurasi `logrotate` untuk membuat salinan berkas log aplikasi Anda untuk setiap rotasi. Oleh karena itu, aplikasi harus tetap membuka berkas log ketika aplikasi tidak secara aktif menulis kepada mereka.

### Memperluas rotasi log pada server Windows
<a name="health-logs-extend-rotation-windows"></a>

Pada Server Windows, ketika Anda mengonfigurasi berkas log aplikasi Anda untuk rotasi log, aplikasi harus merotasi berkas log secara berkala. Elastic Beanstalk mencari file dengan nama dimulai dengan pola yang Anda dikonfigurasi, dan mengambilnya untuk mengunduh ke Amazon S3. Selain itu, tanda baca titik dalam nama file diabaikan, dan Elastic Beanstalk menganggap nama hingga tanda baca titik sebagai nama berkas log dasar.

Elastic Beanstalk mengunggah semua versi berkas log dasar kecuali yang terbaru, karena menganggap bahwa salah satu berkas log aplikasi aktif, yang berpotensi dapat terkunci. Aplikasi Anda, oleh karena itu, dapat menjaga berkas log aktif tetap terkunci selama rotasi.

Misalnya, aplikasi Anda menulis ke berkas log bernama `my_log.log`, dan Anda menentukan nama ini di file `.conf` Anda. Aplikasi secara berkala merotasi file. Selama siklus rotasi Elastic Beanstalk,file-file berikut ditemukan dalam folder file log: `my_log.log`, `my_log.0800.log`, `my_log.0830.log`. Elastic Beanstalk menganggap semuanya sebagai versi dari nama dasar `my_log`. File `my_log.log` memiliki waktu modifikasi terbaru, sehingga Elastic Beanstalk hanya mengunggah dua file lainnya, `my_log.0800.log` dan `my_log.0830.log`.

## Streaming file log ke Amazon CloudWatch Logs
<a name="health-logs-cloudwatchlogs"></a>

[Anda dapat mengonfigurasi lingkungan Anda untuk mengalirkan log ke Amazon CloudWatch Logs di konsol Elastic Beanstalk atau dengan menggunakan opsi konfigurasi.](command-options.md) Dengan CloudWatch Log, setiap instance di lingkungan Anda mengalirkan log ke grup log yang dapat Anda konfigurasikan untuk disimpan selama berminggu-minggu atau bertahun-tahun, bahkan setelah lingkungan Anda dihentikan.

Set pengaliran log bervariasi per lingkungan, tetapi selalu memasukkan `eb-engine.log` dan akses log dari nginx atau server proksi Apache yang berjalan di depan aplikasi Anda.

Anda dapat mengonfigurasi streaming log di konsol Elastic Beanstalk [selama pembuatan lingkungan](environments-create-wizard.md#environments-create-wizard-software) atau [untuk lingkungan yang ada](environments-cfg-logging.md#environments-cfg-logging-console). Anda dapat mengatur opsi berikut dari konsol: aktifkan /nonaktifkan streaming CloudWatch log ke Log, atur jumlah hari retensi, dan pilih dari opsi Lifecyle. Dalam contoh berikut, log disimpan hingga tujuh hari, bahkan ketika lingkungan diakhiri.

![\[Gambar layar pengaturan CloudWatch Log di konsol Elastic Beanstalk.\]](http://docs.aws.amazon.com/id_id/elasticbeanstalk/latest/dg/images/log-streaming-screen.png)


[file konfigurasi](ebextensions.md) berikut mengaktifkan streaming log dengan retensi 180 hari, meskipun lingkungan diakhiri.

**Example .ebextensions/log-streaming.config**  

```
option_settings:
  aws:elasticbeanstalk:cloudwatch:logs:
    StreamLogs: true
    DeleteOnTerminate: false
    RetentionInDays: 180
```