借助 Flow Analyzer,您可以快速高效地了解您的虚拟私有云 (VPC) 流量,而无需编写复杂的 SQL 查询来分析 VPC 流日志。借助 Flow Analyzer,您可以利用 5 元组粒度(来源 IP 地址、目标 IP 地址、来源端口、目标端口和协议)执行定向的网络流量分析。
Flow Analyzer 是使用 Log Analytics 开发的,并由 BigQuery 提供支持,可深入分析虚拟机实例的入站和出站流量。借助该工具,您可以监控、排查问题和优化网络部署,从而提高性能和增强安全性,从而有助于确保合规性并节省成本。
Flow Analyzer 会分析存储在日志存储桶中的 VPC 流日志数据(记录格式)。如需使用 Flow Analyzer,您必须选择一个包含 VPC 流日志的日志存储桶的项目。如需了解详情,请参阅 VPC 流日志概览。VPC 流日志可用于网络监控、取证、实时安全分析和费用优化。
Flow Analyzer 会针对 VPC 流日志中包含的字段运行查询。如需了解详情,请参阅 VPC 流日志的关键属性。
使用 Flow Analyzer,您可以执行以下任务:
- 构建并运行针对 VPC 流日志的简单查询
- 针对 VPC 流日志构建 SQL 过滤器(使用 WHERE 语句)
- 使用所选字段整理结果,并使用总流量和汇总数据包对查询结果进行排序
- 查看选定时间间隔内的流量
- 以图表形式查看随时间变化的流量前五名(与其他流量相比)
- 以表格形式查看在所选时段内流量总和最高的资源
- 查看查询结果中特定来源和目标对之间流量的详细信息
- 使用 VPC 流日志中提供的其他字段对查询结果进行深入分析
工作原理
VPC 流日志会记录虚拟机实例和 Google Kubernetes Engine 节点等 VPC 资源发送和接收的网络流样本。
您可以在 Cloud Logging 中查看流日志,并将日志导出至日志导出功能支持的任意目标。您可以使用 Log Analytics 运行查询来分析日志数据,然后以图表和表格形式显示查询结果。
借助 Flow Analyzer,您可以使用 Log Analytics 对 VPC 流日志运行查询,并通过提供最高数据流图表和详细说明所有数据流的详细信息的表格等信息,详细了解流量。
查询组件
如需分析和了解您的流量,您必须对 VPC 流日志运行查询。Flow Analyzer 可帮助您构建查询、自定义显示选项,并深入分析以查看和监控流量。
流量汇总
如需分析 VPC 流量,您必须确定汇总方法,以滤除资源之间的流量。Flow Analyzer 会通过以下方式整理流日志以进行汇总:
- 来源和目标:此选项使用 VPC 流日志中包含的 SRC 和 DEST 信息。此视图汇总了从来源到目标的流量。
- 客户端和服务器:此选项会尝试查找连接的发起方。端口号较小的资源被视为服务器。它还会将具有 gke_service 定义的资源视为服务器,因为服务不会发起请求。此视图会汇总两个方向的流量。
时间范围选择器
默认时间范围为 1 小时,但您可以从预设时间选项中进行选择、指定自定义开始时间和结束时间,或者使用时间范围选择器将时间范围以特定时间戳为中心。例如,如果您想查看过去一周的数据,请从时间范围选择器中选择过去 1 周。
您还可以使用时间范围选择器设置时区偏好设置。
基础过滤器
基本过滤条件可让您定义查询的范围。查询结果中仅显示与您选择的过滤条件相匹配的流。您可以为以下内容选择过滤条件:
- 来源和目标(如果流量汇总设置为来源 - 目标)
- 客户端和服务器(如果流量汇总设置为客户端 - 服务器)
- 流参数
在每个过滤条件列表中,您可以添加多个过滤条件表达式。如果您为同一过滤条件选择多个值,系统会使用 OR 运算符。如果您选择多个过滤条件,系统会使用 AND 运算符。
例如,如果您选择两个 IP 地址值(10.10.0.10
和 10.10.0.20
)以及两个国家/地区值(usa
和 fra
),系统会将以下过滤逻辑应用于查询:(IP=10.10.0.10 OR IP=10.10.0.20) AND (Country=usa OR Country=fra)
。
如需使用基本过滤条件构建和运行查询,请参阅构建和运行查询。
SQL 过滤器
如需构建复杂的查询,您可以使用 SQL 过滤条件。使用复杂查询,您可以执行以下任务:
- 比较字段值
- 使用 AND/OR 和嵌套 OR 运算构建复杂的布尔逻辑
- 使用 BigQuery 函数对 IP 地址执行复杂操作
SQL 过滤条件查询使用 BigQuery SQL 语法。如需了解详情,请参阅 BigQuery SQL 语法。
如需查看过滤表达式语法和示例,请点击过滤表达式语法和示例。
如需使用 SQL 过滤条件构建和运行查询,请参阅构建和运行 SQL 查询。
查询结果
查询结果包含以下组成部分:
- “最高数据流”图表:显示随时间变化的五大最高流量以及其他流量。您可以使用此图表发现流量激增等趋势。
- “所有数据流”表:显示在所选时间段内汇总的最多 10,000 行流量。此表格显示了在定义查询的过滤条件时选择用于整理数据流的字段。
显示选项
运行查询后,您可以使用各种显示选项进一步优化结果。图表和表格都会更新,以反映新选择的选项。如需选择自定义选项并运行查询,请参阅自定义显示选项。
指标类型
您可以选择查看以下指标类型之一。
发送的字节数:包含有关载荷量的信息,但不包含标头。此指标值可以为零,因为某些数据包只有标头,不包含任何载荷。
发送的数据包数:表示从来源到目标发送的数据包数。
对于这两种指标类型,您都可以选择其他指标汇总。
指标聚合
您可以通过以下方式查看指标汇总。
如果您选择发送的字节数作为指标,并选择来源和目标作为流量汇总,则可使用以下选项:
- 总流量:默认情况下始终处于启用状态,用于显示所选时间段的总流量。
- 平均流量速率:显示所选时间段的平均流量速率(以每秒字节数为单位),仅针对观察到流量的校准时间段进行计算。如需了解详情,请参阅校准时间段。
- 流量速率中位数:显示所选时间段的流量速率中位数(以每秒字节数为单位),仅针对观察到流量的校准时间段进行计算。如需了解详情,请参阅校准时间段。
- P95 流量速率:显示所选时间段内第 95 百分位流量速率(以每秒字节为单位),仅针对观察到流量的校准时间段进行计算。如需了解详情,请参阅校准时间段。
- 流量速率上限:显示所选时间段内的流量速率上限(以每秒字节为单位)。
如果您选择发送的数据包数作为指标,并选择来源和目标作为流量汇总,则可使用以下选项:
- 汇总数据包:显示所选时间段内发送的数据包数。默认处于启用状态。
- 平均数据包速率:显示所选时间段的平均数据包速率,仅针对观察到流量的校准时间段进行计算。如需了解详情,请参阅校准时间段。
- 数据包速率中位数:显示所选时间段的数据包速率中位数,仅针对观察到流量的校准时间段进行计算。如需了解详情,请参阅校准时间段。
- P95 数据包速率:显示所选时间段内 95 百分位的数据包速率,仅针对观察到流量的校准时间段进行计算。如需了解详情,请参阅校准时间段。
- 数据包速率上限:显示所选时间段的数据包速率上限。
校准时间段
您可以选择图表中详细信息的时间范围,范围为 5 秒到 1 天。自动模式会根据所选期限的长度来选择最佳校准时间段。
时间轴上的每个点都代表特定时间段的汇总数据。此时间段的长度称为校准时间段。
随着校准时间段值的降低,性能会下降。如果校准时间段的值较高,图表的细分程度会降低。您可能无法查看值较高的短暂峰值。
对于较长的时间段,较短的校准时间段没有帮助。例如,如果您选择 30 天内 1 分钟的校准,Flow Analyzer 会生成超过 43,000 个数据点。由于这比 4K 显示屏像素多 10 倍,因此您将无法查看所有详细信息,并且某些选项会在较长时间段内处于停用状态。
如需详细了解如何进行采样以及如何确定校准时间段以显示查询结果,请参阅指标和校准时间段。
采样点
对于虚拟机之间的网络通信,在发送和接收流量的虚拟机上均可使用流日志(并应用了采样)。如果两个端点虚拟机都在启用了 VPC 流日志的子网中,则系统会报告两次相同的流。您可以选择以下四种方法之一来确定哪些 VPC 流日志会计入计算的指标,以及如何评估这些指标:
- 来源端点:在流的来源端点报告的已发送字节数或已发送数据包数
- 目标端点:在流的目标端点报告的已发送字节数或已发送数据包数
- 来源端点和目标端点的总和:流的两个端点报告的发送字节数或发送数据包数的总和
- 来源端点和目标端点的平均值:如果 VPC 流日志中同时提供来源信息和目标信息,则为流的两个端点报告的已发送字节数或数据包数的平均值
流量去重
为避免在来源虚拟机和目标虚拟机中报告的流量被重复计数,您可以选择来源端点和目标端点的平均值采样选项。Flow Analyzer 会在每个校准时间段内识别等效流量,并计算报告的指标值(字节数和数据包数)的平均值。
对于在 SRC 和 DEST 中都报告了等效流量的校准时间段,所有归属于该时间段的流量都会被除以 2。
查看详细流信息
在所有数据流表格中,点击任意数据流的详细信息。随即会显示详细流信息面板。此面板提供来源、目标、流量、深入分析选项和出站自治系统 (AS) 路径等信息。
深入分析视图
您可以使用额外字段拆分所选流量,从而进行深入分析。例如,如果某个流包含有关从 Google Cloud 区域 X 到区域 Y 的 1,000 GiB 流量的常规详细信息,您可以使用其他字段(例如来源 IP 地址)进行深入分析。结果包含构成原始流量的多个 IP 地址。
选择深入分析组件中显示的字段,如下所示:
- 当您访问详细流信息时,Flow Analyzer 会运行多个查询。每个查询都尝试使用 VPC 流日志中可用且原始查询中尚未使用过的字段来深入分析所选流。例如,如果执行的查询已包含 IP 地址详细信息,则无需再次使用此字段运行查询,也无法使用此字段进行深入分析。
- 如果任何其他查询返回单个字段值,则会添加到来源和目标详情部分,即使之前未提取该值也是如此。
- 如果任何查询结果包含多个字段值,相应字段就会显示在深入分析列表中。
当您在深入分析列表中选择某个字段时,深入分析表格和图表会更新为显示前 3 个流量。
您还可以使用与过去的效果进行比较切换开关。选择此功能可查看六条线:三条实线代表深入分析数据中的前三名流量发送者排行,三条虚线用相应颜色代表过去的流量。
如需使用更多字段深入分析流量,请参阅深入分析流量。
出站 AS 路径视图
在出站 AS 路径标签页中,您可以查看出站数据包经过的 AS 路径,以到达 Google Cloud网络之外的目标地址。AS 路径可以包含多个自治系统编号 (ASN)。
您可以使用流参数列表中的出站 AS 路径过滤器来控制出站 AS 路径标签页中显示哪些 AS 详细信息。例如,您可以使用比较条件字段中的长度超过和长度不到选项来指定每个 AS 路径的 ASN 数量。如需查看包含特定 ASN 的 AS 路径,您可以使用包含第一个 ASN 或包含 ASN 选项。
出站流量 AS 路径图表中边缘的厚度会根据流日志数量加权。在图表的 AS 路径中,边缘表示包含边缘连接的两个 ASN 的流日志的数量。出站 AS 路径图表上显示的数据会根据您在运行查询时选择的出站 AS 路径过滤选项和时间段而变化。
在 Log Analytics 中探索
您可以在 Log Analytics 中查看原始 SQL 查询。
对于高级分析,您可以直接修改用于直观呈现流量的 SQL 代码。在 Log Analytics 中探索功能会将您定向到包含预填查询的 Log Analytics 页面。
后续步骤
- 指标和校准时间段
- 分析流量
- 启用 Log Analytics
- 配置中心存储桶
- 通过 Flow Analyzer 运行 Connectivity Tests
- 监控流量
- 在 Flow Analyzer 中排查数据问题