Logging dan pemantauan Load Balancer Jaringan Proxy

Halaman ini menunjukkan cara mengonfigurasi dan menggunakan Cloud Logging serta Cloud Monitoring untuk Load Balancer Jaringan proxy.

Resource pemantauan

Tabel berikut menetapkan nama resource untuk load balancer.

Load Balancer Jaringan proxy eksternal regional

Load Balancer Jaringan proxy internal regional

Load Balancer Jaringan proxy internal lintas region

Load Balancer Jaringan proxy eksternal global

Load Balancer Jaringan proxy klasik
Logging jenis resource yang dipantau "Aturan Load Balancer Jaringan Proxy"
l4_proxy_rule
"Aturan Load Balancer Jaringan Proxy Eksternal Global"
tcp_ssl_proxy_rule
Jenis resource yang dipantau "Aturan Load Balancer Jaringan Proxy"
l4_proxy_rule
"Aturan Load Balancer Jaringan Proxy Eksternal Global"
tcp_ssl_proxy_rule

Logging untuk Load Balancer Jaringan Proxy

Log memberikan informasi yang berguna untuk memecahkan masalah dan memantau load balancer. Log digabungkan untuk setiap koneksi dan memberi Anda insight tentang cara setiap koneksi dirutekan ke backend penayangan.

Tidak ada biaya tambahan untuk menggunakan log. Namun, berdasarkan cara Anda mengimpor log, harga standar untuk Cloud Logging, BigQuery, atau Pub/Sub akan berlaku. Selain itu, mengaktifkan log tidak akan memengaruhi performa load balancer.

Pengambilan sampel dan pengumpulan log

Koneksi yang keluar dan memasuki instance virtual machine (VM) backend load balancer diambil sampelnya. Koneksi yang diambil sampelnya ini kemudian diproses untuk menghasilkan log. Anda mengontrol fraksi koneksi yang dimunculkan sebagai entri log sesuai dengan parameter logConfig.sampleRate. Jika logConfig.sampleRate adalah 1.0 (100%), ini berarti log dibuat untuk semua koneksi dan ditulis ke Cloud Logging.

Mengaktifkan logging di layanan backend baru

gcloud

Gunakan perintah gcloud compute backend-services create.

Untuk Load Balancer Jaringan proxy eksternal regional dan Load Balancer Jaringan proxy internal regional:

    gcloud compute backend-services create BACKEND_SERVICE \
        --region=REGION \
        --enable-logging \
        --logging-sample-rate=SAMPLE_RATE
    

Untuk Load Balancer Jaringan proxy eksternal global, Load Balancer Jaringan proxy klasik, atau Load Balancer Jaringan proxy internal lintas region:

    gcloud compute backend-services create BACKEND_SERVICE \
        --global \
        --enable-logging \
        --logging-sample-rate=SAMPLE_RATE
    

Ganti kode berikut:

  • BACKEND_SERVICE: nama layanan backend.
  • REGION: region layanan backend yang akan dibuat.
  • SAMPLE_RATE: kolom ini hanya dapat ditentukan jika logging diaktifkan untuk layanan backend ini.

    Nilai kolom ini harus berasal dari 0.0 to 1.0, dengan 0.0 berarti tidak ada log yang dilaporkan dan 1.0 berarti semua koneksi dicatat ke dalam log. Mengaktifkan logging tetapi menetapkan frekuensi sampling ke 0.0 sama dengan menonaktifkan logging. Nilai defaultnya adalah 1.0.

API

Buat permintaan POST ke metode regionBackendServices.insert:

Untuk Load Balancer Jaringan proxy internal regional:

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "INTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

Untuk Load Balancer Jaringan proxy eksternal regional:

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

Untuk Load Balancer Jaringan proxy eksternal global:

Buat permintaan POST ke metode backendServices.insert:

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

Untuk Load Balancer Jaringan proxy klasik:

Buat permintaan POST ke metode backendServices.insert:

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

Untuk Load Balancer Jaringan proxy internal lintas region:

Buat permintaan POST ke metode backendServices.insert:

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "INTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

