Tentang data Log Aliran VPC

Halaman ini menjelaskan format data Log Aliran VPC, termasuk {i>field<i} dan {i>metadata<i} mana yang tersedia. Dokumen ini juga menjelaskan bagaimana Anda dapat menggunakan sehingga hanya log yang sesuai dengan kriteria tertentu yang dihasilkan.

Format data

Data log berisi kolom dasar, yang merupakan kolom inti dari setiap data log, dan kolom metadata yang menambahkan informasi tambahan. Kolom metadata dapat dihilangkan untuk menghemat biaya penyimpanan.

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

Nilai untuk kolom metadata tidak didasarkan pada jalur bidang data; nilai-nilai itu merupakan perkiraan dan mungkin tidak ada atau salah. Tidak suka metadata , nilai untuk isian dasar diambil langsung dari {i>header<i} paket.

Kolom Format kolom Jenis kolom: Metadata dasar atau opsional
koneksi IpConnection
5-tuple yang menggambarkan alur.
Dasar
pelapor string
Sisi yang melaporkan aliran. Dapat berupa SRC, DEST, SRC_GATEWAY, atau DEST_GATEWAY.
Dasar
rtt_msec int64
Latensi yang diukur selama interval waktu. Kolom ini tersedia hanya untuk traffic TCP yang dilaporkan dari VM. Latensi yang diukur adalah waktu yang berlalu dari pengiriman SEQ hingga penerimaan ACK yang terkait. Hasil latensi adalah jumlah RTT jaringan dan waktu yang digunakan oleh aplikasi.
Base
bytes_sent int64
Jumlah byte yang dikirim dari sumber ke tujuan.
Dasar
packets_sent int64
Jumlah paket yang dikirim dari sumber ke tujuan.
Dasar
start_time string
Stempel waktu (format string tanggal RFC 3339) dari paket pertama yang diamati selama interval waktu gabungan.
Base
end_time {i>string<i}
Stempel waktu (format string tanggal RFC 3339) dari paket yang terakhir diamati selama interval waktu gabungan.
Dasar
Kolom metadata sumber dan tujuan
src_gateway GatewayDetails
Jika sumber alirannya adalah endpoint lokal atau cloud lainnya yang terhubung ke Google Cloud melalui gateway seperti lampiran VLAN untuk Cloud Interconnect atau tunnel Cloud VPN, dan memenuhi salah satu kondisi berikut, kolom ini diisi dengan detail gateway:
  • Gateway sumber adalah pelapor alur.
  • Tujuan alur tersebut adalah pelapor, dan jaringan VPC yang gateway sumber terhubung ke jaringan yang sama project Google Cloud sebagai project di mana Laporan Log Aliran VPC log untuk tujuan flow.
Metadata
dest_gateway GatewayDetails
Jika tujuan flow adalah endpoint lokal atau cloud lainnya yang terhubung ke Google Cloud melalui gateway seperti Lampiran VLAN untuk Cloud Interconnect atau Cloud VPN tunnel Cloud dan salah satu kondisi berikut terpenuhi, isian ini dianggap yang diisi dengan detail gateway:
  • Gateway tujuan adalah pelapor alur.
  • Sumber alurnya adalah pelapor, dan jaringan VPC yang gateway tujuan terhubung ke jaringan project Google Cloud sebagai project di mana Laporan Log Aliran VPC log untuk sumber flow.
Metadata
src_gke_details GkeDetails
Jika sumber alirannya adalah endpoint Google Kubernetes Engine (GKE), kolom ini diisi dengan detail endpoint GKE.
Metadata
dest_gke_details GkeDetails
Jika tujuan alur adalah GKE endpoint, kolom ini diisi dengan endpoint GKE spesifikasi pendukung.
Metadata
src_google_service GoogleServiceDetails
Jika sumber alur adalah Google API, kolom ini yang diisi dengan metadata Google API yang tersedia.
Metadata
dest_google_service GoogleServiceDetails
Jika tujuan alur adalah Google API, kolom ini adalah yang diisi dengan metadata Google API yang tersedia.
Metadata
src_instance InstanceDetails
Jika sumber flow adalah VM yang berada di VPC jaringan dan salah satu kondisi berikut terpenuhi, isian ini adalah yang telah diisi dengan detail instance VM:
  • VM sumber adalah pelapor alur.
  • Tujuan alur tersebut adalah pelapor, dan VM sumber, atau jaringan VPC yang tempat VM sumber terpasang, berada di bagian yang sama project Google Cloud sebagai project di mana Laporan Log Aliran VPC log untuk tujuan flow.
