帮助手册

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

本文档对您有帮助吗?

您愿意帮助我们改进文档吗?请告诉我们哪些方面可以做得更好。


很抱歉本文档未能让您满意。我们希望了解可以从哪些方面改进您的体验。


感谢您抽出时间分享反馈。我们将利用您的反馈来改进在线帮助资源。

短链接已复制!