查看多播群组成员资格事件日志

本页面介绍了可用于监控多播群组成员资格事件(例如 IGMP 加入)的日志,并介绍了如何启用和查看这些日志。

您可以使用这些日志来了解多播群组中的活动,例如多播使用方何时加入和离开,或者一个群组中有多少个多播使用方。

群组成员资格事件日志简介

Google Cloud 会将多播的群组成员资格事件日志写入 Cloud Logging

下表总结了每种资源类型可用的日志,包括接收日志的项目。如需详细了解记录的事件和日志格式,请参阅后续部分。

资源 日志说明
多播群组范围

群组范围的所有多播使用方的群组成员资格事件日志。

这些日志只能在多播管理员项目中使用。

您可以同时针对全球多播群组范围和可用区级多播群组范围激活配置日志记录。请参阅为多播群组范围启用日志记录

多播群组使用方激活

为群组范围和可用区激活的特定多播使用方 VPC 网络中的多播使用方的群组成员资格事件日志。

这些日志可在包含多播使用方资源的项目中使用(这些项目可以是多播管理员项目,也可以是单独的多播使用方项目,具体取决于多播网域的拓扑)。

请参阅为多播群组使用方激活启用日志记录

记录的事件

本部分介绍了在 Cloud Logging 中为多播记录的群组成员资格事件。

当多播使用方发送 IGMP 成员资格报告以加入群组时,生成的日志消息如下所示:

  • 成功加入 IGMP 后,系统会生成两条日志消息:IGMP join request received 消息,后跟 IGMP consumer joined
  • 加入 IGMP 失败后,系统会生成两条日志消息:IGMP join request received 消息,后跟 IGMP join request rejected due to *
  • 对于已成功加入群组的多播使用方,keepalive IGMP 加入请求会使系统生成一条 IGMP join request received 消息。

如需查看记录的事件及其说明的完整列表,请参阅下表。

事件 说明
IGMP join request received

Google Cloud 控制平面收到了加入请求。此消息并不能确认加入已成功完成。

系统会记录每个加入请求,包括多播使用方在 IGMP 协议中定期发送的 keepalive 请求。

IGMP consumer joined

Google Cloud 控制平面已成功将多播使用方添加到群组。此事件传播到网域的多播基础设施后,多播使用方会开始接收多播流量。

此事件始终在 IGMP join request received 事件之后发生。

IGMP consumer left

Google Cloud 控制平面收到来自多播使用方的明确 IGMP 退出请求,并应用了该请求。

IGMP consumer timed out

Google Cloud 控制平面从群组中移除了多播使用方,因为多播使用方停止通过 keepalive 请求进行响应。

Consumer removed due to configuration change

Google Cloud 控制平面从群组中移除了多播使用方,因为使用方端点已被删除。例如,使用方实例或项目可能已被删除。

IGMP join request rejected due to full tree

Google Cloud 控制平面收到了加入请求,但拒绝了该请求,因为多播群组的容量已满。

IGMP join request rejected due to missing quota

Google Cloud 控制平面收到了加入请求,但拒绝了该请求,因为多播使用方 VPC 网络已耗尽其每个 VPC 网络的多播使用方虚拟机配额。

IGMP join request rejected due to unknown reason

Google Cloud 控制平面收到了加入请求,但拒绝了该请求,因为发生了没有专门原因所导致的失败。

IGMP entitlement rejected

Google Cloud 控制平面收到了加入请求,但拒绝了该请求,因为所需的多播使用方配置不完整,例如在以下情况下:

  • 多播使用方 VPC 网络配置不完整。
  • 多播使用方 VPC 网络配置尚未传播到网域的多播基础设施。
  • 多播使用方未针对 IGMP 进行配置。

此事件仅在多播群组使用方激活资源的日志中可用。

Consumer network activated

为多播群组范围激活了多播使用方 VPC 网络。这与多播群组使用方激活资源的创建相对应。

此事件仅供多播管理员在多播群组范围资源的日志中使用。

Consumer network deactivated

