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
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 instance EC2 Amazon 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 EC2 instans Amazon 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 Untuk informasi selengkapnya tentang CloudWatch Log, termasuk terminologi dan konsep, lihat Panduan Pengguna CloudWatch Log Amazon.
Selain log instans, jika Anda mengaktifkan peningkatan kesehatan untuk lingkungan Anda, Anda dapat mengonfigurasi lingkungan untuk mengalirkan informasi kesehatan ke CloudWatch Log. Lihat Streaming informasi kesehatan lingkungan Pohon Kacang Elastis ke Amazon Logs CloudWatch.
Topik
Prasyarat untuk melakukan streaming log ke Log CloudWatch
Untuk mengaktifkan streaming log dari EC2 instans Amazon lingkungan Anda ke CloudWatch Log, Anda harus memenuhi ketentuan berikut.
-
Platform – Karena fitur ini hanya tersedia dalam versi platform yang dirilis pada atau setelah rilis ini
, jika Anda menggunakan versi platform sebelumnya, perbarui lingkungan Anda ke yang sekarang. -
Jika Anda tidak memiliki kebijakan yang dikelola AWSElasticBeanstalkWorkerTierElastic Beanstalk AWSElasticBeanstalkWebTieratau Elastic Beanstalk di profil instans Elastic Beanstalk, Anda harus menambahkan yang berikut ini ke profil Anda untuk mengaktifkan fitur ini.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:PutLogEvents", "logs:CreateLogStream" ], "Resource": [ "*" ] } ] }
Bagaimana Elastic Beanstalk mengatur Log CloudWatch
Elastic Beanstalk CloudWatch menginstal agen log dengan pengaturan konfigurasi default pada setiap instance yang dibuatnya. Pelajari lebih lanjut di Referensi Agen CloudWatch Log.
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 |
Log |
---|---|
Docker/ Cabang Platform: Docker Berjalan di Amazon Linux 2 64bit |
|
Docker/ Cabang Platform: ECS Berjalan di 64bit Amazon Linux 2 |
|
Go . NETInti di Linux Java /Platform Branch: Corretto berjalan di 64bit Amazon Linux 2 |
|
Node.js Python |
|
Tomcat PHP |
|
. NETdi Windows Server |
|
Ruby |
|
catatan
Pada tanggal 18 Juli 2022, Elastic Beanstalk menetapkan status semua cabang platform berbasis Amazon Linux () untuk pensiun. AMI AL1 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
Tabel berikut mencantumkan file log yang dialirkan dari instance di cabang platform berbasis Amazon Linux AMI (sebelumnya Amazon Linux 2), berdasarkan platform.
Platform/Platform Cabang |
Log |
---|---|
Docker/ Cabang Platform: Docker Berjalan di Amazon Linux 64bit |
|
Docker/ Cabang Platform: Multicontainer Docker Berjalan di Amazon Linux 64bit |
|
Glassfish (Docker yang telah dikonfigurasi) |
|
Go |
|
Jawa/ Cabang Platform: Java 8 berjalan di Amazon Linux 64bit Cabang Platform: Java 7 berjalan di Amazon Linux 64bit |
|
Tomcat |
|
Node.js |
|
PHP |
|
Python |
|
Ruby/ Cabang Platform: Puma dengan Ruby berjalan di 64bit Amazon Linux |
|
Ruby/ Cabang Platform: Penumpang dengan Ruby berjalan di Amazon Linux 64bit |
|
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/
untuk mendapatkan nama grup log. Misalnya, untuk mengambil file environment_name
/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 |
---|---|
|
|
|
|
|
|
Streaming log instance ke CloudWatch Log
Anda dapat mengaktifkan streaming log instance ke CloudWatch Log menggunakan konsol Elastic Beanstalk, EB, CLI atau opsi konfigurasi.
Sebelum Anda mengaktifkannya, siapkan IAM izin untuk digunakan dengan agen CloudWatch Log. Anda dapat melampirkan kebijakan kustom berikut untuk profil instans yang Anda tetapkan ke lingkungan Anda.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Resource": [ "*" ] } ] }
Streaming log instans menggunakan konsol Elastic Beanstalk
Untuk mengalirkan log instance ke CloudWatch Log
Buka konsol Elastic Beanstalk, dan di daftar Wilayah, pilih konsol Elastic
Beanstalk. Wilayah AWS -
Di panel navigasi, pilih Lingkungan, dan kemudian pilih nama lingkungan Anda dari daftar.
catatan
Jika Anda memiliki banyak lingkungan, gunakan bilah pencarian untuk memfilter daftar lingkungan.
Di panel navigasi, pilih Konfigurasi.
-
Dalam kategori konfigurasi Pembaruan, pemantauan, dan pencatatan, pilih Edit.
-
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.
-
-
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
Untuk mengaktifkan streaming log instance ke CloudWatch Log menggunakan EBCLI, gunakan eb logs 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 .
Streaming log instans menggunakan file konfigurasi
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
CloudWatch Integrasi Elastic Beanstalk dengan Log tidak secara langsung mendukung streaming file log kustom 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 logs-streamtocloudwatch-linux.config
catatan
Contoh tidak bekerja pada platform Windows.
Untuk informasi selengkapnya tentang mengonfigurasi CloudWatch Log, lihat referensi file konfigurasi CloudWatch agen di Panduan CloudWatch Pengguna Amazon.
Pemecahan Masalah integrasi Log CloudWatch
Jika Anda tidak dapat menemukan beberapa log instans lingkungan yang Anda harapkan di CloudWatch Log, Anda dapat menyelidiki masalah umum berikut:
-
IAMPeran Anda tidak memiliki IAM izin 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.