Akses log untuk Classic Load Balancer Anda - Penyeimbang Beban Elastis

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

Akses log untuk Classic Load Balancer Anda

Elastic Load Balancing memberikan log akses yang mengambil informasi mendetail tentang permintaan yang dikirim ke penyeimbang beban Anda. Setiap log berisi informasi, seperti waktu permintaan diterima, alamat IP klien, latensi, jalur permintaan, dan respons server. Anda dapat menggunakan log akses ini untuk menganalisis pola lalu lintas dan untuk memecahkan masalah.

Log akses adalah fitur opsional Elastic Load Balancing yang dinonaktifkan secara default. Setelah mengaktifkan log akses untuk penyeimbang beban, Elastic Load Balancing menangkap log dan menyimpannya di bucket Amazon S3 yang Anda tentukan. Anda dapat menonaktifkan pengelogan akses kapan saja.

Setiap berkas log akses dienkripsi secara otomatis menggunakan SSE-S3 sebelum disimpan dalam bucket S3 Anda dan didekripsi saat Anda mengaksesnya. Anda tidak perlu mengambil tindakan apapun; enkripsi dan dekripsi dilakukan secara transparan. Setiap file log dienkripsi dengan kunci unik, yang dienkripsi dengan kunci KMS yang diputar secara teratur. Untuk informasi selengkapnya, lihat Melindungi data menggunakan enkripsi sisi server dengan kunci enkripsi terkelola Amazon S3 (SSE-S3) di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

Tidak ada biaya tambahan untuk log akses. Anda akan dikenakan biaya penyimpanan untuk Amazon S3, tetapi tidak akan dikenakan biaya untuk bandwidth yang digunakan oleh Elastic Load Balancing untuk mengirim file log ke Amazon S3. Untuk informasi selengkapnya tentang biaya penyimpanan, lihat Harga Amazon S3.

Berkas log akses

Elastic Load Balancing menerbitkan file log untuk setiap node penyeimbang beban pada interval yang Anda tentukan. Anda dapat menentukan interval penerbitan baik 5 menit atau 60 menit ketika Anda mengaktifkan log akses untuk penyeimbang beban Anda. Secara default, Elastic Load Balancing menerbitkan log pada interval 60 menit. Jika interval diatur selama 5 menit, log diterbitkan pada 1:05, 1:10, 1:15, dan seterusnya. Awal pengiriman log tertunda hingga 5 menit jika interval diatur ke 5 menit, dan hingga 15 menit jika interval diatur ke 60 menit. Anda dapat memodifikasi interval penerbitan kapan saja.

Penyeimbang beban dapat mengirimkan beberapa log untuk periode yang sama. Ini biasanya terjadi jika situs memiliki lalu lintas tinggi, beberapa node penyeimbang beban, dan interval penerbitan log pendek.

Nama file log akses menggunakan format berikut:

bucket[/prefix]/AWSLogs/aws-account-id/elasticloadbalancing/region/yyyy/mm/dd/aws-account-id_elasticloadbalancing_region_load-balancer-name_end-time_ip-address_random-string.log
bucket

Nama bucket S3 Anda.

prefix

(Opsional) Awalan (hierarki logis) untuk bucket. Awalan yang Anda tentukan tidak boleh menyertakan stringAWSLogs. Untuk informasi selengkapnya, lihat Mengatur objek menggunakan awalan.

AWSLogs

Kami menambahkan bagian dari nama file dimulai dengan AWSLogs setelah nama bucket dan awalan opsional yang Anda tentukan.

aws-account-id

ID AWS akun pemilik.

region

Wilayah untuk penyeimbang beban dan bucket S3 Anda.

yyyy/mm/dd

Tanggal pengiriman log.

load-balancer-name

Nama penyeimbang beban.

akhir zaman

Tanggal dan waktu interval pengelogan berakhir. Misalnya, waktu akhir 20140215T2340Z berisi entri untuk permintaan yang dibuat antara 23:35 dan 23:40 jika interval penerbitan adalah 5 menit.

alamat ip

Alamat IP simpul penyeimbang beban yang menangani permintaan. Untuk penyeimbang beban internal, ini adalah alamat IP privat.

string acak

String acak yang dihasilkan sistem.

Berikut ini adalah contoh nama file log dengan awalan "my-app“:

s3://my-loadbalancer-logs/my-app/AWSLogs/123456789012/elasticloadbalancing/us-west-2/2018/02/15/123456789012_elasticloadbalancing_us-west-2_my-loadbalancer_20180215T2340Z_172.160.001.192_20sg8hgm.log