对多播群组范围停用了多播使用方 VPC 网络。这意味着多播群组使用方激活资源已被删除或其状态已更改为 OBSOLETE

此事件仅供多播管理员在多播群组范围资源的日志中使用。

多播群组范围的日志格式

本部分介绍了包含多播网域和群组范围资源的多播管理员项目中可用的群组成员资格事件日志的格式。

这些日志是针对给定多播群组范围的所有多播使用方的成员资格事件而写入的。您可以按照为多播群组范围启用日志记录中所述,同时针对全球多播群组范围和可用区级多播群组范围激活资源配置日志记录。

Cloud Logging 受监控的资源类型和日志名称如下:

  • 资源类型networkservices.googleapis.com/MulticastGroupRange
  • 日志名称networkservices.googleapis.com%2Fmulticast_memberships

日志格式因所记录事件的类型而异。如需了解详情,请参阅以下各个标签页中的表格。

IGMP 事件

如果记录的事件是 IGMP 事件,日志会包含以下字段:

字段 类型 说明
consumerIp 字符串 多播使用方的主要内部 IPv4 地址。示例:10.0.0.1
consumerLocation 字符串 多播使用方 VPC 的可用区。示例:us-east5-a
consumerNetwork 资源 多播使用方 VPC 网络。仅填充整数 ID。示例:
      consumerNetwork {
       id: "1234"
      }
      
consumerProject 项目 包含多播使用方 VPC 网络的项目。仅填充项目编号。示例:
      consumerProject {
       number: "5678"
      }
      
consumerResource 资源 多播使用方虚拟机实例。仅填充整数 ID。示例:
      consumerResource {
       id: "1111"
      }
      
consumerResourceProject 项目 包含多播使用方虚拟机实例的项目。这可能与包含多播使用方 VPC 网络的项目不同,例如使用共享 VPC 时。仅填充项目编号。示例:
      consumerResourceProject {
       number: "4321"
      }
      
eventDescription 字符串 记录的事件中介绍的事件之一。示例:IGMP consumer joined
eventTime 字符串 事件的时间戳,采用 RFC 3339 文本格式。示例:2024-10-21T06:46:42.990162973Z
multicastDomain 字符串 多播网域的名称。示例:my-domain-name
multicastGroupRange 字符串 多播群组范围的名称。示例:my-group-range-name
multicastIp 字符串 多播群组的 IP 地址。示例:224.0.0.1

激活/停用

如果记录的事件是多播使用方 VPC 网络激活或停用,则日志会包含以下字段:

字段 类型 说明
consumerLocation 字符串 在其中激活多播使用方 VPC 网络的可用区。示例:us-east5-a
consumerNetwork 资源 多播使用方 VPC 网络。仅填充整数 ID。示例:
      consumerNetwork {
       id: "1234"
      }
      
consumerProject 项目 包含多播使用方 VPC 网络的项目。仅填充项目编号。示例:
      consumerProject {
       number: "5678"
      }
      
eventDescription 字符串 记录的事件中介绍的事件之一。示例:Consumer network activated
eventTime 字符串 事件的时间戳,采用 RFC 3339 文本格式。示例:2024-10-21T06:46:42.990162973Z
multicastDomain 字符串 多播网域的名称。示例:my-domain-name
multicastGroupRange 字符串 多播群组范围的名称。示例:my-group-range-name

系统将整数 ID 用于多播使用方的资源(例如项目、网络和实例),以保护隐私。

多播群组使用方激活的日志格式

本部分介绍了包含多播使用方资源的项目中可用的群组成员资格事件日志的格式。项目可以是多播管理员项目,也可以是单独的多播使用方项目,具体取决于多播网域的拓扑。

这些日志是针对为多播群组范围和可用区激活的给定 VPC 网络中的多播使用方成员资格事件而写入的。您可以按照为多播群组使用方激活启用日志记录中所述,针对可用区级多播群组使用方激活资源配置日志记录。

Cloud Logging 受监控的资源类型和日志名称如下:

  • 资源类型networkservices.googleapis.com/MulticastGroupConsumerActivation
  • 日志名称networkservices.googleapis.com%2Fmulticast_memberships

