查看 ULL 流量的流日志

本页面介绍了 VPC 流日志中对超低延迟 (ULL) 单播和多播流量的支持。

VPC 流日志会在 ULL 虚拟私有云 (VPC) 网络中收集数据包,以生成流日志。流日志通过 IP 连接(5 元组)汇总。

这些日志可用于网络监控、取证、安全分析和费用优化。例如,多播提供方可以使用基于日志的指标来跟踪多播使用方的丟包。如需了解详情, 请参阅 Cloud Logging 文档中的 基于日志的指标概览。

如需了解详情,请参阅 VPC 流日志概览。

ULL 流量的 VPC 流日志记录

下表总结了 ULL 单播和多播流量的 VPC 流日志记录中包含的独特信息,具体取决于流的报告者和流量类型。表中的信息适用于 ULL Compute Engine 实例。

如需查看 VPC 流日志记录中字段的完整列表,请参阅 关于 VPC 流日志记录。

流报告者 日志说明
ULL 单播来源或目标实例 VPC 流日志记录包含以下附加信息:
  • 实例丟包(适用于来源实例)
  • 网络丟包
  • 网络延迟时间
  • 网络抖动

如需了解详情,请参阅 ULL 单播的记录格式。

ULL 多播使用方 VPC 流日志记录包含以下附加信息:
  • 有关相应多播网域和群组范围的信息,以便您可以观察从多播群组到多播使用方的吞吐量。
  • 网络丟包
  • 网络延迟时间

如需了解详情,请参阅 ULL 多播使用方的记录格式。

ULL 单播的记录格式

下表介绍了 ULL 单播流量的 VPC 流日志记录中的独特字段和字段格式差异。

对于给定的 ULL 单播流,VPC 流日志可能会为同一流量生成多个不同的流日志记录:

  • 一条记录,用于记录成功传送的数据包。默认情况下会生成此记录。唯一的例外情况是发生实例出站丟包,或者在极少数情况下,在 聚合时间间隔内发生 100% 的网络丟包。

  • 一条或多条记录,用于记录丢弃的数据包,具体取决于丢弃原因。 只有在发生丟包时才会生成这些记录。

如需详细了解每条日志记录中的字段,请参阅下表。

字段 字段格式 字段类型:基本或可选元数据
disposition 字符串
如果日志表示丟包,则此字段会填充值 DROPPED。否则,此字段不会填充。
底座
drop_reason 字符串
如果 disposition 字段的值为 DROPPED, 则此字段会填充以下某个值:
  • LOST_IN_TRANSIT:表示网络丢包
  • SPOOFED_SOURCE:表示由 来源 IP 地址欺骗导致的实例出站丟包
  • UNREACHABLE_DESTINATION:表示由未知目标导致的实例出站丟包
底座
one_way_network_latencies 延迟时间
如果 disposition 未填充, 表示没有丟包,则此字段会填充在聚合时间间隔内测量的单向网络延迟时间(以毫秒为单位,精确度为纳秒级)。延迟时间测量不包括应用消耗的时间。如果未填充,则 测量不可用。
底座
one_way_network_latency_jitter LatencyJitter
如果 disposition 未填充(表示没有丟包),则此字段会填充来源实例和目标实例之间的单向网络抖动(以毫秒为单位,精确度为纳秒级)。
底座
rtt_msec 不会针对 ULL 单播流量进行填充。 底座
round_trip_time 不会针对 ULL 单播流量进行填充。 底座
bytes_sent int64
填充方式如下:
  • 如果 disposition 字段未填充,则此字段 是从来源发送到目标的用户载荷字节数。
  • 如果 disposition 字段填充了值 DROPPED 和原因 LOST_IN_TRANSIT,则此字段是丢弃的用户载荷字节数。
  • 如果 disposition 字段填充了值 DROPPED 和原因 SPOOFED_SOURCE 或 UNREACHABLE_DESTINATION,则此字段不会填充。
假设来源发送了 1000 字节,但 由于网络丟包而丢弃了 100 字节。在这种情况下,系统会生成两条单独的日志:一条日志包含 bytes_sent: 900,另一条日志包含 bytes_sent: 100。
底座
packets_sent int64
填充方式如下:
  • 如果 disposition 字段未填充,则此字段 是从来源发送到目标的数据包数量。
  • 如果 disposition 字段填充了值 的 DROPPED 和原因 LOST_IN_TRANSIT,则此字段是丢弃的数据包数量。
  • 如果 disposition 字段填充了值 DROPPED 和原因 SPOOFED_SOURCE 或 UNREACHABLE_DESTINATION,则此字段不会填充。
底座

ULL 多播使用方的记录格式

下表介绍了当流的报告者是多播使用方时,多播流量的 VPC 流日志记录中的独特字段和字段格式差异。

对于给定的多播使用方流,VPC 流日志会为同一流量生成最多两条单独的流日志记录:

  • 一条记录,用于记录成功传送的数据包。默认 情况下会生成此记录,但在极少数情况下,聚合时间间隔内发生 100% 的网络丟包时除外。
  • 一条记录,用于记录丢弃的数据包。只有在发生丟包时才会生成此记录。

如需详细了解每条日志记录中的字段,请参阅下表。