Berikut ini adalah contoh nama file log tanpa awalan:

s3://my-loadbalancer-logs/AWSLogs/123456789012/elasticloadbalancing/us-west-2/2018/02/15/123456789012_elasticloadbalancing_us-west-2_my-loadbalancer_20180215T2340Z_172.160.001.192_20sg8hgm.log

Anda dapat menyimpan file log dalam bucket selama yang diinginkan, tetapi Anda juga dapat menentukan aturan siklus hidup Amazon S3 untuk mengarsipkan atau menghapus file log secara otomatis. Untuk informasi selengkapnya, lihat Manajemen siklus hidup objek di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

Entri log akses

Elastic Load Balancing mencatat permintaan yang dikirim ke penyeimbang beban, termasuk permintaan yang tidak pernah berhasil masuk ke instance back-end. Misalnya, jika klien mengirim permintaan yang salah bentuk, atau tidak ada contoh yang sehat untuk merespons, permintaan tersebut masih dicatat.

penting

Permintaan log Elastic Load Balancing berdasarkan upaya terbaik. Sebaiknya gunakan log akses untuk memahami sifat permintaan, bukan sebagai penghitungan lengkap semua permintaan.

Sintaks

Setiap entri log berisi rincian permintaan tunggal yang dibuat untuk penyeimbang beban. Semua bidang dalam entri log dibatasi oleh spasi. Setiap entri dalam file log memiliki format berikut:

timestamp elb client:port backend:port request_processing_time backend_processing_time response_processing_time elb_status_code backend_status_code received_bytes sent_bytes "request" "user_agent" ssl_cipher ssl_protocol

Tabel berikut menjelaskan bidang entri log akses.

Bidang Deskripsi

Waktu

Waktu saat penyeimbang beban menerima permintaan dari klien, dalam format ISO 8601.

elb

Nama penyeimbang beban

client:port

Alamat IP dan port dari klien yang meminta.

backend:port

Alamat IP dan port dari instance terdaftar yang memproses permintaan ini.

Jika penyeimbang beban tidak dapat mengirim permintaan ke instance terdaftar, atau jika instance menutup koneksi sebelum respons dapat dikirim, nilai ini disetel ke. -

Nilai ini juga dapat diatur ke - jika instance terdaftar tidak merespons sebelum batas waktu idle.

request_processing_time

[HTTP listener] Total waktu berlalu, dalam hitungan detik, dari saat penyeimbang beban menerima permintaan hingga saat dikirim ke instance terdaftar.

[Pendengar TCP] Total waktu berlalu, dalam hitungan detik, dari saat penyeimbang beban menerima koneksi TCP/SSL dari klien hingga saat penyeimbang beban mengirimkan byte pertama data ke instance terdaftar.

Nilai ini disetel ke -1 jika penyeimbang beban tidak dapat mengirimkan permintaan ke instance terdaftar. Ini dapat terjadi jika instance terdaftar menutup koneksi sebelum batas waktu idle atau jika klien mengirim permintaan yang salah bentuk. Selain itu, untuk pendengar TCP, ini dapat terjadi jika klien membuat koneksi dengan penyeimbang beban tetapi tidak mengirim data apa pun.

Nilai ini juga dapat diatur ke -1 jika instance terdaftar tidak merespons sebelum batas waktu idle.

backend_processing_time

[HTTP listener] Total waktu berlalu, dalam hitungan detik, dari saat penyeimbang beban mengirim permintaan ke instance terdaftar hingga instance mulai mengirim header respons.

[Pendengar TCP] Total waktu berlalu, dalam hitungan detik, agar penyeimbang beban berhasil membuat koneksi ke instance terdaftar.

Nilai ini disetel ke -1 jika penyeimbang beban tidak dapat mengirimkan permintaan ke instance terdaftar. Ini dapat terjadi jika instance terdaftar menutup koneksi sebelum batas waktu idle atau jika klien mengirim permintaan yang salah bentuk.

Nilai ini juga dapat diatur ke -1 jika instance terdaftar tidak merespons sebelum batas waktu idle.

response_processing_time

[HTTP listener] Total waktu berlalu (dalam detik) dari saat penyeimbang beban menerima header respons dari instance terdaftar hingga mulai mengirim respons ke klien. Ini termasuk waktu antrean di penyeimbang beban dan waktu akuisisi koneksi dari penyeimbang beban ke klien.