日志包含以下字段:

字段 类型 说明
consumerIp 字符串 多播使用方的主要内部 IPv4 地址。示例:10.0.0.1
consumerLocation 字符串 多播使用方的可用区。示例:us-east5-a
consumerNetwork 资源 多播使用方 VPC 网络。例如:
        consumerNetwork {
          name: "my-network"
          id: "1234"
        }
        
consumerProject 项目 包含多播使用方 VPC 网络的项目。例如:
        consumerProject {
          id: "my-project"
          number: "5678"
        }
        
consumerResource 资源 多播使用方虚拟机实例。例如:
        consumerResource {
          name: "my-instance"
          id: "1111"
        }
        
consumerResourceProject 项目 包含多播使用方虚拟机实例的项目。这可能与包含多播使用方 VPC 网络的项目不同,例如使用共享 VPC 时。例如:
        consumerResourceProject {
          id: "my-instance-project"
          number: "4321"
        }
        
eventDescription 字符串 记录的事件中介绍的事件之一。示例:IGMP consumer joined
eventTime 字符串 事件的时间戳,采用 RFC 3339 文本格式。示例:2024-10-21T06:46:42.990162973Z
multicastConsumerAssociation 字符串 多播使用方 VPC 网络与网域之间的多播使用方关联的名称。示例:my-consumer-association-name
multicastGroupConsumerActivation 字符串 多播群组使用方激活的名称。示例:my-group-consumer-activation-name
multicastIp 字符串 多播群组的 IP 地址。示例:224.0.0.1

与多播群组范围日志不同,多播群组使用方激活日志会将字符串 ID 用于项目和网络,因为这些日志仅适用于包含多播使用方资源的项目。

字段格式参考

项目

字段 类型 说明
number 字符串 (uint64) 项目的自动生成的整数 ID。示例:5678
id 字符串 项目的用户分配 ID。示例:my-project

资源

字段 类型 说明
id 字符串 (uint64) 资源的自动生成的整数 ID。示例:1111
name 字符串 资源的用户分配名称。示例:my-instance

启用群组成员资格事件日志记录

以下部分介绍了如何为多播群组范围或特定多播使用方 VPC 网络启用群组成员资格事件日志记录。

为多播群组范围启用日志记录

本部分介绍了多播管理员如何为现有多播群组范围配置群组成员资格事件日志记录。

如需详细了解如何在创建新的多播群组范围时配置日志记录,请参阅创建多播群组范围。成员资格事件日志记录默认处于停用状态。

您可以对以下两个资源配置成员资格事件日志记录:

  • 多播群组范围:全球群组范围的日志记录配置会应用于该群组范围的所有激活。
  • 多播群组范围激活:可用区级群组范围激活的日志记录配置会替换全球群组范围配置。

gcloud

  • 如需为多播群组范围启用或停用日志记录,请使用 network-services multicast-group-ranges update 命令

    gcloud beta network-services multicast-group-ranges update GROUP_RANGE_NAME \
        --location=global \
        [--enable-logging | --no-enable-logging]
    

    替换以下内容:

    • GROUP_RANGE_NAME:多播群组范围的名称
    • --[no-]enable-logging:确定是否启用成员资格事件日志记录。
      • 如需启用日志记录,请使用 --enable-logging
      • 如需停用日志记录,请使用 --no-enable-logging
  • 如需为多播群组范围激活启用或停用日志记录,请使用 network-services multicast-group-range-activations update 命令

    gcloud beta network-services multicast-group-range-activations update GROUP_RANGE_ACTIVATION_NAME \
        --location=ZONE \
        [--enable-logging | --no-enable-logging]
    

    替换以下内容:

    • GROUP_RANGE_ACTIVATION_NAME:多播群组范围激活的名称
    • ZONE:多播群组范围激活的可用区
    • --[no-]enable-logging:确定是否启用成员资格事件日志记录。
      • 如需启用日志记录,请使用 --enable-logging
      • 如需停用日志记录,请使用 --no-enable-logging