Ganti kode berikut:

  • BACKEND_SERVICE: nama layanan backend.
  • SAMPLE_RATE: kolom ini hanya dapat ditentukan jika logging diaktifkan untuk layanan backend ini.

    Nilai kolom ini harus berasal dari 0.0 to 1.0, dengan 0.0 berarti tidak ada log yang dilaporkan dan 1.0 berarti semua koneksi dicatat ke dalam log. Mengaktifkan logging tetapi menetapkan frekuensi sampling ke 0.0 sama dengan menonaktifkan logging. Nilai defaultnya adalah 1.0.

Mengaktifkan logging di layanan backend yang ada

gcloud

Gunakan perintah gcloud compute backend-services update.

Untuk Load Balancer Jaringan proxy eksternal regional dan Load Balancer Jaringan proxy internal regional:

    gcloud compute backend-services update BACKEND_SERVICE \
        --region=REGION \
        --enable-logging \
        --logging-sample-rate=SAMPLE_RATE
    

Untuk Load Balancer Jaringan proxy eksternal global, Load Balancer Jaringan proxy klasik, atau Load Balancer Jaringan proxy internal lintas region:

    gcloud compute backend-services update BACKEND_SERVICE \
        --global \
        --enable-logging \
        --logging-sample-rate=SAMPLE_RATE
    

Ganti kode berikut:

  • BACKEND_SERVICE: nama layanan backend.
  • REGION: region layanan backend yang akan dibuat.
  • SAMPLE_RATE: kolom ini hanya dapat ditentukan jika logging diaktifkan untuk layanan backend ini.

    Nilai kolom ini harus berasal dari 0.0 to 1.0, dengan 0.0 berarti tidak ada log yang dilaporkan dan 1.0 berarti semua koneksi dicatat ke dalam log. Mengaktifkan logging tetapi menetapkan frekuensi sampling ke 0.0 sama dengan menonaktifkan logging. Nilai defaultnya adalah 1.0.

API

Buat permintaan PATCH ke metode regionBackendServices/patch:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE
     

Untuk Load Balancer Jaringan proxy internal regional:

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "INTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

Untuk Load Balancer Jaringan proxy eksternal regional:

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

Untuk Load Balancer Jaringan proxy eksternal global:

Buat permintaan PATCH ke metode backendServices/patch:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

Untuk Load Balancer Jaringan proxy klasik:

Buat permintaan PATCH ke metode backendServices/patch:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

Untuk Load Balancer Jaringan proxy internal lintas region:

Buat permintaan PATCH ke metode backendServices/patch:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "INTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

Ganti kode berikut:

  • PROJECT_ID: nama project Anda.
  • BACKEND_SERVICE: nama layanan backend.
  • SAMPLE_RATE: kolom ini hanya dapat ditentukan jika logging diaktifkan untuk layanan backend ini.

    Nilai kolom ini harus berasal dari 0.0 to 1.0, dengan 0.0 berarti tidak ada log yang dilaporkan dan 1.0 berarti semua koneksi dicatat ke dalam log. Mengaktifkan logging tetapi menetapkan frekuensi sampling ke 0.0 sama dengan menonaktifkan logging. Nilai defaultnya adalah 1.0.

Menonaktifkan logging di layanan backend yang ada

gcloud

Gunakan perintah gcloud compute backend-services update.

Untuk Load Balancer Jaringan proxy eksternal regional dan Load Balancer Jaringan proxy internal regional:

gcloud compute backend-services update BACKEND_SERVICE \
   --region=REGION \
   --no-enable-logging

Untuk Load Balancer Jaringan proxy eksternal global, Load Balancer Jaringan proxy klasik, atau Load Balancer Jaringan proxy internal lintas region:

gcloud compute backend-services update BACKEND_SERVICE \
   --global \
   --no-enable-logging

Ganti kode berikut:

  • BACKEND_SERVICE: nama layanan backend.
  • REGION: region layanan backend.

API

Untuk Load Balancer Jaringan proxy eksternal regional dan Load Balancer Jaringan proxy internal regional:

Buat permintaan PATCH ke metode regionBackendServices/patch:

 PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE
  {
  "logConfig": {
    "enable": false
   }
  }
 

Untuk Load Balancer Jaringan proxy eksternal global, Load Balancer Jaringan proxy klasik, atau Load Balancer Jaringan proxy internal lintas region:

Buat permintaan PATCH ke metode backendServices/patch:

 PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
  {
  "logConfig": {
    "enable": false
   }
  }
 

Ganti kode berikut:

  • PROJECT_ID: nama project Anda.
  • REGION: region layanan backend.
  • BACKEND_SERVICE: nama layanan backend.