Metadata
dest_instance InstanceDetails
Jika tujuan alur adalah VM yang berada di VPC jaringan dan salah satu kondisi berikut terpenuhi, kolom ini diisi dengan detail instance VM.
  • VM tujuan adalah pelapor alur.
  • Sumber alurnya adalah pelapor, dan VM tujuan, atau jaringan VPC yang tempat VM tujuan terpasang, berada di project Google Cloud sebagai project di mana Laporan Log Aliran VPC log untuk sumber flow.
Metadata
src_location GeographicDetails
Jika sumber flow adalah alamat IP publik di luar di jaringan VPC, kolom ini akan diisi dengan metadata lokasi yang tersedia.
Metadata
dest_location GeographicDetails
Jika tujuan alur adalah alamat IP publik di luar di jaringan VPC, kolom ini akan diisi dengan metadata lokasi yang tersedia.
Metadata
src_vpc VpcDetails
Jika sumber flow adalah VM yang berada di VPC jaringan dan salah satu kondisi berikut terpenuhi, isian ini adalah telah diisi dengan detail jaringan VPC:
  • VM sumber adalah pelapor alur.
  • Tujuan alur tersebut adalah pelapor, dan VM sumber, atau jaringan VPC yang tempat VM sumber terpasang, berada dalam project Google Cloud yang sama sebagai project tempat VPC Flow Logs melaporkan log untuk tujuan alur.
Metadata
dest_vpc VpcDetails
Jika tujuan alur adalah VM yang berada di VPC jaringan dan salah satu kondisi berikut terpenuhi, isian ini adalah telah diisi dengan detail jaringan VPC:
  • VM tujuan adalah pelapor alur.
  • Sumber alurnya adalah pelapor, dan VM tujuan, atau jaringan VPC yang tempat VM tujuan terpasang, berada dalam project Google Cloud yang sama sebagai project tempat Log Aliran VPC melaporkan log untuk sumber flow.
Metadata
Kolom metadata lainnya
internet_routing_details InternetRoutingDetails
Jika alurnya berada di antara Google Cloud dan internet, kolom ini diisi dengan detail perutean. Hanya tersedia untuk traffic keluar.
Metadata
load_balancing LoadBalancingDetails
Jika alur melewati load balancer di salah satu opsi berikut khusus, kolom ini diisi dengan Cloud Load Balancing detail:
  • Reporter alur adalah klien dari load balancer, dan jenis load balancer APPLICATION_LOAD_BALANCER, PROXY_NETWORK_LOAD_BALANCER, PASSTHROUGH_NETWORK_LOAD_BALANCER, atau PROTOCOL_FORWARDING.
  • Reporter alur adalah backend load balancer, dan jenis load balancer PASSTHROUGH_NETWORK_LOAD_BALANCER atau PROTOCOL_FORWARDING.
Metadata
network_service NetworkServiceDetails
Jika {i>header<i} {i> Differentiated Services Code Point<i} (DSCP) ditetapkan, kolom ini diisi dengan detail layanan jaringan.
Metadata
psc PrivateServiceConnectDetails
Jika alur melewati Private Service Connect di salah satu konfigurasi berikut, kolom diisi dengan Private Service Connect detail:
  • Reporter traffic Private Service Connect adalah konsumen dan menggunakan Private Service Connect endpoint yang menargetkan layanan yang dipublikasikan atau Google API global.
  • Reporter traffic Private Service Connect adalah produser dan menggunakan Load Balancer Jaringan passthrough internal {i>Protocol forwarding<i}.