API

  • 如需为多播群组范围启用或停用日志记录,请使用 multicastGroupRanges.patch 方法

    PATCH https://networkservices.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/multicastGroupRanges/GROUP_RANGE_NAME?updateMask=logConfig
    {
      "logConfig": {"enabled": "LOGGING_ENABLED"}
    }
    

    替换以下内容:

    • PROJECT_ID:项目的 ID
    • GROUP_RANGE_NAME:多播群组范围的名称
    • LOGGING_ENABLED:指定是否启用了成员资格事件日志记录。
      • 如需启用日志记录,请设置为 true
      • 如需停用日志记录,请设置为 false
  • 如需为多播群组范围激活启用或停用日志记录,请使用 multicastGroupRangeActivations.patch 方法

    PATCH https://networkservices.googleapis.com/v1beta1/projects/PROJECT_ID/locations/ZONE/multicastGroupRangeActivations/GROUP_RANGE_ACTIVATION_NAME?updateMask=logConfig
    {
      "logConfig": {"enabled": "LOGGING_ENABLED"}
    }
    

    替换以下内容:

    • PROJECT_ID:项目的 ID
    • GROUP_RANGE_ACTIVATION_NAME:多播群组范围激活的名称
    • ZONE:多播群组范围激活的可用区
    • LOGGING_ENABLED:指定是否启用了成员资格事件日志记录。
      • 如需启用日志记录,请设置为 true
      • 如需停用日志记录,请设置为 false

为多播群组使用方激活启用日志记录

本部分介绍了多播使用方网络管理员如何为其 VPC 网络配置群组成员资格事件日志记录。

对于您已使其能够使用多播流量的给定 VPC 网络,您可以对相应的多播群组使用方激活配置成员资格事件日志记录。

如需详细了解如何在创建新的多播群组使用方激活时配置日志记录,请参阅使 VPC 网络能够使用多播流量。成员资格事件日志记录默认处于停用状态。

gcloud

如需为多播群组使用方激活启用或停用日志记录,请使用 network-services multicast-group-consumer-activations update 命令

  gcloud beta network-services multicast-group-consumer-activations update GROUP_CONSUMER_ACTIVATION_NAME \
      --location=ZONE \
      [--enable-logging | --no-enable-logging]

替换以下内容:

  • GROUP_CONSUMER_ACTIVATION_NAME:多播群组使用方激活的名称
  • ZONE:多播群组使用方激活的可用区
  • --[no-]enable-logging:确定是否启用成员资格事件日志记录。
    • 如需启用日志记录,请使用 --enable-logging
    • 如需停用日志记录,请使用 --no-enable-logging

API

如需为多播群组使用方激活启用或停用日志记录,请使用 multicastGroupConsumerActivations.patch 方法

  PATCH https://networkservices.googleapis.com/v1beta1/projects/PROJECT_ID/locations/ZONE/multicastGroupConsumerActivations/GROUP_CONSUMER_ACTIVATION_NAME?updateMask=logConfig
  {
    "logConfig": {"enabled": "LOGGING_ENABLED"}
  }

替换以下内容:

  • PROJECT_ID:项目的 ID
  • GROUP_CONSUMER_ACTIVATION_NAME:多播群组使用方激活的名称
  • ZONE:多播群组使用方激活的可用区
  • LOGGING_ENABLED:指定是否启用了成员资格事件日志记录。
    • 如需启用日志记录,请设置为 true
    • 如需停用日志记录,请设置为 false

查看群组成员资格事件日志

本部分介绍了如何查看多播的群组成员资格事件日志。

如需了解详情,请参阅 Logs Explorer 概览

控制台

  1. 在 Google Cloud 控制台中,前往 Logs Explorer 页面。

    转到日志浏览器

  2. 如需查看多播群组成员资格事件日志,请从所有资源列表中选择以下受监控的资源类型之一:

    • 如果您是多播管理员,并且想要查看群组中所有多播使用方的群组成员资格事件日志,请选择多播群组范围
    • 如果您是多播使用方 VPC 网络管理员,并且想要查看网络的群组成员资格事件日志,请选择多播群组使用方激活

后续步骤