字段 字段格式 字段类型:基本或可选元数据
disposition 字符串
如果日志表示丟包,则此字段会填充值 DROPPED。否则,此字段不会填充。
底座
drop_reason 字符串
如果 disposition 字段的值为 DROPPED, 则此字段会填充值 LOST_IN_TRANSIT。 否则,此字段不会填充。
底座
one_way_network_latencies 延迟时间
如果 disposition 未填充, 表示没有丟包,则此字段会填充在聚合时间间隔内测量的单向网络延迟时间(以毫秒为单位,精确度为纳秒级)。延迟时间测量不包括应用消耗的时间。如果未填充,则 测量不可用。
底座
rtt_msec 不会针对多播流量进行填充。 底座
round_trip_time 不会针对多播流量进行填充。 底座
bytes_sent int64
填充方式如下:
  • 如果 disposition 字段未填充,则此字段 是从 多播提供方发送到使用方的用户载荷字节数。
  • 如果 disposition 字段填充了值 DROPPED,则此字段是丢弃的用户 载荷字节数。
假设多播提供方发送了 1000 字节,但 丢弃了 100 字节。在这种情况下,系统会生成两条单独的日志:一条日志包含 bytes_sent: 900,另一条日志包含 bytes_sent: 100。
底座
packets_sent int64
填充方式如下:
  • 如果 disposition 字段未填充,则此字段 是从多播提供方发送到使用方的数据包数量。
  • 如果 disposition 字段填充了值 的 DROPPED,则此字段是丢弃的数据包数量。
底座
来源和目标元数据字段
src_multicast_group_consumer_activation MulticastGroupConsumerActivationDetails
如果流的目的地是多播群组 IP 地址,并且 流的报告者是多播使用方,则此字段中会填充多播使用方关联和群组使用方激活详细信息。
元数据

字段格式参考

本部分提供了流日志记录中字段格式的参考。

如需查看 VPC 流日志记录中字段格式的完整列表,请参阅 关于 VPC 流日志记录。

Latencies 字段格式

字段 类型 说明
median_msec 双精度 在聚合时间间隔内测量的中位延迟时间。

LatencyJitter 字段格式

字段 类型 说明
median_msec 双精度 中位延迟时间抖动。

MulticastGroupConsumerActivationDetails 字段格式

字段 类型 说明
project_id 字符串 包含多播使用方 VPC 网络的项目的 ID。
地理位置 字符串 多播使用方的可用区。
name 字符串 为群组范围激活多播使用方 VPC 网络时创建的多播群组使用方激活的名称。
domain_association 字符串 多播使用方 VPC 网络与网域之间的多播使用方关联的名称。

在 Cloud Logging 中查看流日志

您可以在 Cloud Logging 中查看流日志,并将日志导出至 Cloud Logging 导出功能支持的任意目的地。

如需在 Cloud Logging 中查看流日志,请执行以下操作:

  1. 如果您尚未配置 VPC 流日志,请进行配置。请参阅 VPC 流日志文档中的配置 VPC 流日志。
  2. 请按照步骤访问流日志。

使用 Flow Analyzer 分析流量

借助 Flow Analyzer,您可以快速高效地了解流量,而无需编写复杂的 SQL 查询。如需了解详情,请参阅 Flow Analyzer 概览。

在开始之前,请查看以下限制:

  • Flow Analyzer 中提供了 ULL 流量的 VPC 流日志记录 中的所有信息,但 ULL 单播丟包除外。
  • Connectivity Tests 不支持多播。在 Flow Analyzer 中,用于运行 Connectivity Tests 的界面选项在适用情况下处于停用状态。

如需分析流量,请执行以下操作:

  1. 如果您尚未启用 Observability Analytics,请进行启用。请参阅 Flow Analyzer 文档中的 启用 Observability Analytics。

  2. 请按照步骤,通过构建和运行流日志查询来分析流量 。

    分析 ULL 单播和多播流量时,请注意以下事项:

    • 过滤条件:基本过滤条件 可让您定义查询的范围。
    • 显示选项:运行查询后,您可以使用显示选项优化结果。
      • 如需查看吞吐量数据,请使用 数据量 显示模式。
      • 如需查看延迟时间和抖动数据,请使用延迟时间 显示模式。
        • 如需查看延迟时间,请确保为 指标类型 选择单向(中位数) 。虽然往返时间 (RTT) 是默认指标 类型,但此数据在 ULL 单播和多播 流日志中不可用。
        • 如需查看抖动,请为指标类型 选择单向抖动 。
      • 如需查看丟包数据,请使用丢包数 显示模式。丢包率数据仅适用于多播流量。以下选项可用于 丢包数 显示模式:
        • 指标类型:与数据量可用的指标类型类似,您可以选择发送的数据包数(默认)和发送的字节数。
        • 显示时间轴:使用此选项可确定如何计算和显示丟包:
          • 丢包率 (默认):显示丢弃的总流量的百分比。
          • 丢包数:显示丢弃的数据包或字节数。
        • 高级设置、采样点:与数据量的采样点选项类似,您可以选择一种方法来确定哪些流日志有助于显示:
          • 来源和目标 (默认):流的任一端点报告的丟包。
          • 来源:流的来源端点报告的丟包。
          • 目标:流的目标 端点报告的丟包。

        此外,在查看丟包数据时,您可以点击 给定流的丢弃原因列中的值,详细了解特定丟包事件以及如何缓解该事件。

多播字段的过滤条件参考

本部分提供了与多播流量的 VPC 流日志记录字段对应的 Flow Analyzer 过滤条件的参考。

多播使用方日志的过滤条件

VPC 流日志记录中的字段 Flow Analyzer 中的过滤条件 过滤条件类型
MulticastGroupConsumerActivationDetails
src_multicast_group_consumer_activation.project_id 多播使用方项目 ID 流参数
src_multicast_group_consumer_activation.location 多播使用方位置 流参数
src_multicast_group_consumer_activation.name 多播使用方激活名称 流参数
src_multicast_group_consumer_activation.domain_association 多播使用方网域关联 流参数