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:
|
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:
|
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:
|
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.
|
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:
|
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:
|
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:
|
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:
|
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 .
|
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, sepertisrc_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. |