Metadata

Format kolom IpConnection

Kolom Jenis Deskripsi
protokol int32 Nomor protokol IANA
src_ip string Alamat IP Sumber
dest_ip string Alamat IP tujuan
src_port int32 Port sumber
dest_port int32 Port tujuan

Format kolom GatewayDetails

Kolom Jenis Deskripsi
project_id string ID project Google Cloud untuk gateway
location string Region gateway
nama string Nama gateway
jenis string Jenis gateway. Dapat berupa INTERCONNECT_ATTACHMENT atau VPN_TUNNEL.
vpc VpcDetails Detail jaringan VPC gateway

Format kolom GkeDetails

Kolom Jenis Deskripsi
cluster ClusterDetails Metadata cluster GKE
pod PodDetails Metadata Pod GKE, diisi jika sumber atau tujuan traffic adalah Pod
pelanggan ServiceDetails Metadata Layanan GKE, hanya diisi di endpoint Service. Data berisi hingga dua Service. Jika ada lebih dari dua Service yang relevan, kolom ini berisi satu Service dengan penanda MANY_SERVICES khusus.

Format kolom ClusterDetails

Kolom Jenis Deskripsi
cluster_location string Lokasi cluster. Ini dapat berupa zona atau region, bergantung pada apakah cluster bersifat zonal atau regional.
cluster_name string Nama cluster GKE.

Format kolom PodDetails

Kolom Jenis Deskripsi
pod_name string Nama Pod
pod_namespace string Namespace Pod
pod_workload WorkloadDetails Metadata tentang resource workload level atas yang mengontrol Buah
Format kolom WorkloadDetails
Kolom Jenis Deskripsi
workload_name string Nama pengontrol workload level teratas
workload_type string Jenis pengontrol workload level teratas. Bisa DEPLOYMENT, REPLICA_SET, STATEFUL_SET, DAEMON_SET, JOB, CRON_JOB, atau REPLICATION_CONTROLLER.

Format kolom ServiceDetails

Kolom Jenis Deskripsi
service_name string Nama Service. Jika ada lebih dari dua Service yang relevan, kolom ini ditetapkan ke penanda MANY_SERVICES khusus.
service_namespace string Namespace Service

Contoh:

Jika ada dua layanan, kolom Service akan terlihat seperti ini:

service: [
 0: {
  service_name: "my-lb-service"
  service_namespace: "default"
 }
 1: {
  service_name: "my-lb-service2"
  service_namespace: "default"
 }
]

Jika ada lebih dari dua layanan, kolom Service akan terlihat seperti ini:

service: [
 0: {
  service_name: "MANY_SERVICES"
 }
]

Format kolom GoogleServiceDetails

Kolom Jenis Deskripsi
jenis string Kolom ini ditetapkan ke GOOGLE_API.

Format kolom InstanceDetails

Kolom Jenis Deskripsi
project_id string ID project Google Cloud yang berisi resource VM
region string Region VM
vm_name string Nama instance VM
zone string Zona VM

Format kolom GeographicDetails

Kolom Jenis Deskripsi
asn int32 ASN jaringan eksternal tempat endpoint tersebut.
city string Kota untuk endpoint eksternal
benua string Benua untuk endpoint eksternal
country string Negara untuk endpoint eksternal, direpresentasikan sebagai kode negara ISO 3166-1 Alpha-3
region string Region untuk endpoint eksternal

Format kolom VpcDetails

Kolom Jenis Deskripsi
project_id string ID project Google Cloud yang berisi VPC. Di Konfigurasi VPC Bersama, project_id adalah ID dari project host.
subnetwork_name string Nama subnet, jika ada
subnetwork_region string Region subnet, jika ada
vpc_name string Nama jaringan

Format kolom InternetRoutingDetails

Kolom Jenis Deskripsi
egress_as_path AsPath Daftar jalur AS yang relevan. Jika ada memiliki beberapa jalur AS yang tersedia untuk alur, kolom mungkin berisi lebih dari satu jalur AS.

Format kolom AsPath

Kolom Jenis Deskripsi
as_details AsDetails Daftar detail AS untuk semua sistem di jalur AS. Daftar ini dimulai dari AS pertama yang berada di luar jaringan Google Cloud dan berakhir dengan AS yang memiliki alamat IP jarak jauh.

Format kolom AsDetails

Kolom Jenis Deskripsi
asn uint32 {i>Autonomous System Number<i} (ASN) dari AS

Format kolom LoadBalancingDetails

Kolom Jenis Deskripsi
forwarding_rule_project_id string ID project Google Cloud dari aturan penerusan
pelapor string pelapor Cloud Load Balancing. Dapat berupa CLIENT atau BACKEND.
  • Jika pelapor alur adalah klien dari dengan load balancer, kolom ini disetel ke CLIENT.
  • Jika pelapor alur adalah backend dari load balancer, kolom ini ditetapkan ke BACKEND.
jenis string Jenis load balancer. Dapat berupa APPLICATION_LOAD_BALANCER, PROXY_NETWORK_LOAD_BALANCER, PASSTHROUGH_NETWORK_LOAD_BALANCER, atau PROTOCOL_FORWARDING.
skema string Skema load balancer. Dapat berupa EXTERNAL_MANAGED, INTERNAL_MANAGED, EXTERNAL, INTERNAL, atau INTERNAL_SELF_MANAGED.
url_map_name string Nama peta URL. Diisi jika jenis load balancernya adalah APPLICATION_LOAD_BALANCER.
forwarding_rule_name string Nama aturan penerusan
backend_service_name string Nama layanan backend. Diisi jika pelapor adalah BACKEND dan jenis load balancer PASSTHROUGH_NETWORK_LOAD_BALANCER. Jika jenis grup backend adalah TARGET_POOL, kolom ini tidak diisi.
backend_group_name string Nama grup backend. Diisi jika pelapor adalah BACKEND dan jenis load balancer PASSTHROUGH_NETWORK_LOAD_BALANCER.
backend_group_type string Jenis grup backend. Dapat berupa INSTANCE_GROUP, NETWORK_ENDPOINT_GROUP, atau TARGET_POOL. Diisi jika pelapor adalah BACKEND dan load balancer jenisnya adalah PASSTHROUGH_NETWORK_LOAD_BALANCER.
backend_group_location string Lokasi grup backend. Dapat berupa zona atau region bergantung pada apakah cakupan grup backend adalah zona atau regional. Diisi jika pelapor adalah BACKEND dan load balancer jenisnya adalah PASSTHROUGH_NETWORK_LOAD_BALANCER. Jika backend jenis grup adalah TARGET_POOL, kolom ini tidak diisi.
vpc VpcDetails Detail jaringan VPC dari load balancer

Format kolom NetworkServiceDetails

Kolom Jenis Deskripsi
{i>dscp<i} int32 Jika isian {i> Differentiated Services<i} ada di {i>header<i} paket, kolom ini diisi dengan nilai DSCP.

Format kolom PrivateServiceConnectDetails

Kolom Jenis Deskripsi
pelapor string Pelapor Private Service Connect. Dapat berupa CONSUMER atau PRODUCER.
psc_endpoint PrivateServiceConnectEndpointDetails Detail endpoint. Diisi jika pelapor adalah CONSUMER.
psc_attachment PrivateServiceConnectAttachmentDetails Detail lampiran layanan. Diisi jika traffic mencakup produser Private Service Connect.

Format kolom PrivateServiceConnectEndpointDetails

Kolom Jenis Deskripsi
project_id string ID project Google Cloud Private Service Connect titik akhir
region string Region endpoint. Tidak diisi jika target jenis layanannya adalah GLOBAL_GOOGLE_APIS.
psc_connection_id string ID koneksi Private Service Connect
target_service_type string Jenis layanan target. Dapat berupa GLOBAL_GOOGLE_APIS atau PUBLISHED_SERVICE.
vpc VpcDetails Detail jaringan VPC Endpoint Private Service Connect

Format kolom PrivateServiceConnectLampiranDetails

Kolom Jenis Deskripsi
project_id string ID project Google Cloud lampiran layanan
region string Region lampiran layanan
vpc VpcDetails Detail jaringan VPC lampiran layanan

Anotasi metadata

Data log berisi kolom dasar dan kolom metadata. Catatan format baru mencantumkan {i>field<i} mana yang merupakan jenis {i>metadata<i} dan mana yang merupakan {i>type base<i}. Semua kolom dasar selalu disertakan. Anda dapat menyesuaikan kolom metadata yang ingin disimpan.

  • Jika Anda memilih semua metadata, semua kolom metadata dalam format data Log Aliran VPC disertakan dalam log aliran. Saat kolom metadata baru ditambahkan ke format data, log aliran akan otomatis menyertakan kolom baru.

  • Jika Anda tidak memilih metadata, semua kolom metadata akan dihapus.

  • Jika memilih metadata kustom, Anda dapat menentukan kolom metadata yang ingin disertakan oleh kolom induk, seperti src_vpc, atau dengan nama lengkapnya, seperti src_vpc.project_id

    Saat {i>field<i} metadata baru ditambahkan ke format pencatatan, mereka dikecualikan dari log aliran kecuali mereka dalam kolom induk yang telah Anda tentukan untuk disertakan.

    • Jika Anda menentukan metadata kustom menggunakan kolom induk, saat kolom metadata baru ditambahkan ke format data dalam kolom induk tersebut, log aliran akan otomatis menyertakan kolom baru tersebut.

    • Jika Anda menetapkan metadata kustom menggunakan nama lengkap kolom, kolom metadata yang ditambahkan ke kolom induk dikecualikan dari alur log.

Untuk mengetahui informasi tentang cara menyesuaikan kolom metadata, lihat Petunjuk Google Cloud CLI atau API untuk mengaktifkan logging alur VPC saat membuat Subnet.

Anotasi metadata GKE

Flow yang memiliki endpoint di Cluster GKE dapat dianotasi dengan anotasi metadata GKE, yang dapat mencakup mengenai detail Cluster, Pod, dan Service endpoint.

Anotasi Layanan GKE

Traffic yang dikirim ke ClusterIP, NodePort, atau LoadBalancer dapat menerima anotasi Service. Jika dikirim ke NodePort atau LoadBalancer, aliran akan menerima anotasi Service pada kedua hop koneksi.

Traffic yang dikirim langsung ke port Service Pod dianotasi dengan anotasi Service pada endpoint tujuan.

Traffic yang dikirim ke port Service Pod tempat Pod mendukung lebih dari satu Service di port Service yang sama akan dianotasi dengan beberapa Service di endpoint tujuan. Hal ini terbatas untuk dua Service. Jika jumlahnya lebih dari itu, endpoint akan dianotasi dengan penanda MANY_SERVICES khusus.

Anotasi pod pada traffic internet

Traffic antara Pod dan internet tidak menerima anotasi Pod dengan secara default. Log Aliran VPC tidak dapat menambahkan anotasi Pod karena paket ke internet, agen penyamaran menerjemahkan Alamat IP pod ke alamat IP node sebelum VPC Flow Logs melihat paket tersebut.

Karena penyamaran, anotasi Pod hanya terlihat jika tujuannya berada dalam salah satu tujuan non-penyamaran default atau dalam daftar nonMasqueradeCIDRs kustom. Jika Anda menyertakan tujuan internet dalam daftar nonMasqueradeCIDRs kustom, Anda harus memberikan cara agar alamat IP Pod internal dapat diterjemahkan sebelum dikirimkan ke internet. Anda dapat menggunakan Cloud NAT, baik untuk cluster pribadi maupun non-pribadi. Lihat interaksi GKE untuk mengetahui detail selengkapnya.

Pemfilteran log

Saat mengaktifkan Log Aliran VPC, Anda dapat menetapkan filter berdasarkan kolom dasar dan metadata yang hanya menyimpan log yang cocok dengan filter. Semua log lainnya akan dihapus sebelum ditulis ke Logging, sehingga menghemat biaya Anda dan mengurangi waktu yang diperlukan untuk menemukan informasi yang Anda cari.

Anda dapat memfilter {i>subset<i} apa pun yang tercantum di Format data, kecuali untuk kolom berikut:

  • rtt_msec
  • bytes_sent
  • packets_sent
  • start_time
  • end_time

Pemfilteran Log Aliran VPC menggunakan CEL, bahasa ekspresi yang disematkan untuk ekspresi logika berbasis atribut. Ekspresi filter untuk Log Aliran VPC memiliki batas 2.048 karakter. Untuk mengetahui informasi selengkapnya, lihat Operator logika CEL yang didukung.

Untuk informasi selengkapnya tentang CEL, lihat CEL pengantar dan bahasa Google. Fitur filter pembuatan mendukung subset terbatas dari sintaksis CEL.

Untuk mengetahui informasi tentang cara membuat subnet yang menggunakan pemfilteran log, lihat petunjuk gcloud CLI atau API untuk Mengaktifkan Log Aliran VPC saat membuat subnet.

Untuk mengetahui informasi tentang cara mengonfigurasi pemfilteran log, lihat petunjuk gcloud CLI atau API untuk Memperbarui parameter Log Aliran VPC.

Contoh 1: Membatasi pengumpulan log ke VM tertentu yang bernama my-vm. Dalam kasus ini, hanya log dengan kolom src_instance seperti yang dilaporkan oleh sumber traffic adalah my-vm atau kolom dst_instance seperti yang dilaporkan oleh tujuan traffic adalh my-vm yang dicatat.

gcloud compute networks subnets update my-subnet \
    --logging-filter-expr="(src_instance.vm_name == 'my-vm' && reporter=='SRC') || (dest_instance.vm_name == 'my-vm' && reporter=='DEST')"

Contoh 2: Membatasi pengumpulan log ke paket yang alamat IP sumbernya berada di subnet 10.0.0.0/8.

gcloud compute networks subnets update my-subnet \
    --logging-filter-expr="inIpRange(connection.src_ip, '10.0.0.0/8')"

Contoh 3: Membatasi pengumpulan log ke traffic yang bersifat eksternal pada VPC.

gcloud compute networks subnets update my-subnet \
    --logging-filter-expr '!(has(src_vpc.vpc_name) && has(dest_vpc.vpc_name))'

Operator logika CEL yang didukung

Ekspresi Jenis yang didukung Deskripsi
benar, salah Boolean Konstanta Boolean

x == y

x != y

Boolean, Int, String

Operator perbandingan

Contoh: connection.protocol == 6

x && y

x || y

Boolean

Operator logika Boolean

Contoh: connection.protocol == 6 && src_instance.vm_name == "vm_1"

!x Boolean Negasi
1, 2.0, 0, ... Int Literal numerik konstanta
x + y String Penyambungan string
"foo", 'foo', ... String Literal string konstanta
x.lower() String Menampilkan nilai huruf kecil dari string
x.upper() String Menampilkan nilai huruf besar dari string
x.contains(y) String Menampilkan benar jika string berisi substring yang ditentukan
x.startsWith(y) String Menampilkan benar jika string dimulai dengan substring yang ditentukan
x.endsWith(y) String Menampilkan benar jika string diakhiri dengan substring yang ditentukan
inIpRange(X, Y) String

Menampilkan benar jika X adalah IP dan Y adalah rentang IP yang berisi X

Contoh: inIpRange("1.2.3.1", "1.2.3.0/24")

x.containsFieldValue(y) x: list
y: map(string, string)

Menampilkan benar jika daftar berisi objek dengan kolom yang cocok dengan key-value pair yang ditentukan

Contoh: dest_gke_details.service.containsFieldValue({'service_name': 'service1', 'service_namespace': 'namespace1'})

has(x) String

Menampilkan benar jika kolom ada.

Langkah selanjutnya