Logging
Anda dapat mengaktifkan, menonaktifkan, dan melihat log untuk layanan backend Load Balancer Aplikasi eksternal.
Anda mengaktifkan atau menonaktifkan logging untuk setiap layanan backend. Anda dapat mengonfigurasi apakah akan mencatat log semua permintaan atau fraksi sampel acak.
Anda harus memastikan bahwa Anda tidak memiliki pengecualian log yang berlaku untuk
Load Balancer Aplikasi eksternal. Untuk mengetahui informasi tentang cara memverifikasi bahwa log Cloud HTTP Load
Balancer
diizinkan, lihat
Filter pengecualian.
Pengambilan sampel dan pengumpulan log
Permintaan (dan respons yang sesuai) yang ditangani oleh instance virtual machine (VM) backend load balancer diambil sampelnya. Permintaan yang diambil sampelnya ini kemudian
diproses untuk membuat log. Anda mengontrol fraksi permintaan yang
dipancarkan sebagai entri log sesuai dengan
parameter logConfig.sampleRate
.
Jika logConfig.sampleRate
adalah 1.0
(100%), berarti log dibuat untuk semua permintaan dan ditulis ke Cloud Logging.
Kolom opsional
Data log berisi kolom wajib diisi dan kolom opsional. Bagian Apa yang dicatat mencantumkan kolom mana yang bersifat opsional dan mana yang wajib diisi. Semua kolom wajib diisi selalu disertakan. Anda dapat menyesuaikan kolom opsional yang ingin disimpan.
Jika Anda memilih sertakan semua opsional, semua kolom opsional dalam format data log disertakan dalam log. Saat kolom opsional baru ditambahkan ke format data, log akan otomatis menyertakan kolom baru.
Jika Anda memilih kecualikan semua opsional, semua kolom opsional akan dihapus.
Jika memilih kustom, Anda dapat menentukan kolom opsional yang ingin disertakan, seperti
tls.protocol,tls.cipher,orca_load_report.cpu_utilization,orca_load_report.mem_utilization
.
Untuk mengetahui informasi tentang cara menyesuaikan kolom opsional, lihat Mengaktifkan logging di layanan backend baru.
Mengaktifkan logging di layanan backend baru
Konsol
Di konsol Trusted Cloud , buka halaman Load Balancing.
Klik nama load balancer Anda.
Klik
Edit.Klik Backend Configuration.
Pilih Create a backend service.
Lengkapi kolom layanan backend yang wajib diisi.
Di bagian Logging, centang kotak Enable logging.
Tetapkan pecahan Sample rate. Anda dapat menetapkan angka dari
0.0
hingga1.0
, dengan0.0
berarti tidak ada permintaan yang dicatat dan1.0
berarti 100% permintaan dicatat. Nilai defaultnya adalah1.0
.Opsional: Untuk menyertakan semua kolom opsional dalam log, di bagian Kolom opsional, klik Sertakan semua kolom opsional.
Untuk menyelesaikan pengeditan layanan backend, klik Update.
Untuk menyelesaikan pengeditan load balancer, klik Update.
gcloud: Mode regional
Buat layanan backend dan aktifkan logging menggunakan perintah
gcloud compute backend-services create
.
gcloud compute backend-services create BACKEND_SERVICE \ --region=REGION \ --enable-logging \ --logging-sample-rate=VALUE \ --load-balancing-scheme=EXTERNAL_MANAGED \ --logging-optional=LOGGING_OPTIONAL_MODE \ --logging-optional-fields=OPTIONAL_FIELDS
di mana
--region
menunjukkan bahwa layanan backend bersifat regional. Gunakan kolom ini untuk layanan backend yang digunakan dengan Load Balancer Aplikasi eksternal regional.--enable-logging
mengaktifkan logging untuk layanan backend tersebut.--logging-sample-rate
memungkinkan Anda menentukan nilai dari0.0
hingga1.0
, dengan0.0
berarti tidak ada permintaan yang dicatat ke dalam log dan1.0
berarti 100% permintaan dicatat ke dalam log. Kolom ini hanya bermakna dengan parameter--enable-logging
. Mengaktifkan logging, tetapi menetapkan frekuensi sampling ke0.0
sama dengan menonaktifkan logging. Nilai default-nya adalah1.0
.--logging-optional
memungkinkan Anda menentukan kolom opsional yang ingin disertakan dalam log:INCLUDE_ALL_OPTIONAL
untuk menyertakan semua kolom opsional.EXCLUDE_ALL_OPTIONAL
(default) untuk mengecualikan semua kolom opsional.CUSTOM
untuk menyertakan daftar kustom kolom opsional yang Anda tentukan diOPTIONAL_FIELDS
.
--logging-optional-fields
memungkinkan Anda menentukan daftar kolom opsional yang dipisahkan koma yang ingin Anda sertakan dalam log.Misalnya,
tls.protocol,tls.cipher
hanya dapat disetel jikaLOGGING_OPTIONAL_MODE
disetel keCUSTOM
. Jika Anda menggunakan metrik kustom dan ingin mencatat elemen laporan pemuatan ORCA, Anda menetapkanLOGGING_OPTIONAL_MODE
keCUSTOM
dan menentukan elemen mana yang harus dicatat dalam kolomOPTIONAL_FIELDS
. Misalnya,orca_load_report.cpu_utilization,orca_load_report.mem_utilization
.
Mengaktifkan logging pada layanan backend yang ada
Konsol
Di konsol Trusted Cloud , buka halaman Load Balancing.
Klik nama load balancer Anda.
Klik
Edit.Klik Backend Configuration.
Klik
Edit di samping layanan backend Anda.Di bagian Logging, centang kotak Enable logging.
Di kolom Frekuensi sampling, tetapkan probabilitas sampling. Anda dapat menetapkan angka dari
0.0
hingga1.0
, dengan0.0
berarti tidak ada permintaan yang dicatat ke dalam log dan1.0
berarti 100% permintaan dicatat ke dalam log. Nilai default-nya adalah1.0
.Opsional: Untuk menyertakan semua kolom opsional dalam log, di bagian Kolom opsional, klik Sertakan semua kolom opsional.
Untuk menyelesaikan pengeditan layanan backend, klik Update.
Untuk menyelesaikan pengeditan load balancer, klik Update.
gcloud: Mode regional
Aktifkan logging pada layanan backend yang ada dengan
perintah gcloud compute backend-services update
.
gcloud compute backend-services update BACKEND_SERVICE \ --region=REGION \ --enable-logging \ --logging-sample-rate=VALUE \ --logging-optional=LOGGING_OPTIONAL_MODE \ --logging-optional-fields=OPTIONAL_FIELDS
di mana
--region
menunjukkan bahwa layanan backend bersifat regional. Gunakan kolom ini untuk layanan backend yang digunakan dengan Load Balancer Aplikasi eksternal regional.--enable-logging
mengaktifkan logging untuk layanan backend tersebut.--logging-sample-rate
memungkinkan Anda menentukan nilai dari0.0
hingga1.0
, dengan0.0
berarti tidak ada permintaan yang dicatat ke dalam log dan1.0
berarti 100% permintaan dicatat ke dalam log. Hanya berguna dengan parameter--enable-logging
. Mengaktifkan logging, tetapi menetapkan frekuensi sampling ke0.0
sama dengan menonaktifkan logging. Nilai default-nya adalah1.0
.--logging-optional
memungkinkan Anda menentukan kolom opsional yang ingin disertakan dalam log.INCLUDE_ALL_OPTIONAL
untuk menyertakan semua kolom opsional.EXCLUDE_ALL_OPTIONAL
(default) untuk mengecualikan semua kolom opsional.CUSTOM
untuk menyertakan daftar kustom kolom opsional yang Anda tentukan diOPTIONAL_FIELDS
.
--logging-optional-fields
memungkinkan Anda menentukan daftar kolom opsional yang dipisahkan koma yang ingin Anda sertakan dalam log.Misalnya,
tls.protocol,tls.cipher
. Hanya dapat disetel jikaLOGGING_OPTIONAL_MODE
disetel keCUSTOM
.
Menonaktifkan atau mengubah logging pada layanan backend yang ada
Konsol
Di konsol Trusted Cloud , buka halaman Load Balancing.
Klik nama load balancer Anda.
Klik
Edit.Klik Backend Configuration.
Klik
Edit di samping layanan backend Anda.Untuk menonaktifkan logging sepenuhnya, di bagian Logging, hapus centang pada kotak Enable logging.
Jika Anda mengaktifkan logging, Anda dapat menetapkan fraksi Frekuensi sampling yang berbeda. Anda dapat menetapkan angka dari
0.0
hingga1.0
, dengan0.0
berarti tidak ada permintaan yang dicatat dan1.0
berarti 100% permintaan dicatat. Nilai defaultnya adalah1.0
. Misalnya,0.2
berarti 20% permintaan yang diambil sampelnya menghasilkan log.Untuk menyelesaikan pengeditan layanan backend, klik Update.
Untuk menyelesaikan pengeditan load balancer, klik Update.
gcloud: Mode regional
Nonaktifkan logging di layanan backend dengan perintah
gcloud compute backend-services update
.
Menonaktifkan logging sepenuhnya
gcloud compute backend-services update BACKEND_SERVICE \ --region=REGION \ --no-enable-logging
di mana
--region
menunjukkan bahwa layanan backend bersifat regional. Gunakan kolom ini untuk layanan backend yang digunakan dengan Load Balancer Aplikasi eksternal regional.--no-enable-logging
menonaktifkan logging untuk layanan backend tersebut.
Mengaktifkan kolom opsional logging pada layanan backend yang ada
gcloud compute backend-services update BACKEND_SERVICE \ --global \ --enable-logging \ --logging-sample-rate=VALUE \ --logging-optional=LOGGING_OPTIONAL_MODE \ --logging-optional-fields=OPTIONAL_FIELDS
di mana
--logging-sample-rate
memungkinkan Anda menentukan nilai dari0.0
hingga1.0
, dengan0.0
berarti tidak ada permintaan yang dicatat ke dalam log dan1.0
berarti 100% permintaan dicatat ke dalam log. Hanya berguna dengan parameter--enable-logging
. Mengaktifkan logging, tetapi menetapkan frekuensi sampling ke0.0
sama dengan menonaktifkan logging. Nilai default-nya adalah1.0
.--logging-optional
memungkinkan Anda menentukan kolom opsional yang ingin disertakan dalam log:INCLUDE_ALL_OPTIONAL
untuk menyertakan semua kolom opsional.EXCLUDE_ALL_OPTIONAL
(default) untuk mengecualikan semua kolom opsional.CUSTOM
untuk menyertakan daftar kustom kolom opsional yang Anda tentukan diOPTIONAL_FIELDS
.
--logging-optional-fields
memungkinkan Anda menentukan daftar kolom opsional yang dipisahkan koma yang ingin Anda sertakan dalam log.Misalnya,
tls.protocol,tls.cipher
hanya dapat disetel jikaLOGGING_OPTIONAL_MODE
disetel keCUSTOM
. Jika Anda menggunakan metrik kustom dan ingin mencatat elemen laporan pemuatan ORCA, Anda menetapkanLOGGING_OPTIONAL_MODE
keCUSTOM
dan menentukan elemen mana yang harus dicatat dalam kolomOPTIONAL_FIELDS
. Misalnya,orca_load_report.cpu_utilization,orca_load_report.mem_utilization
.
Memperbarui mode opsional logging dari CUSTOM ke mode lainnya
gcloud compute backend-services update BACKEND_SERVICE \ --global \ --enable-logging \ --logging-sample-rate=VALUE \ --logging-optional=LOGGING_OPTIONAL_MODE \ --logging-optional-fields=
di mana
--logging-optional
memungkinkan Anda menentukan kolom opsional yang ingin disertakan dalam log:INCLUDE_ALL_OPTIONAL
untuk menyertakan semua kolom opsional.EXCLUDE_ALL_OPTIONAL
(default) untuk mengecualikan semua kolom opsional.
--logging-optional-fields
harus dikonfigurasi secara eksplisit seperti yang ditunjukkan untuk menghapus kolomCUSTOM
yang ada. API tidak memungkinkan Anda menggabungkan mode non-CUSTOM
dengan kolomCUSTOM
.
Mengubah frekuensi sampel logging
gcloud compute backend-services update BACKEND_SERVICE \ --global | --region=REGION \ --logging-sample-rate=VALUE
Melihat log
Log HTTP(S) diindeks terlebih dahulu berdasarkan aturan penerusan, lalu berdasarkan peta URL.
Untuk melihat log, buka halaman Logs Explorer:
Untuk melihat semua log, di menu filter Resource, pilih Cloud HTTP Load Balancer > All forwarding rules.
Untuk melihat log untuk satu aturan penerusan, pilih satu nama aturan penerusan.
Untuk melihat log satu peta URL, pilih aturan penerusan, lalu pilih peta URL.
Kolom log berjenis boolean biasanya hanya muncul jika memiliki nilai
true
. Jika kolom boolean memiliki nilai false
, kolom tersebut akan dihilangkan dari
log.
Encoding UTF-8 diterapkan
untuk kolom log. Karakter yang bukan karakter UTF-8
akan diganti dengan tanda tanya.
Untuk Load Balancer Aplikasi eksternal regional, Anda dapat mengekspor
metrik berbasis log menggunakan
log resource (resource.type="http_external_regional_lb_rule"
).
Apa itu log?
Entri log Load Balancer Aplikasi Eksternal berisi informasi yang berguna untuk memantau dan men-debug traffic HTTP(S) Anda. Data log berisi kolom wajib diisi, yang merupakan kolom default dari setiap data log.
Data log berisi kolom opsional yang menambahkan informasi tambahan tentang traffic HTTP(S) Anda. Kolom opsional dapat dihilangkan untuk menghemat biaya penyimpanan.
Beberapa kolom log menggunakan format multi-kolom, dengan lebih dari satu bagian data dalam kolom tertentu. Misalnya, kolomtls
memiliki format TlsInfo
, yang berisi protokol TLS dan cipher TLS dalam satu kolom.
Kolom multi-kolom ini dijelaskan dalam tabel format data berikut.
Kolom | Format kolom | Jenis kolom: Wajib Diisi atau Opsional | Deskripsi |
---|---|---|---|
severity insertID timestamp logName |
LogEntry | Wajib | Kolom umum seperti yang dijelaskan dalam entri log. |
httpRequest | HttpRequest | Wajib | Protokol umum untuk mencatat permintaan HTTP. |
resource | MonitoredResource | Wajib | MonitoredResource adalah jenis resource yang terkait dengan entri log. MonitoredResourceDescriptor
mendeskripsikan skema objek |
jsonPayload | object (format Struct) | Wajib | Payload entri log yang dinyatakan sebagai objek JSON. Objek
JSON berisi kolom berikut:
|
string | Wajib | Kolom Kolom tidak dicatat jika nilainya berupa string kosong. Hal ini dapat
terjadi jika proxy atau backend tidak menampilkan kode status atau
kode status yang ditampilkan bukan Kolom
|
|
AuthzPolicyInfo | Wajib | Kolom authzPolicyInfo menyimpan informasi tentang
hasil kebijakan otorisasi. Informasi ini hanya tersedia untuk
Load Balancer Aplikasi eksternal regional yang telah mengaktifkan
kebijakan otorisasi. Untuk mengetahui informasi selengkapnya, lihat
apa yang dicatat untuk kebijakan otorisasi. |
|
TlsInfo | Opsional | Kolom Gunakan parameter
Anda tidak dapat menetapkan |
|
MtlsInfo | Opsional | Kolom |
|
string | Opsional | Kolom backendNetworkName menentukan
jaringan VPC backend.
|
|
OrcaLoadReport | Opsional | Kolom Gunakan parameter
Anda juga dapat menyetel |
Format kolom TlsInfo
Kolom | Format kolom | Jenis kolom: Wajib Diisi atau Opsional | Deskripsi |
---|---|---|---|
protokol | string | Opsional | Protokol TLS yang digunakan klien untuk membuat koneksi dengan
load balancer. Nilai yang mungkin adalah TLSv1 ,
TLSv1.1 , TLSv1.2 , TLSv1.3 ,
atau QUIC .
Nilai ini disetel ke NULL jika klien tidak menggunakan enkripsi TLS/SSL.
|
cipher | string | Opsional | Cipher TLS yang digunakan klien untuk membuat koneksi dengan load balancer. Nilai ini ditetapkan ke NULL jika klien tidak
menggunakan HTTP(S) atau klien tidak menggunakan enkripsi TLS/SSL.
|
Format kolom MtlsInfo
Kolom | Format kolom | Jenis kolom: Wajib Diisi atau Opsional | Deskripsi |
---|---|---|---|
clientCertPresent | bool | Opsional |
|
clientCertChainVerified | bool | Opsional |
|
clientCertError | string | Opsional | String yang telah ditentukan sebelumnya yang merepresentasikan kondisi error. Untuk informasi selengkapnya tentang string error, lihat Mode validasi klien. |
clientCertSha256Fingerprint | string | Opsional | Sidik jari SHA-256 bersandi Base64 dari sertifikat klien. |
clientCertSerialNumber | string | Opsional | Nomor seri sertifikat klien.
Jika nomor seri lebih panjang dari 50 byte, string
|
clientCertValidStartTime | string | Opsional | Stempel waktu (format string tanggal RFC 3339) sebelum sertifikat klien tidak valid.
Contoh, |
clientCertValidEndTime | string | Opsional | Stempel waktu (format string tanggal RFC 3339) setelah sertifikat klien tidak valid.
Contoh, |
clientCertSpiffeId | string | Opsional | ID SPIFFE dari kolom nama alternatif subjek (SAN). Jika nilai tidak valid atau melebihi 2.048 byte, SPIFFE ID akan disetel ke string kosong. Jika SPIFFE ID lebih panjang dari 2048 byte, string
|
clientCertUriSans | string | Opsional | Daftar ekstensi SAN berenkode Base64 yang dipisahkan koma dan berjenis
URI. Ekstensi SAN diekstrak dari sertifikat klien.
SPIFFE ID tidak
disertakan dalam kolom Jika kolom |
clientCertDnsnameSans | string | Opsional | Daftar ekstensi SAN yang dienkode Base64 dan dipisahkan koma dengan jenis DNSName. Ekstensi SAN diekstrak dari sertifikat klien. Jika kolom |
clientCertIssuerDn | string | Opsional | Kolom Penerbit lengkap yang dienkode base64 dari sertifikat. Jika kolom |
clientCertSubjectDn | string | Opsional | Kolom Subjek lengkap berenkode Base64 dari sertifikat. Jika kolom |
clientCertLeaf | string | Opsional | Sertifikat leaf klien untuk koneksi mTLS yang sudah dibuat dengan sertifikat yang lulus validasi. Encoding sertifikat sesuai dengan RFC 9440: sertifikat DER biner dienkode menggunakan Base64 (tanpa jeda baris, spasi, atau karakter lain di luar alfabet Base64) dan dibatasi dengan titik dua di kedua sisinya. Jika |
clientCertChain | string | Opsional | Daftar sertifikat yang dibatasi koma, dalam urutan TLS standar, dari rantai sertifikat klien untuk koneksi mTLS yang sudah dibuat dan sertifikat klien lulus validasi, tidak termasuk sertifikat leaf. Encoding sertifikat sesuai dengan RFC 9440. Jika ukuran gabungan |
Label resource
Tabel berikut mencantumkan label resource untuk
resource.type="http_external_regional_lb_rule"
.
Kolom | Jenis | Deskripsi |
---|---|---|
backend_name |
string | Nama grup instance backend atau NEG. Namun, labelnya kosong untuk koneksi TLS yang gagal. |
backend_scope |
string |
Cakupan backend (nama zona atau nama wilayah). Mungkin
UNKNOWN jika backend_name tidak diketahui.
|
backend_scope_type |
string |
Cakupan backend (REGION /ZONE ). Mungkin
UNKNOWN setiap kali backend_name tidak diketahui.
|
backend_target_name |
string | Nama backend yang dipilih untuk menangani permintaan, berdasarkan aturan jalur peta URL atau aturan rute yang cocok dengan permintaan. |
backend_target_type |
string |
Jenis target backend. Dapat berupa BACKEND_SERVICE , atau
UNKNOWN ditampilkan jika backend tidak ditetapkan.
|
backend_type |
string |
Jenis grup backend. Dapat berupa INSTANCE_GROUP ,
NETWORK_ENDPOINT_GROUP , atau UNKNOWN ditampilkan
jika backend tidak ditetapkan.
|
forwarding_rule_name |
string | Nama objek aturan penerusan. |
matched_url_path_rule |
string |
Aturan jalur peta URL atau aturan rute yang dikonfigurasi sebagai bagian dari kunci peta URL. Dapat berupa UNMATCHED atau UNKNOWN sebagai penggantian.
|
network_name |
string | Nama jaringan VPC load balancer. |
project_id |
string | ID project Trusted Cloud yang terkait dengan resource ini. |
region |
string | Region tempat load balancer ditentukan. |
target_proxy_name |
string | Nama objek proxy target yang dirujuk oleh aturan penerusan. |
url_map_name |
string | Nama objek peta URL yang dikonfigurasi untuk memilih layanan backend.
Untuk koneksi TLS yang gagal,
url_map_name kosong. |
Kolom error proxyStatus
Kolom proxyStatus
berisi string yang menentukan alasan load balancer menampilkan error. Ada dua bagian di kolom proxyStatus
, yaitu proxyStatus error
dan proxyStatus details
.
Bagian ini menjelaskan string yang didukung di kolom proxyStatus error
.
Kolom proxyStatus error berlaku untuk load balancer berikut:
- Load Balancer Aplikasi eksternal regional
- Load Balancer Aplikasi internal lintas region
- Load Balancer Aplikasi internal regional
Error proxyStatus | Deskripsi | Kode respons pendamping umum |
---|---|---|
destination_unavailable
|
Load balancer menganggap backend tidak tersedia. Misalnya, upaya komunikasi dengan backend baru-baru ini gagal, atau pemeriksaan kondisi mungkin menghasilkan kegagalan. | 500 , 503
|
connection_timeout
|
Upaya load balancer untuk membuka koneksi ke backend telah habis waktunya. | 504
|
connection_terminated
|
Koneksi load balancer ke backend berakhir sebelum respons lengkap diterima.
|
0 , 502 , 503
|
connection_refused
|
Koneksi load balancer ke backend ditolak. | 502 , 503
|
connection_limit_reached
|
Load balancer dikonfigurasi untuk membatasi jumlah koneksi ke backend, dan batas tersebut telah terlampaui.
|
502 , 503
|
destination_not_found
|
Load balancer tidak dapat menentukan backend yang sesuai untuk digunakan untuk permintaan ini. Misalnya, backend mungkin tidak dikonfigurasi. | 500 , 404
|
dns_error
|
Load balancer mengalami error DNS saat mencoba menemukan alamat IP untuk nama host backend. | 502 , 503
|
proxy_configuration_error
|
Load balancer mengalami error konfigurasi internal. | 500
|
proxy_internal_error
|
Load balancer mengalami error internal. Error ini dapat terjadi karena proxy yang mengelola koneksi dijadwalkan untuk dimulai ulang. | 0 , 500 , 502
|
proxy_internal_response
|
Load balancer membuat respons tanpa mencoba terhubung ke backend. | Kode status apa pun, bergantung pada jenis masalahnya. Misalnya, kode status
410 berarti backend tidak tersedia karena
keterlambatan pembayaran.
|
http_response_timeout
|
Load balancer mencapai batas waktu tunggu layanan backend yang dikonfigurasi saat menunggu respons lengkap dari backend. | 504 , 408
|
http_request_error
|
Load balancer mengalami error HTTP 4xx, yang menunjukkan masalah pada permintaan klien. | 400 , 403 , 405 , 406 , 408 , 411 , 413 , 414 , 415 , 416 , 417 , atau 429
|
http_protocol_error
|
Load balancer mengalami error protokol HTTP saat berkomunikasi dengan backend. | 502
|
tls_protocol_error
|
Load balancer mengalami error TLS selama handshake TLS. | 0
|
tls_certificate_error
|
Load balancer mengalami error pada saat memverifikasi sertifikat yang diberikan oleh server atau oleh klien saat mTLS diaktifkan. | 0
|
tls_alert_received
|
Load balancer mengalami error fatal TLS selama handshake TLS. | 0
|
Kolom detail proxyStatus
Kolom proxyStatus
berisi string yang menentukan alasan load balancer menampilkan error. Ada dua bagian di kolom proxyStatus
, yaitu proxyStatus error
dan proxyStatus details
.
Kolom proxyStatus details
bersifat opsional dan hanya ditampilkan jika
informasi tambahan tersedia.
Bagian ini menjelaskan string yang didukung di kolom
proxyStatus details
.
Kolom proxyStatus details berlaku untuk load balancer berikut:
- Load Balancer Aplikasi eksternal regional
- Load Balancer Aplikasi internal regional
- Load Balancer Aplikasi internal lintas region
Detail proxyStatus | Deskripsi | Kode status respons pendamping umum |
---|---|---|
client_disconnected_before_any_response
|
Koneksi ke klien terputus sebelum load balancer mengirim respons apa pun. | 0 |
backend_connection_closed
|
Backend menutup koneksinya ke load balancer secara tidak terduga. Hal ini dapat terjadi jika load balancer mengirim traffic ke entity lain, seperti aplikasi pihak ketiga yang memiliki waktu tunggu TCP lebih pendek daripada waktu tunggu 10 menit (600 detik) load balancer. | 502
|
failed_to_connect_to_backend
|
Load balancer gagal terhubung ke backend. Kegagalan ini mencakup waktu tunggu habis selama fase koneksi. | 503
|
failed_to_pick_backend
|
Load balancer gagal memilih backend yang responsif untuk menangani permintaan. | 502
|
response_sent_by_backend
|
Permintaan HTTP berhasil di-proxy ke backend, dan respons ditampilkan oleh backend. | Kode status HTTP ditetapkan oleh software yang berjalan di backend. |
client_timed_out
|
Koneksi antara load balancer dan klien melampaui waktu tunggu tidak ada aktivitas. Untuk mengetahui informasi selengkapnya tentang Load Balancer Aplikasi eksternal regional, lihat Waktu tunggu keep-alive HTTP klien. Untuk mengetahui informasi selengkapnya tentang Load Balancer Aplikasi internal, lihat Waktu tunggu tetap aktif HTTP klien. |
0 , 408
|
backend_timeout
|
Waktu tunggu backend habis saat menghasilkan respons. |
502
|
http_protocol_error_from_backend_response
|
Respons backend berisi error protokol HTTP. | 501 , 502
|
http_protocol_error_from_request
|
Permintaan klien berisi error protokol HTTP. | 400 , 503
|
http_version_not_supported
|
Versi protokol HTTP tidak didukung. Hanya HTTP 1.1 dan 2.0 yang didukung. | 400
|
handled_by_identity_aware_proxy
|
Respons ini dihasilkan oleh Identity-Aware Proxy (IAP) saat memverifikasi identitas klien sebelum mengizinkan akses. | 200 , 302 , 400 , 401 , 403 , 500 , 502
|
invalid_request_headers
|
Header permintaan HTTP yang diterima dari klien berisi setidaknya satu karakter yang tidak diizinkan berdasarkan spesifikasi HTTP yang berlaku. Misalnya, nama kolom header yang menyertakan tanda petik ganda
( Untuk informasi selengkapnya, lihat: |
400 , 404
|
ip_detection_failed
|
Alamat IP asli tidak dapat dideteksi. | Kode status apa pun yang mungkin terjadi, bergantung pada sifat kegagalan. Nilai
harus dari 400 hingga 599 .
|
request_body_too_large
|
Isi permintaan HTTP melebihi panjang maksimum yang didukung oleh load balancer. | 413 , 507
|
request_header_timeout
|
Header permintaan mengalami waktu tunggu karena load balancer tidak menerima permintaan lengkap dalam waktu 5 detik. | 408 , 504
|
denied_by_security_policy
|
Load balancer menolak permintaan ini karena kebijakan keamanan Google Cloud Armor. | 403
|
throttled_by_security_policy
|
Permintaan diblokir oleh aturan pembatasan Cloud Armor. | 429
|
client_cert_chain_invalid_eku
|
Sertifikat klien atau penerbitnya tidak memiliki penggunaan kunci yang diperluas yang mencakup clientAuth. Untuk mengetahui informasi selengkapnya, lihat Error yang dicatat untuk koneksi yang ditutup. | 0
|
client_cert_chain_max_name_constraints_exceeded
|
Intermediate certificate yang diberikan untuk validasi memiliki lebih dari 10 batasan nama. Untuk mengetahui informasi selengkapnya, lihat Error yang dicatat untuk koneksi yang ditutup. | 0
|
client_cert_invalid_rsa_key_size
|
Sertifikat leaf atau perantara klien memiliki ukuran kunci RSA yang tidak valid. Untuk mengetahui informasi selengkapnya, lihat Error yang dicatat untuk koneksi yang ditutup. | 0
|
client_cert_not_provided
|
Klien tidak memberikan sertifikat yang diminta selama handshake. Untuk mengetahui informasi selengkapnya, lihat Error yang dicatat untuk koneksi yang ditutup. | 0
|
client_cert_pki_too_large
|
PKI yang akan digunakan untuk validasi memiliki lebih dari tiga sertifikat perantara yang memiliki Subject dan Subject Public Key Info yang sama.
Untuk mengetahui informasi selengkapnya, lihat Error yang dicatat untuk koneksi yang ditutup.
|
0
|
client_cert_unsupported_elliptic_curve_key
|
Sertifikat klien atau perantara menggunakan kurva elips yang tidak didukung. Untuk mengetahui informasi selengkapnya, lihat Error yang dicatat untuk koneksi yang ditutup. | 0
|
client_cert_unsupported_key_algorithm
|
Sertifikat klien atau perantara menggunakan algoritma non-RSA atau non-ECDSA. Untuk mengetahui informasi selengkapnya, lihat Error yang dicatat untuk koneksi yang ditutup. | 0
|
client_cert_validation_failed
|
Sertifikat klien gagal divalidasi dengan TrustConfig .
Untuk mengetahui informasi selengkapnya, lihat Error yang dicatat untuk koneksi yang ditutup.
|
0
|
client_cert_validation_not_performed
|
Anda telah mengonfigurasi TLS bersama tanpa menyiapkan TrustConfig .
Untuk mengetahui informasi selengkapnya, lihat Error yang dicatat untuk koneksi yang ditutup.
|
0
|
client_cert_validation_search_limit_exceeded
|
Batas kedalaman atau iterasi tercapai saat mencoba memvalidasi rantai sertifikat. Untuk mengetahui informasi selengkapnya, lihat Error yang dicatat untuk koneksi yang ditutup. | 0 |
client_cert_validation_timed_out
|
Batas waktu terlampaui (200 md) saat memvalidasi rantai sertifikat. Untuk mengetahui informasi selengkapnya, lihat Error yang dicatat untuk koneksi yang ditutup. | 0
|
tls_version_not_supported
|
Versi protokol TLS dikenali, tetapi tidak didukung. Error mengakibatkan koneksi TLS ditutup. | 0
|
unknown_psk_identity
|
Server mengirimkan error ini saat pembentukan kunci PSK diperlukan, tetapi klien tidak memberikan identitas PSK yang dapat diterima. Error ini akan menutup koneksi TLS. | 0
|
no_application_protocol
|
Dikirim oleh server saat ekstensi "application_layer_protocol_negotiation" klien hanya mengiklankan protokol yang tidak didukung oleh server. Lihat Ekstensi negosiasi protokol lapisan aplikasi TLS. Error ini menyebabkan koneksi TLS ditutup. | 0
|
no_certificate
|
Sertifikat tidak ditemukan. Error ini menyebabkan koneksi TLS ditutup. | 0
|
bad_certificate
|
Sertifikat tidak valid, atau berisi tanda tangan yang tidak dapat diverifikasi. Error ini menyebabkan koneksi TLS ditutup. | 0
|
unsupported_certificate
|
Sertifikat memiliki jenis yang tidak didukung. Error ini menyebabkan koneksi TLS ditutup. | 0
|
certificate_revoked
|
Sertifikat dicabut oleh penandatangannya. Error ini menyebabkan koneksi TLS ditutup. | 0
|
certificate_expired
|
Masa berlaku sertifikat telah berakhir atau sertifikat tidak valid. Error ini menyebabkan koneksi TLS ditutup. | 0
|
certificate_unknown
|
Beberapa masalah yang tidak ditentukan muncul saat memproses sertifikat, sehingga sertifikat tersebut tidak dapat diterima. Error ini menyebabkan koneksi TLS ditutup. | 0
|
unknown_ca
|
Rantai sertifikat atau rantai parsial yang valid diterima, tetapi sertifikat tidak dapat diterima karena sertifikat CA tidak dapat ditemukan atau dicocokkan dengan anchor tepercaya yang diketahui. Error ini menyebabkan koneksi TLS ditutup. | 0
|
unexpected_message
|
Pesan yang tidak pantas, seperti pesan handshake yang salah atau data aplikasi yang diterima sebelum waktunya. Error ini menyebabkan koneksi TLS ditutup. | 0
|
bad_record_mac
|
Menerima rekaman yang tidak dapat dilindungi. Error ini mengakibatkan koneksi TLS ditutup. | 0
|
record_overflow
|
Rekaman TLSCiphertext diterima dengan panjang lebih dari 214+256 byte, atau rekaman didekripsi menjadi rekaman TLSPlaintext dengan lebih dari 214 byte (atau batas lain yang dinegosiasikan). Error ini menyebabkan koneksi TLS
ditutup.
|
0
|
handshake_failure
|
Tidak dapat menegosiasikan serangkaian parameter keamanan yang dapat diterima mengingat opsi yang tersedia. Error ini menyebabkan koneksi TLS ditutup. | 0
|
illegal_parameter
|
Kolom dalam handshake salah atau tidak konsisten dengan kolom lainnya. Error ini menyebabkan koneksi TLS ditutup. | 0
|
access_denied
|
Sertifikat atau PSK yang valid diterima, tetapi saat kontrol akses diterapkan, klien tidak melanjutkan negosiasi. Error ini menyebabkan koneksi TLS ditutup. | 0
|
decode_error
|
Pesan tidak dapat didekode karena beberapa kolom berada di luar rentang yang ditentukan, atau panjang pesan salah. Error ini menyebabkan koneksi TLS ditutup. | 0
|
decrypt_error
|
Operasi kriptografi handshake (bukan lapisan rekaman) gagal, termasuk tidak dapat memverifikasi tanda tangan dengan benar atau memvalidasi pesan yang telah selesai atau pengikat PSK. Error ini menyebabkan koneksi TLS ditutup. | 0
|
insufficient_security
|
Negosiasi gagal secara khusus karena server memerlukan parameter yang lebih aman daripada yang didukung oleh klien. Error ini menyebabkan koneksi TLS ditutup. | 0
|
inappropriate_fallback
|
Dikirim oleh server sebagai respons terhadap upaya percobaan ulang koneksi yang tidak valid dari klien. Error ini menyebabkan koneksi TLS ditutup. | 0
|
user_cancelled
|
Pengguna membatalkan handshake karena alasan yang tidak terkait dengan kegagalan protokol. Error ini menyebabkan koneksi TLS ditutup. | 0
|
missing_extension
|
Dikirim oleh endpoint yang menerima pesan handshake yang tidak berisi ekstensi yang wajib dikirim untuk versi TLS yang ditawarkan atau parameter yang dinegosiasikan lainnya. Error ini menyebabkan koneksi TLS ditutup. | 0
|
unsupported_extension
|
Dikirim oleh endpoint yang menerima pesan handshake apa pun yang berisi
ekstensi yang diketahui dilarang untuk disertakan dalam pesan
handshake tertentu, atau menyertakan ekstensi apa pun di ServerHello
atau Certificate yang tidak ditawarkan terlebih dahulu di
ClientHello atau CertificateRequest yang sesuai.
Error ini menyebabkan koneksi TLS ditutup.
|
0
|
unrecognized_name
|
Dikirim oleh server saat tidak ada server yang dapat diidentifikasi berdasarkan nama yang diberikan oleh klien melalui ekstensi "server_name". Lihat definisi ekstensi TLS. | 0
|
bad_certificate_status_response
|
Dikirim oleh klien saat respons OCSP yang tidak valid atau tidak dapat diterima diberikan oleh server melalui ekstensi "status_request". Lihat definisi ekstensi TLS. Error ini menyebabkan koneksi TLS ditutup. | 0
|
load_balancer_configured_resource_limits_reached
|
Load balancer telah mencapai batas resource yang dikonfigurasi, seperti jumlah koneksi maksimum. | 0
|
Entri log koneksi TLS yang gagal
Jika koneksi TLS antara klien dan load balancer gagal sebelum
backend dipilih, entri log akan mencatat error. Anda dapat mengonfigurasi
layanan backend dengan frekuensi sampel log yang berbeda. Jika koneksi TLS gagal,
rasio pengambilan sampel log koneksi TLS yang gagal adalah rasio pengambilan sampel tertinggi untuk layanan backend mana pun. Misalnya, jika Anda telah mengonfigurasi dua layanan backend dengan
frekuensi pengambilan sampel logging sebagai 0.3
dan 0.5
, frekuensi pengambilan sampel log
koneksi TLS yang gagal adalah 0.5
.
Anda dapat mengidentifikasi koneksi TLS yang gagal dengan memeriksa detail entri log berikut:
- Jenis error proxyStatus adalah
tls_alert_received
,tls_certificate_error
,tls_protocol_error
, atauconnection_terminated
. - Tidak ada informasi backend.
Contoh berikut menunjukkan entri log TLS yang gagal dengan kolom proxyStatus error
:
json_payload: { @type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry" proxyStatus: "error="tls_alert_received"; details="server_to_client: handshake_failure"" log_name: "projects/529254013417/logs/mockservice.googleapis.com%20name" } http_request { latency { nanos: 12412000 } protocol: "HTTP/1.0" remote_ip: "127.0.0.2" } resource { type: "mock_internal_http_lb_rule" labels { backend_name: "" backend_scope: "" backend_scope_type: "UNKNOWN" backend_target_name: "" backend_target_type: "UNKNOWN" backend_type: "UNKNOWN" forwarding_rule_name: "l7-ilb-https-forwarding-rule-dev" matched_url_path_rule: "UNKNOWN" network_name: "lb-network" region: "REGION" target_proxy_name: "l7-ilb-https-proxy-dev" url_map_name: "" } } timestamp: "2023-08-15T16:49:30.850785Z"
Log permintaan kebijakan otorisasi
Objek authz_info
dalam payload JSON Entri Log Load Balancer berisi informasi tentang kebijakan otorisasi. Anda dapat mengonfigurasi metrik berbasis log
untuk traffic yang diizinkan atau ditolak oleh kebijakan ini. Periksa detail log kebijakan otorisasi lainnya.
Kolom | Jenis | Deskripsi |
---|---|---|
authz_info.policies[] |
objek | Daftar kebijakan yang cocok dengan permintaan. |
authz_info.policies[].name |
string | Nama kebijakan otorisasi yang cocok dengan permintaan.
Nama kosong karena alasan berikut:
|
authz_info.policies[].result |
enum | Hasilnya dapat berupa ALLOWED atau DENIED . |
authz_info.policies[].details |
string | Detailnya mencakup hal berikut:
|
authz_info.overall_result |
enum | Hasilnya dapat berupa ALLOWED atau DENIED . |
Berinteraksi dengan log
Anda dapat berinteraksi dengan log Load Balancer Aplikasi eksternal menggunakan Cloud Logging API. Logging API menyediakan cara untuk memfilter log secara interaktif yang memiliki kolom tertentu yang ditetapkan. Sink ini mengekspor log yang cocok ke Cloud Logging, Cloud Storage, BigQuery, atau Pub/Sub. Untuk mengetahui informasi selengkapnya tentang Logging API, lihat Ringkasan Logging API.
Pemantauan
Load balancer mengekspor data pemantauan ke Monitoring.
Anda dapat menggunakan metrik pemantauan untuk melakukan hal berikut:
- Mengevaluasi konfigurasi, penggunaan, dan performa load balancer
- Memecahkan masalah
- Meningkatkan pemanfaatan resource dan pengalaman pengguna
Frekuensi dan retensi pelaporan metrik
Metrik untuk Load Balancer Aplikasi eksternal diekspor ke Cloud Monitoring dalam batch perincian 1 menit. Data Monitoring disimpan selama enam (6) minggu.
Dasbor ini menyediakan analisis data dalam interval default 1H (satu jam), 6H (enam jam), 1D (satu hari), 1W (satu minggu), dan 6W (enam minggu). Anda dapat meminta analisis secara manual dalam interval berapa pun dari 6W hingga 1 menit.
Metrik pemantauan
Anda dapat memantau metrik berikut untuk Load Balancer Aplikasi eksternal.
Metrik berikut untuk Load Balancer Aplikasi eksternal regional
dilaporkan ke Cloud Monitoring.
Metrik ini diawali dengan loadbalancing.googleapis.com/
.
Metrik | Nama | Deskripsi |
---|---|---|
Jumlah permintaan | https/external/regional/request_count |
Jumlah permintaan yang ditayangkan oleh Load Balancer Aplikasi eksternal regional. |
Jumlah byte permintaan | https/external/regional/request_bytes |
Jumlah byte yang dikirim sebagai permintaan dari klien ke Load Balancer Aplikasi eksternal regional. |
Jumlah byte respons | https/external/regional/response_bytes |
Jumlah byte yang dikirim sebagai respons dari Load Balancer Aplikasi eksternal regional ke klien. |
Total latensi | https/external/regional/total_latencies |
Distribusi total latensi. Total latensi adalah waktu dalam milidetik antara byte pertama permintaan yang diterima oleh proxy dan byte terakhir respons yang dikirim oleh proxy. Hal ini mencakup: waktu yang dibutuhkan proxy untuk memproses permintaan, waktu yang dibutuhkan agar permintaan dikirim dari proxy ke backend, waktu yang dibutuhkan backend untuk memproses permintaan, waktu yang dibutuhkan agar respons dikirim kembali ke proxy, dan waktu yang dibutuhkan proxy untuk memproses respons dan mengirimkan respons ke klien. Tidak termasuk RTT antara klien dan proxy. Selain itu,
jeda antar-permintaan pada koneksi yang sama yang menggunakan |
Latensi backend | https/external/regional/backend_latencies |
Distribusi latensi backend. Latensi backend adalah waktu dalam milidetik antara byte terakhir permintaan yang dikirim ke backend dan byte terakhir respons yang diterima oleh proxy. Waktu ini mencakup waktu yang dibutuhkan backend untuk memproses permintaan dan waktu yang dibutuhkan agar respons dikirim kembali ke proxy. |
Memfilter dimensi untuk metrik
Anda dapat menerapkan filter untuk metrik Load Balancer Aplikasi eksternal.
Metrik diagregasi untuk setiap Load Balancer Aplikasi eksternal regional. Anda dapat memfilter metrik gabungan menggunakan dimensi berikut untuk
resource.type="http_external_regional_lb_rule"
.
Properti | Deskripsi |
---|---|
backend_name |
Nama grup instance backend atau NEG. |
backend_scope |
Cakupan backend (nama zona atau nama wilayah). Mungkin
UNKNOWN jika backend_name tidak diketahui.
|
backend_scope_type |
Cakupan backend (REGION /ZONE ).
Mungkin UNKNOWN setiap kali backend_name
tidak diketahui.
|
backend_target_name |
Nama backend yang dipilih untuk menangani permintaan, berdasarkan aturan jalur peta URL atau aturan rute yang cocok dengan permintaan. |
backend_target_type |
Jenis target backend. Dapat berupa BACKEND_SERVICE , atau
UNKNOWN ditampilkan jika backend tidak ditetapkan.
|
backend_type |
Jenis grup backend. Dapat berupa INSTANCE_GROUP ,
NETWORK_ENDPOINT_GROUP , atau UNKNOWN ditampilkan
jika backend tidak ditetapkan.
|
forwarding_rule_name |
Nama objek aturan penerusan. |
matched_url_path_rule |
Aturan jalur peta URL atau aturan rute yang dikonfigurasi sebagai bagian dari kunci peta URL. Dapat berupa UNMATCHED atau UNKNOWN sebagai penggantian.
|
network_name |
Nama jaringan VPC load balancer. |
project_id |
ID project Trusted Cloud yang terkait dengan resource ini. |
region |
Region tempat load balancer ditentukan. |
target_proxy_name |
Nama objek proxy target yang dirujuk oleh aturan penerusan. |
url_map_name |
Nama objek peta URL yang dikonfigurasi untuk memilih layanan backend. |