查看多播群组成员资格事件日志
本页面介绍了可用于监控多播群组成员资格事件(例如 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 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 控制平面收到了加入请求,但拒绝了该请求,因为所需的多播使用方配置不完整,例如在以下情况下:
此事件仅在多播群组使用方激活资源的日志中可用。 |
Consumer network activated |
为多播群组范围激活了多播使用方 VPC 网络。这与多播群组使用方激活资源的创建相对应。 此事件仅供多播管理员在多播群组范围资源的日志中使用。 |
Consumer network deactivated |
对多播群组范围停用了多播使用方 VPC 网络。这意味着多播群组使用方激活资源已被删除或其状态已更改为 此事件仅供多播管理员在多播群组范围资源的日志中使用。 |
多播群组范围的日志格式
本部分介绍了包含多播网域和群组范围资源的多播管理员项目中可用的群组成员资格事件日志的格式。
这些日志是针对给定多播群组范围的所有多播使用方的成员资格事件而写入的。您可以按照为多播群组范围启用日志记录中所述,同时针对全球多播群组范围和可用区级多播群组范围激活资源配置日志记录。
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:项目的 IDGROUP_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:项目的 IDGROUP_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:项目的 IDGROUP_CONSUMER_ACTIVATION_NAME:多播群组使用方激活的名称ZONE:多播群组使用方激活的可用区LOGGING_ENABLED:指定是否启用了成员资格事件日志记录。- 如需启用日志记录,请设置为
true。 - 如需停用日志记录,请设置为
false。
- 如需启用日志记录,请设置为
查看群组成员资格事件日志
本部分介绍了如何查看多播的群组成员资格事件日志。
如需了解详情,请参阅 Logs Explorer 概览。
控制台
在 Google Cloud 控制台中,前往 Logs Explorer 页面。
如需查看多播群组成员资格事件日志,请从所有资源列表中选择以下受监控的资源类型之一:
- 如果您是多播管理员,并且想要查看群组中所有多播使用方的群组成员资格事件日志,请选择多播群组范围。
- 如果您是多播使用方 VPC 网络管理员,并且想要查看网络的群组成员资格事件日志,请选择多播群组使用方激活。