Lihat log

Saat log diserap ke dalam Cloud Logging dan tidak dikecualikan melalui sink Router Log, Anda dapat membaca log menggunakan Cloud Logging API dan Google Cloud CLI.

Untuk melihat semua log, selesaikan langkah-langkah berikut.

Konsol

  1. Di Konsol Google Cloud, buka halaman Logs Explorer.

    Buka Logs Explorer

  2. Pilih jenis resource Proxy Network Load Balancer Rule.

  3. Pilih nama log loadbalancing.googleapis.com/connections.

Kueri konsol

  1. Di Konsol Google Cloud, buka halaman Logs Explorer.

    Buka Logs Explorer

  2. Klik tombol Tampilkan kueri.

  3. Tempelkan perintah berikut ke dalam kolom kueri.

    resource.type="LOG_RESOURCE_TYPE"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com/connections"
    
  4. Klik Jalankan kueri.

Ganti kode berikut:

  • LOG_RESOURCE_TYPE: jenis resource yang dimonitor logging yang ditetapkan ke l4_proxy_rule atau tcp_ssl_proxy_rule.
  • PROJECT_ID: nama project Anda.

Melihat log untuk layanan backend tertentu

Untuk melihat log untuk layanan backend tertentu, selesaikan langkah-langkah berikut.

Kueri konsol

  1. Di Konsol Google Cloud, buka halaman Logs Explorer.

    Buka Logs Explorer

  2. Klik tombol Tampilkan kueri.

  3. Tempelkan perintah berikut ke dalam kolom kueri.

    resource.type="LOG_RESOURCE_TYPE"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com/connections"
    resource.labels.backend_service_name="BACKEND_SERVICE_NAME"
    
  4. Klik Jalankan kueri.

Ganti kode berikut:

  • LOG_RESOURCE_TYPE: jenis resource yang dimonitor logging yang ditetapkan ke l4_proxy_rule atau tcp_ssl_proxy_rule.
  • PROJECT_ID: nama project Anda.
  • BACKEND_SERVICE_NAME: nama layanan backend.

Melihat log untuk grup instance backend

Untuk melihat log grup instance backend tertentu, selesaikan langkah-langkah berikut.

Kueri konsol

  1. Di Konsol Google Cloud, buka halaman Logs Explorer.

    Buka Logs Explorer

  2. Klik tombol Tampilkan kueri.

  3. Tempelkan perintah berikut ke dalam kolom kueri.

    resource.type="LOG_RESOURCE_TYPE"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com/connections"
    resource.labels.backend_group_name="BACKEND_GROUP_NAME"
    
  4. Klik Jalankan kueri.

Ganti kode berikut:

  • LOG_RESOURCE_TYPE: jenis resource yang dimonitor logging yang ditetapkan ke l4_proxy_rule atau tcp_ssl_proxy_rule.
  • PROJECT_ID: nama project Anda.
  • BACKEND_GROUP_NAME: nama grup instance.

Apa itu log?

Entri log berisi informasi yang berguna untuk memantau dan melakukan proses debug traffic. Data log berisi kolom wajib diisi, yang merupakan kolom default dari setiap kumpulan data log.

Kolom Format kolom Jenis kolom: Wajib atau Opsional Deskripsi
keparahan
timestamp
acceptTimestamp
insertID
logName
LogEntry Diperlukan Kolom umum seperti yang dijelaskan dalam entri log.
resource MonitoredResource Diperlukan

MonitoredResource adalah jenis resource yang terkait dengan entri log.

MonitoredResourceDescriptor menjelaskan skema objek MonitoredResource menggunakan nama jenis dan sekumpulan label. Untuk mengetahui informasi selengkapnya, lihat Label resource.

jsonPayload objek (format Struct) Diperlukan Payload entri log yang dinyatakan sebagai objek JSON. Objek JSON berisi kolom berikut:

Kolom log

Kumpulan data log berisi kolom wajib diisi, yang merupakan kolom default untuk setiap data log.

Beberapa kolom log berisi lebih dari satu bagian data dalam kolom tertentu. Kolom log ini memiliki format multi-kolom. Misalnya, kolom connection memiliki format IpConnection, yang berisi port serta alamat IP sumber dan tujuan, serta protokolnya, dalam satu kolom. Kolom log multi-kolom ini dijelaskan dalam tabel format kumpulan data berikut.

Tabel berikut mencantumkan semua kolom log yang diperlukan untuk resource l4_proxy_rule.

Kolom Format kolom Deskripsi
koneksi IpConnection 5-Tuple yang mendeskripsikan koneksi ini.
startTime string Stempel waktu (format string tanggal RFC 3339) saat koneksi dari klien diterima oleh load balancer.
endTime string Stempel waktu (format string tanggal RFC 3339) saat klien atau backend menghentikan koneksi.
bytesSent int64 Jumlah byte yang dikirim dari server ke klien.
bytesReceived int64 Jumlah byte yang diterima server dari klien.

Format kolom IpConnection

Kolom Jenis Deskripsi
clientIp string Alamat IP klien
clientPort int32 Port klien. Setel untuk koneksi TCP dan UDP saja.
serverIp string Alamat IP server (IP aturan penerusan)
serverPort int32 Port server. Setel untuk koneksi TCP dan UDP saja.
protokol int32 Nomor protokol IANA

Label resource

Tabel berikut mencantumkan label resource untuk jenis resource l4_proxy_rule.

Kolom Jenis Deskripsi
network_name string Nama jaringan VPC load balancer.
project_id string ID project Google Cloud yang terkait dengan resource ini.
region [wilayah] string Region tempat load balancer ditentukan.
target_proxy_name string Nama objek proxy target yang dirujuk oleh aturan penerusan.
forwarding_rule_name string Nama objek aturan penerusan.
loadbalancing_scheme_name string Atribut pada aturan penerusan dan layanan backend load balancer yang menunjukkan apakah load balancer dapat digunakan untuk traffic internal atau eksternal.
backend_target_name string Nama backend yang dipilih untuk menangani permintaan.
backend_target_type string Jenis target backend (BACKEND_SERVICE / UNKNOWN).
backend_name string Nama grup instance backend atau grup endpoint jaringan (NEG).
backend_type string

Jenis backend, baik grup instance atau NEG, atau tidak diketahui.

Cloud Logging mencatat permintaan saat backend_type adalah UNKNOWN meskipun logging dinonaktifkan. Misalnya, jika klien menutup koneksi ke load balancer sebelum load balancer dapat memilih backend, backend_type disetel ke UNKNOWN dan permintaan akan dicatat dalam log. Log ini memberikan informasi proses debug yang berguna tentang permintaan klien yang ditutup karena load balancer tidak dapat memilih backend.

backend_scope string Cakupan backend, baik nama zona maupun nama region. Mungkin UNKNOWN setiap kali backend_name tidak diketahui.
backend_scope_type string Cakupan backend (REGION/ZONE). Mungkin UNKNOWN setiap kali backend_name tidak diketahui.

Pemantauan

Load Balancer Jaringan proxy mengekspor data pemantauan ke Cloud Monitoring.

Metrik Monitoring dapat digunakan untuk melakukan hal berikut:

  • Mengevaluasi konfigurasi, penggunaan, dan performa load balancer.
  • Memecahkan masalah.
  • Tingkatkan pemanfaatan resource dan pengalaman pengguna.

Selain dasbor standar di Monitoring, Anda dapat membuat dasbor kustom, menyiapkan pemberitahuan, dan metrik kueri menggunakan Cloud Monitoring API.

Melihat dasbor Monitoring

  1. Di konsol Google Cloud, buka halaman Monitoring.

    Buka Monitoring

  2. Jika Resources muncul di panel navigasi, pilih Resources, lalu pilih Google Cloud Load Balancers. Atau, pilih Dashboards, lalu pilih dasbor bernama Google Cloud Load Balancers.

  3. Klik nama load balancer Anda.

Di panel kiri, Anda dapat melihat berbagai detail untuk load balancer ini. Di panel sebelah kanan, Anda dapat melihat grafik deret waktu. Untuk melihat pengelompokan tertentu, klik Pengelompokan.

Frekuensi dan retensi pelaporan metrik

Metrik untuk load balancer diekspor ke Monitoring dalam batch perincian satu menit. Data pemantauan disimpan selama enam (6) minggu. Metrik didasarkan pada traffic sampel (frekuensi sampling bersifat dinamis dan tidak dapat disesuaikan).