[Pendengar TCP] Total waktu berlalu, dalam hitungan detik, dari saat penyeimbang beban menerima byte pertama dari instance terdaftar hingga mulai mengirim respons ke klien.

Nilai ini disetel ke -1 jika penyeimbang beban tidak dapat mengirimkan permintaan ke instance terdaftar. Ini dapat terjadi jika instance terdaftar menutup koneksi sebelum batas waktu idle atau jika klien mengirim permintaan yang salah bentuk.

Nilai ini juga dapat diatur ke -1 jika instance terdaftar tidak merespons sebelum batas waktu idle.

elb_status_code

[HTTP listener] Kode status respons dari penyeimbang beban.

backend_status_code

[HTTP listener] Kode status respons dari instance terdaftar.

received_bytes

Ukuran permintaan dalam byte, diterima dari klien (peminta).

[HTTP listener] Nilainya mencakup badan permintaan tetapi bukan header.

[TCP listener] Nilai termasuk isi permintaan dan header.

sent_bytes

Ukuran respons dalam byte, dikirim ke klien (peminta).

[HTTP listener] Nilainya mencakup badan respons tetapi bukan header.

[TCP listener] Nilai termasuk isi permintaan dan header.

request

Baris permintaan dari klien tertutup tanda kutip ganda dan dicatat dalam format berikut: Metode HTTP + Protokol: //Host header: port+Path+versi HTTP. Penyeimbang beban mempertahankan URL yang dikirim oleh klien, sebagaimana adanya, saat mencatat URI permintaan. Ini tidak mengatur jenis konten untuk berkas log akses. Saat Anda memproses bidang ini, pertimbangkan bagaimana klien mengirim URL.

[TCP listener] URL adalah tiga tanda hubung, masing-masing dipisahkan oleh spasi, dan diakhiri dengan spasi (“- - - “).

user_agent

[HTTP/HTTPS listener] String User-Agent yang mengidentifikasi klien yang menghasilkan permintaan. String-nya terdiri dari satu atau beberapa pengidentifikasi produk, produk[/versi]. Jika string lebih panjang dari 8 KB, string akan terpotong.

ssl_cipher

[HTTPS/SSL listener] Cipher SSL. Nilai ini dicatat hanya jika koneksi SSL/TLS yang masuk dibuat setelah negosiasi berhasil. Jika tidak, nilainya diatur ke-.

ssl_protocol

[HTTPS/SSL listener] Protokol SSL. Nilai ini dicatat hanya jika koneksi SSL/TLS yang masuk dibuat setelah negosiasi berhasil. Jika tidak, nilainya diatur ke-.

Contoh

Contoh entri HTTP

Berikut ini adalah contoh entri log untuk listener HTTP (port 80 ke port 80):

2015-05-13T23:39:43.945958Z my-loadbalancer 192.168.131.39:2817 10.0.0.1:80 0.000073 0.001048 0.000057 200 200 0 29 "GET http://www.example.com:80/ HTTP/1.1" "curl/7.38.0" - -
Contoh entri HTTPS

Berikut ini adalah contoh entri log untuk listener HTTPS (port 443 ke port 80):

2015-05-13T23:39:43.945958Z my-loadbalancer 192.168.131.39:2817 10.0.0.1:80 0.000086 0.001048 0.001337 200 200 0 57 "GET https://www.example.com:443/ HTTP/1.1" "curl/7.38.0" DHE-RSA-AES128-SHA TLSv1.2
Contoh entri TCP

Berikut ini adalah contoh entri log untuk pendengar TCP (port 8080 ke port 80):

2015-05-13T23:39:43.945958Z my-loadbalancer 192.168.131.39:2817 10.0.0.1:80 0.001069 0.000028 0.000041 - - 82 305 "- - - " "-" - -
Contoh entri SSL

Berikut ini adalah contoh entri log untuk pendengar SSL (port 8443 ke port 80):

2015-05-13T23:39:43.945958Z my-loadbalancer 192.168.131.39:2817 10.0.0.1:80 0.001065 0.000015 0.000023 - - 57 502 "- - - " "-" ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2

Memproses log akses

Jika ada banyak permintaan di situs web Anda, penyeimbang beban Anda dapat menghasilkan berkas log dengan gigabyte data. Anda mungkin tidak dapat memproses data dalam jumlah besar menggunakan line-by-line pemrosesan. Oleh karena itu, Anda mungkin harus menggunakan alat analisis yang memberikan solusi pemrosesan paralel. Misalnya, Anda dapat menggunakan alat analisis berikut untuk menganalisis dan memproses log akses: