Google Cloud Platform VPC 流日志
VPC 流日志提供虚拟私有云(VPC)内网络接口的 IP 流量信息。您可以按照本文档中的步骤,从 Google Cloud Platform(GCP)收集 VPC 流日志,并将其转发至 Site24x7 的 AppLogs 进行监控。
前提条件
已登录的用户应具有项目的所有者级别权限。具体而言,用户应具有以下权限:
- 创建 Pub/Sub 主题并设置其权限。
- 创建和更新日志路由器。
- 创建 Dataflow 作业。
为现有子网启用 VPC 流日志
按照以下步骤为现有子网启用 VPC 流日志。更多信息请参阅 Google 官方文档。
- 在 Google Cloud 控制台中前往 VPC 网络页面。
- 您可以选择要更新的子网,或全选,然后点击流日志。
- 调整聚合间隔和采样率以管理日志和数据摄入成本。例如,如果将采样率保持为 100%,聚合间隔设置为 5 秒,则所有条目都将被保留,从而导致较高的数据摄入成本。
- 点击保存。
GCP VPC 流日志最佳实践
聚合间隔
如需实时排查网络连接问题或检测安全威胁,建议将聚合间隔设置为 5 秒。如果只需要分析网络性能或优化网络成本,建议将聚合间隔设置为 1 分钟、5 分钟或 10 分钟。
采样率
将流量采样率设置为 100%(所有日志)。这将确保 Site24x7 捕获所有网络流量,而不仅仅是一个样本。

从 GCP 转发日志
请按照此文档中的步骤从 GCP 转发日志。在创建日志路由汇时,请确保按如下所示配置日志过滤器:
gcloud logging sinks create SINK_NAME pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_NAME --log-filter='resource.type="gce_subnetwork"'
日志示例
Below is the sample log syntax for VPC Flow Logs:
{
"insertId": "2s85kofd71z0y",
"jsonPayload": {
"reporter": "SRC",
"src_gke_details": {
"pod": {
"pod_name": "packageserver-df86dcdd-qlpnz",
"pod_namespace": "olm"
},
"cluster": {
"cluster_name": "redis-test",
"cluster_location": "us-central1-a"
},
"service": [
{
"service_name": "packageserver-service",
"service_namespace": "olm"
}
]
},
"src_instance": {
"zone": "us-central1-a",
"region": "us-central1",
"project_id": "zylker-a76a7ass",
"vm_name": "gke-redis-test-default-pool-2f152eb2-53hc"
},
"dest_vpc": {
"project_id": "zylker-a76a7ass",
"vpc_name": "default",
"subnetwork_name": "default"
},
"src_vpc": {
"vpc_name": "default",
"project_id": "zylker-a76a7ass",
"subnetwork_name": "default"
},
"dest_instance": {
"region": "us-central1",
"vm_name": "gke-redis-test-default-pool-2f152eb2-x642",
"project_id": "zylker-a76a7ass",
"zone": "us-central1-a"
},
"dest_gke_details": {
"pod": {
"pod_namespace": "kube-system",
"pod_name": "konnectivity-agent-777f7f84d6-57fgj"
},
"cluster": {
"cluster_name": "redis-test",
"cluster_location": "us-central1-a"
}
},
"packets_sent": "8",
"end_time": "2023-10-11T05:25:47.962287597Z",
"bytes_sent": "1448",
"start_time": "2023-10-11T05:25:47.958517575Z",
"connection": {
"dest_ip": "10.10.0.10",
"protocol": 6,
"dest_port": 11111,
"src_ip": "10.10.0.10",
"src_port": 1111
}
},
"resource": {
"type": "gce_subnetwork",
"labels": {
"subnetwork_name": "default",
"project_id": "zylker-a76a7ass",
"location": "us-central1-a",
"subnetwork_id": "12345678901"
}
},
"timestamp": "2023-10-11T05:25:52.288729877Z",
"logName": "projects/zylker-a76a7ass
logs/compute.googleapis.com%2Fvpc_flows",
"
receiveTimestamp": "2023-10-11T05:25:52.288729877Z"
}
VPC 流日志仪表板
以下是 GCP VPC 流日志仪表板上可用的小部件列表:
- 传输总字节数
- 平均传输字节数
- 发送数据包总数
- 平均传输数据包数
- 最大延迟
- 平均延迟
- 按流量排名的源虚拟机
- 源地址位置
- 来自源 IP 的发送总字节数
- 按子网络的流量
- 按小时划分的各协议 VPC 流量
- 随时间变化的发送数据包数
- 按源和目标 IP 地址划分的字节传输量
- 随时间变化的目标平均延迟
- 目标地址位置
- 按 VPC 流量排名的外部目标端口
- 按 VPC 流量排名的外部 IP
- 按流量排名的目标 IP