Dasbor ini menyediakan analisis data dalam interval default 1 jam (satu jam), 6 jam (enam jam), 1 hari (satu hari), 1 W (satu minggu), dan 6 W (enam minggu). Anda dapat meminta analisis secara manual dalam interval apa pun mulai dari enam minggu hingga satu menit.

Metrik untuk Load Balancer Jaringan proxy klasik

Metrik untuk Load Balancer Jaringan proxy klasik berikut dilaporkan ke dalam Monitoring.

Metrik Nama Deskripsi
Lalu lintas masuk tcp_ssl_proxy/ingress_bytes_count Jumlah byte yang dikirim dari endpoint eksternal ke backend yang dikonfigurasi melalui Google Front End (GFE)—dalam byte per detik.
Lalu lintas keluar tcp_ssl_proxy/egress_bytes_count Jumlah byte yang dikirim dari backend yang dikonfigurasi ke endpoint eksternal melalui GFE—dalam byte per detik.
Koneksi terbuka tcp_ssl_proxy/open_connections Jumlah koneksi yang terbuka pada momen sampel tertentu. Sampel diambil dengan jarak satu menit.
Koneksi baru per detik tcp_ssl_proxy/new_connections Jumlah koneksi yang dibuat (klien berhasil terhubung ke backend). Perincian penghitungan adalah per menit, tetapi grafik disesuaikan untuk menampilkan nilai per detik. Untuk informasi selengkapnya, lihat Dokumentasi pemantauan.
Koneksi tertutup per detik tcp_ssl_proxy/closed_connections Jumlah koneksi yang ditutup. Perincian penghitungan adalah per menit, tetapi grafik disesuaikan untuk menampilkan nilai per detik. Untuk informasi selengkapnya, lihat Dokumentasi pemantauan.
RTT Frontend tcp_ssl_proxy/frontend_tcp_rtt Distribusi waktu round-trip (RTT) yang dihaluskan yang diukur untuk setiap koneksi antara klien dan GFE (diukur dengan stack TCP GFE, setiap kali byte lapisan aplikasi diteruskan dari GFE ke klien). Smoothed RTT adalah algoritma yang menangani variasi dan anomali yang mungkin terjadi dalam pengukuran RTT.

Metrik untuk load balancer lainnya

Metrik berikut untuk Load Balancer Jaringan proxy internal regional, Load Balancer Jaringan proxy eksternal regional, Load Balancer Jaringan proxy internal lintas region, dan Load Balancer Jaringan proxy eksternal global dilaporkan ke Monitoring.

Metrik Nama Deskripsi
Lalu lintas masuk l4_proxy/ingress_bytes_count Jumlah byte yang dikirim dari klien ke VM backend menggunakan proxy. Dibuat sampelnya setiap 60 detik. Setelah pengambilan sampel, data tidak akan terlihat selama maksimal 210 detik.
Lalu lintas keluar l4_proxy/egress_bytes_count Jumlah byte yang dikirim dari VM backend ke klien menggunakan proxy. Dibuat sampelnya setiap 60 detik. Setelah pengambilan sampel, data tidak akan terlihat selama maksimal 210 detik.
Koneksi tertutup per detik l4_proxy/tcp/closed_connections_count Jumlah koneksi yang dihentikan dengan menggunakan pesan TCP RST atau TCP FIN. Dibuat sampelnya setiap 60 detik. Setelah pengambilan sampel, data tidak akan terlihat selama maksimal 210 detik.

Memfilter dimensi untuk metrik

Metrik digabungkan untuk setiap load balancer. Metrik dapat diperinci lebih lanjut berdasarkan dimensi berikut.

Properti Deskripsi
KEMBALIKAN CAKUPAN Cakupan (region atau zona) grup instance yang menyalurkan koneksi.
Cadangkan ZONA Jika grup instance adalah grup instance zona, zona grup instance yang menyalurkan koneksi.
KEMBALIKAN WILAYAH Jika grup instance adalah grup instance regional, region dari grup instance yang menyalurkan koneksi.
benua proksi Benua GFE yang menghentikan koneksi TCP/SSL pengguna—misalnya, America, Europe, Asia.
GRUP INSTANCE Nama grup instance yang menerima koneksi pengguna.
ATURAN TELAH MENERUS Nama aturan penerusan yang digunakan untuk terhubung ke GFE.
NEGARA KLIEN Nama negara pengguna.

Langkah selanjutnya