你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure 服务总线监视数据参考

本文包含此服务的所有监视参考信息。

请参阅监视 Azure 服务总线,详细了解可为服务总线收集的数据以及如何使用这些数据。

指标

本部分列出了为此服务自动收集的所有平台指标。 这些指标也是 Azure Monitor 中支持的所有平台指标的全局列表的一部分。

有关指标保留的信息,请参阅 Azure Monitor 指标概述

Microsoft.ServiceBus/Namespaces 支持的指标

下表列出了可用于 Microsoft.ServiceBus/Namespaces 资源类型的指标。

  • 并非所有列都显示在每个表中。
  • 某些列可能超出了页面的查看区域。 选择“展开表”以查看所有可用列。

表标题

  • 类别 - 指标组或分类。
  • 指标 - 在 Azure 门户中显示的指标显示名称。
  • REST API 中的名称 - 在 REST API 中引用的指标名称。
  • 单位 - 度量单位。
  • 聚合 - 默认的聚合类型。 有效值:平均值(平均)、最小值(最小值)、最大值(最大值)、总计(总和)、计数。
  • 维度 - 适用于指标的维度
  • 时间粒度 - 对指标采样的间隔。 例如,PT1M 表示该指标每分钟采样一次,PT30M 表示每 30 分钟一次,PT1H 表示每小时一次,以此类推。
  • DS 导出 - 是否可通过诊断设置将指标导出到 Azure Monitor 日志。 要了解如何导出指标的信息,请参阅在 Azure Monitor 中创建诊断设置
指标 REST API 中的名称 Unit 聚合 维度 时间粒度 DS 导出
已放弃的消息数

队列/主题上放弃的消息计数。
AbandonMessage 计数 总计(总和) EntityName PT1M
ActiveConnections

Microsoft.ServiceBus 的活动连接总数。
ActiveConnections 计数 总计(总和) <无> PT1M
队列/主题中的活动消息计数。

队列/主题中的活动消息计数。
ActiveMessages 计数 平均值、最小值、最大值 EntityName PT1M
完成的消息数

队列/主题上完成的消息计数。
CompleteMessage 计数 总计(总和) EntityName PT1M
关闭的连接数。

Microsoft.ServiceBus 已关闭的连接数。
ConnectionsClosed 计数 平均值 EntityName PT1M
打开的连接数。

Microsoft.ServiceBus 打开的连接数。
ConnectionsOpened 计数 平均值 EntityName PT1M
CPU(已弃用)

服务总线高级命名空间 CPU 使用率指标。 此指标已弃用。 请改用 CPU 指标 (NamespaceCpuUsage)。
CPUXNS 百分比 最大值 Replica PT1M
队列/主题中的死信消息计数。

队列/主题中的死信消息计数。
DeadletteredMessages 计数 平均值、最小值、最大值 EntityName PT1M
传入字节数。

Microsoft.ServiceBus 的传入字节数。
IncomingBytes 字节 总计(总和) EntityName PT1M
传入消息数

Microsoft.ServiceBus 传入的消息数。
IncomingMessages 计数 总计(总和) EntityName PT1M
传入请求数。

Microsoft.ServiceBus 传入的请求数。
IncomingRequests 计数 总计(总和) EntityName PT1M
队列/主题中的消息计数。

队列/主题中的消息计数。
Messages 计数 平均值、最小值、最大值 EntityName PT1M
CPU

服务总线高级命名空间 CPU 使用率指标。
NamespaceCpuUsage 百分比 最大值 Replica PT1M
内存使用率

服务总线高级命名空间内存使用率指标。
NamespaceMemoryUsage 百分比 最大值 Replica PT1M
传出字节数。

Microsoft.ServiceBus 的传出字节数。
OutgoingBytes 字节 总计(总和) EntityName PT1M
传出消息数

Microsoft.ServiceBus 传出的消息数。
OutgoingMessages 计数 总计(总和) EntityName PT1M
挂起的检查点操作计数。

挂起的检查点操作计数。
PendingCheckpointOperationCount 计数 总计(总和) <无> PT1M
ReplicationLagCount

复制滞后时间(按消息计数)
ReplicationLagCount 计数 最大值、最小值、平均值 EntityName PT1M
ReplicationLagDuration

复制滞后时间(按持续时间)
ReplicationLagDuration 最大值、最小值、平均值 EntityName PT1M
队列/主题中的计划消息计数。

队列/主题中的计划消息计数。
ScheduledMessages 计数 平均值、最小值、最大值 EntityName PT1M
服务器错误数。

Microsoft.ServiceBus 的服务器错误数。
ServerErrors 计数 总计(总和) EntityName, OperationResult PT1M
服务器发送延迟。

服务总线资源的发送消息操作的延迟。
ServerSendLatency 毫秒 平均值 EntityName PT1M
大小

队列/主题的大小(以字节为单位)。
Size 字节 平均值、最小值、最大值 EntityName PT1M
成功的请求数。

命名空间的成功请求总数
SuccessfulRequests 计数 总计(总和) EntityName, OperationResult PT1M
限制的请求数。

Microsoft.ServiceBus 限制的请求数。
ThrottledRequests 计数 总计(总和) EntityNameOperationResult、、 MessagingErrorSubCode PT1M
用户错误数。

Microsoft.ServiceBus 的用户错误数。
UserErrors 计数 总计(总和) EntityName, OperationResult PT1M
内存使用率(已弃用)

服务总线高级命名空间内存使用率指标。 此指标已弃用。 请改用内存使用率 (NamespaceMemoryUsage) 指标。
WSXNS 百分比 最大值 Replica PT1M

以下部分提供了上一节中介绍的指标的更详细说明。

请求指标

请求数指标会计算数据量和管理操作请求数。

跃点数 说明
传入请求数 在指定的期间内向服务总线服务发出的请求数。
成功的请求数 在指定的期间内向服务总线服务发出的成功请求数。
服务器错误数 由于服务总线服务发生错误,在指定期间内未处理的请求数。
用户错误 由于存在用户错误,在指定期间内未处理的请求数。
限制的请求数 由于使用量超标,而被限制的请求数。

MessagingErrorSubCode 维度具有以下可能的值:

  • CPU:CPU 限制
  • 存储:指示因检查点操作挂起而限制
  • 命名空间:命名空间操作限制。
  • 未知:其他资源限制。
挂起的检查点操作计数 命名空间上挂起的检查点操作数目。 当挂起的检查点计数超过 (500,000 + (500,000 * 消息传送单元)) 操作数目限制时,服务开始实施限制。 此指标仅适用于使用高级层的命名空间。
服务器发送延迟 服务总线服务完成请求所花的时间。

下面两种类型的错误被归类为用户错误:

  • 客户端错误(在 HTTP 中为 400 错误)。
  • 在处理消息时发生的错误,如 MessageLockLostException

消息指标

以下指标是消息指标

跃点数 说明
传入消息数 在指定的期间内发送到服务总线的事件或消息数。 对于基本层和标准层,传入的自动转发消息包含在此指标中。 对于高级层,此指标不包含它们。
传出消息数 在指定的期间内从服务总线收到的事件或消息数。 传出的自动转发消息不包含在此指标中。
消息 队列/主题中的消息计数。 此指标包括处于所有不同状态(如活动、死信、计划等)的消息。
活动消息 队列/主题中的活动消息的计数。 活动消息是队列或订阅中处于活动状态且已准备发送的消息。 消息可供接收。
死信消息 队列/主题中的死信消息计数。
计划的消息 队列/主题中的计划消息计数。
完成的消息数 在指定时段内完成的消息数。
已放弃的消息数 在指定时段内放弃的消息数。
大小 实体(队列或主题)的大小,以字节为单位。

重要

消息的值,活动、死信、计划、已完成和已放弃的消息的值都是时间点值。 在该时间点之后立即使用的传入消息可能不会反映在这些指标中。

注意

当客户端尝试获取有关队列或主题的信息时,服务总线服务会返回一些静态信息,例如名称、上次更新时间、创建时间,以及是否需要会话。 一些动态信息,如消息计数。 如果请求受到限制,则该服务将返回静态信息和空动态信息。 这就是在命名空间受到限制时消息计数显示为 0 的原因。 此行为是设计使然。

连接指标

以下指标是连接指标

跃点数 说明
活动连接数 命名空间上及其中实体上的活动连接数。 此指标的值为时间点值。 在该时间点之后立即处于活动状态的连接可能不会反映在这些指标中。
打开的连接数 打开的连接数。 此指标的值是一个聚合,包括在聚合时间窗口中打开的所有连接。
关闭的连接数 关闭的连接数。 此指标的值是一个聚合,包括在聚合时间窗口中打开的所有连接。

资源使用情况指标

以下资源指标仅适用于高级层。

跃点数 说明
每个命名空间的 CPU 使用率 命名空间的 CPU 使用百分比。
每个命名空间的内存使用量 命名空间的内存使用百分比。

用于监视高级层命名空间中是否存在中断的重要指标包括:每个命名空间的 CPU 使用率每个命名空间的内存大小。 使用 Azure Monitor 为这些指标设置警报

你可以监视的另一个指标是:限制的请求数。 不过,只要命名空间保持在其内存、CPU 和中转连接限制内,就不会出现问题。 有关详细信息,请参阅 Azure 服务总线高级层中的限制

错误指标

以下指标是错误指标

跃点数 说明
服务器错误数 由于服务总线服务发生错误,在指定期间内未处理的请求数。
用户错误数 由于存在用户错误,在指定期间内未处理的请求数。

异地复制指标

以下指标是异地复制指标:

跃点数 说明
复制滞后持续时间 主要区域和备用区域中的最新操作之间的偏移量(以秒为单位)。
复制滞后计数 主要区域和备用区域中的最新操作之间的操作数量偏移量(以秒为单位)。

指标维度

有关指标维度定义的信息,请参阅多维指标

此服务具有以下与其指标关联的维度。

  • EntityName 服务总线支持命名空间下的消息传送实体。 使用“传入请求”指标时,除了所有查询和主题外,“实体名称”维度还具有 -NamespaceOnlyMetric- 值。 此值表示在命名空间级别发出的请求。 示例包括列出命名空间下所有队列/主题的请求,或对身份验证或授权失败的实体的请求。
  • MessagingErrorSubCode
  • OperationResult
  • 副本

注意

Azure Monitor 不会将维度包括在在发送到目标(如 Azure 存储、Azure 事件中心或 Azure Monitor 日志)的导出指标数据中。

资源日志

本部分列出了可为此服务收集的资源日志类型。 本部分拉取自 Azure Monitor 支持的所有资源日志类别类型列表。

Microsoft.ServiceBus/Namespaces 支持的资源日志

Category 类别显示名称 日志表 支持基本日志计划 支持引入时间转换 示例查询 导出成本
ApplicationMetricsLogs 应用程序指标日志(未使用) AzureDiagnostics

来自多个 Azure 资源的日志。

查询
DiagnosticErrorLogs 诊断错误日志 AzureDiagnostics

来自多个 Azure 资源的日志。

查询
OperationalLogs 操作日志 AzureDiagnostics

来自多个 Azure 资源的日志。

查询
RuntimeAuditLogs 运行时审核日志 AzureDiagnostics

来自多个 Azure 资源的日志。

查询
VNetAndIPFilteringLogs VNet/IP 筛选连接日志 AzureDiagnostics

来自多个 Azure 资源的日志。

查询

本部分列出了可为 Azure 服务总线收集的资源日志类型。

  • 操作日志
  • 虚拟网络和 IP 筛选日志
  • 运行时审核日志

Azure 服务总线现在能够将日志调度到两个目标表之一 - Azure 诊断表或 Log Analytics 中特定于资源的表。 可以使用 Azure 门户上提供的切换按钮来选择目标表。

用于设置目标表的对话框的屏幕截图。

操作日志

运行日志条目包括下表列出的元素:

名称 描述 在 AzureDiagnostics 中受支持 在 AZMSOperationalLogs(特定于资源的表)中受支持
ActivityId 内部 ID,用于标识指定的活动
EventName 操作名称
ResourceId Azure Resource Manager 资源 ID
SubscriptionId 订阅 ID
EventtimeString 操作时间
TimeGenerated [UTC] 执行操作的时间 (UTC)
EventProperties 操作属性
Status 操作状态
Caller 操作的调用方(Azure 门户或管理客户端)
Provider 发出日志的服务名称,例如 ServiceBus
Type 发出的日志类型
Category 日志类别

下面是运行日志 JSON 字符串的示例:

AzureDiagnostics:


{
  "ActivityId": "0000000000-0000-0000-0000-00000000000000",
  "EventName": "Create Queue",
  "resourceId": "/SUBSCRIPTIONS/<AZURE SUBSCRIPTION ID>/RESOURCEGROUPS/<RESOURCE GROUP NAME>/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/<SERVICE BUS NAMESPACE NAME>",
  "SubscriptionId": "0000000000-0000-0000-0000-00000000000000",
  "EventTimeString": "9/28/2016 8:40:06 PM +00:00",
  "EventProperties": "{\"SubscriptionId\":\"0000000000-0000-0000-0000-00000000000000\",\"Namespace\":\"mynamespace\",\"Via\":\"https://mynamespace.servicebus.windows.net/f8096791adb448579ee83d30e006a13e/?api-version=2016-07\",\"TrackingId\":\"5ee74c9e-72b5-4e98-97c4-08a62e56e221_G1\"}",
  "Status": "Succeeded",
  "Caller": "ServiceBus Client",
  "category": "OperationalLogs"
}

特定于资源的表条目:


{
  "ActivityId": "0000000000-0000-0000-0000-00000000000000",
  "EventName": "Retrieve Queue",
  "resourceId": "/SUBSCRIPTIONS/<AZURE SUBSCRIPTION ID>/RESOURCEGROUPS/<RESOURCE GROUP NAME>/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/<SERVICE BUS NAMESPACE NAME>",
  "SubscriptionId": "0000000000-0000-0000-0000-00000000000000",
  "TimeGenerated(UTC)": "9/28/2023 8:40:06 PM +00:00",
  "EventProperties": "{\"SubscriptionId\":\"0000000000-0000-0000-0000-00000000000000\",\"Namespace\":\"mynamespace\",\"Via\":\"https://mynamespace.servicebus.windows.net/f8096791adb448579ee83d30e006a13e/?api-version=2016-07\",\"TrackingId\":\"5ee74c9e-72b5-4e98-97c4-08a62e56e221_G1\"}",
  "Status": "Succeeded",
  "Caller": "ServiceBus Client",
  "type": "AZMSOperationalLogs",
  "Provider" : "SERVICEBUS"
}

在操作日志中捕获的事件和操作

操作日志捕获针对 Azure 服务总线命名空间执行的所有管理操作。 针对 Azure 服务总线执行的数据操作量很大,因此系统不会捕获数据操作。

注意

为了帮助你更好地跟踪数据操作,我们建议使用客户端跟踪。

在操作日志中捕获以下管理操作:

作用域 操作
命名空间 - 创建命名空间
- 更新命名空间
- 删除命名空间
- 更新命名空间
- 检索命名空间
- SharedAccess 策略
队列 - 创建队列
- 更新队列
- 删除队列
- AutoDelete 删除队列
- 检索队列
主题 - 创建主题
- 更新主题
- 删除主题
- AutoDelete 删除主题
- 检索主题
订阅 - 创建订阅
- 更新订阅
- 删除订阅
- AutoDelete 删除订阅
- 检索订阅

注意

目前,不会在操作日志中跟踪“读取”操作。

虚拟网络和 IP 筛选日志

服务总线虚拟网络连接事件 JSON 包含下表列出的元素:

名称 描述 在 Azure 诊断中受支持 在 AZMSVnetConnectionEvents(特定于资源的表)中受支持
SubscriptionId Azure 订阅 ID
NamespaceName 命名空间名称
IPAddress 连接到服务总线服务的客户端的 IP 地址
AddressIP 连接到服务总线的客户端的 IP地址
TimeGenerated [UTC] 执行操作的时间 (UTC)
Action 服务总线服务在评估连接请求时执行的操作。 支持的操作为“接受连接”和“拒绝连接” 。
Reason 提供执行操作的原因
Count 给定操作的发生次数
ResourceId Azure 资源管理器资源 ID。
Category 日志类别
Provider 发出日志的服务名称,例如 ServiceBus
Type 发出的日志类型

注意

只有当命名空间允许从选定的网络或从特定的 IP 地址(IP 筛选器规则)进行访问时,才会生成虚拟网络日志 。

下面是一个虚拟网络日志 JSON 字符串的示例:

AzureDiagnostics:

{
    "SubscriptionId": "0000000-0000-0000-0000-000000000000",
    "NamespaceName": "namespace-name",
    "IPAddress": "1.2.3.4",
    "Action": "Accept Connection",
    "Reason": "IP is accepted by IPAddress filter.",
    "Count": 1,
    "ResourceId": "/SUBSCRIPTIONS/<AZURE SUBSCRIPTION ID>/RESOURCEGROUPS/<RESOURCE GROUP NAME>/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/<SERVICE BUS NAMESPACE NAME>",
    "Category": "ServiceBusVNetConnectionEvent"
}

特定于资源的表条目:

{
  "SubscriptionId": "0000000-0000-0000-0000-000000000000",
  "NamespaceName": "namespace-name",
  "AddressIp": "1.2.3.4",
  "Action": "Accept Connection",
  "Message": "IP is accepted by IPAddress filter.",
  "Count": 1,
  "ResourceId": "/SUBSCRIPTIONS/<AZURE SUBSCRIPTION ID>/RESOURCEGROUPS/<RESOURCE GROUP NAME>/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/<SERVICE BUS NAMESPACE NAME>",
  "Provider" : "SERVICEBUS",
  "Type": "AZMSVNetConnectionEvents"
}

运行时审核日志

运行时审核日志捕获服务总线中各种数据平面访问操作(例如发送或接收消息)的聚合诊断信息。

注意

运行时审核日志目前仅在“高级”层中可用。

运行时审计日志包括下表中列出的元素:

名称 描述 在 Azure 诊断中受支持 在 AZMSRuntimeAuditLogs(特定于资源的表)中受支持
ActivityId 随机生成的 UUID,确保审核活动的唯一性。
ActivityName 运行时操作名称。
ResourceId 与活动关联的资源。
Timestamp 聚合时间。
time Generated (UTC) 聚合时间
Status 活动的状态(成功或失败)。
Protocol 与操作关联的协议类型。
AuthType 身份验证类型(Microsoft Entra ID 或 SAS 策略)。
AuthKey 用于向资源进行身份验证的 Microsoft Entra 应用程序 ID 或 SAS 策略名称。
NetworkType 网络访问类型:PublicPrivate
ClientIP 客户端应用程序的 IP 地址。
Count 在 1 分钟的聚合时间段内执行的操作总数。
Properties 特定于数据平面操作的元数据。
Category 日志类别
Provider 发出日志的服务名称,例如 ServiceBus
Type 发出的日志类型

以下是运行时审核日志条目的示例:

AzureDiagnostics:

{
  "ActivityId": "<activity id>",
  "ActivityName": "ConnectionOpen | Authorization | SendMessage | ReceiveMessage | PeekLockMessage",
  "ResourceId": "/SUBSCRIPTIONS/xxx/RESOURCEGROUPS/<Resource Group Name>/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/<Service Bus namespace>/servicebus/<service bus name>",
  "Time": "1/1/2021 8:40:06 PM +00:00",
  "Status": "Success | Failure",
  "Protocol": "AMQP | HTTP | SBMP", 
  "AuthType": "SAS | AAD", 
  "AuthKey": "<AAD Application Name| SAS policy name>",
  "NetworkType": "Public | Private", 
  "ClientIp": "x.x.x.x",
  "Count": 1, 
  "Category": "RuntimeAuditLogs"
}

特定于资源的表条目:

{
  "ActivityId": "<activity id>",
  "ActivityName": "ConnectionOpen | Authorization | SendMessage | ReceiveMessage | PeekLockMessage",
  "ResourceId": "/SUBSCRIPTIONS/xxx/RESOURCEGROUPS/<Resource Group Name>/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/<Service Bus namespace>/servicebus/<service bus name>",
  "TimeGenerated (UTC)": "1/1/2021 8:40:06 PM +00:00",
  "Status": "Success | Failure",
  "Protocol": "AMQP | HTTP | SBMP", 
  "AuthType": "SAS | AAD", 
  "AuthKey": "<AAD Application Name| SAS policy name>",
  "NetworkType": "Public | Private", 
  "ClientIp": "x.x.x.x",
  "Count": 1, 
  "Provider": "SERVICEBUS",
  "Type"   : "AZMSRuntimeAuditLogs"
}

诊断错误日志

诊断错误日志会记录任何客户端、限制和配额超出错误的错误消息。 诊断错误日志为识别出的错误提供详细的诊断。

诊断错误日志包括此表中列出的元素:

名称 描述 在 Azure 诊断中受支持 在 AZMSDiagnosticErrorLogs(特定于资源的表)中受支持
ActivityId 随机生成的 UUID,确保审核活动的唯一性。
ActivityName 操作名称
NamespaceName 命名空间名称
EntityType 实体类型
EntityName 实体名称
OperationResult 操作中的错误类型(Clienterror 或 Serverbusy 或 quotaexceeded)
ErrorCount 1 分钟聚合时间内相同错误的计数。
ErrorMessage 详细错误消息
Provider 发出日志的服务的名称。 可能的值:eventhub、relay 和 servicebus
Time Generated (UTC) 操作时间
EventTimestamp 操作时间
Category 日志类别
Type 发出的日志类型

下面是诊断错误日志条目的示例:

{
  "ActivityId": "0000000000-0000-0000-0000-00000000000000",
  "SubscriptionId": "<Azure Subscription Id",
  "NamespaceName": "Name of Service Bus Namespace",
  "EntityType": "Queue",
  "EntityName": "Name of Service Bus Queue",
  "ActivityName": "SendMessage",
  "ResourceId": "/SUBSCRIPTIONS/xxx/RESOURCEGROUPS/<Resource Group Name>/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/<service bus namespace name>",,
  "OperationResult": "ClientError",
  "ErrorCount": 1,
  "EventTimestamp": "3/27/2024 1:02:29.126 PM +00:00",
  "ErrorMessage": "the sessionid was not set on a message, and it cannot be sent to the entity. entities that have session support enabled can only receive messages that have the sessionid set to a valid value.",
  "category": "DiagnosticErrorLogs"
}

特定于资源的表条目:

{
  "ActivityId": "0000000000-0000-0000-0000-00000000000000",
  "NamespaceName": "Name of Service Bus Namespace",
  "EntityType": "Queue",
  "EntityName": "Name of Service Bus Queue",
  "ActivityName": "SendMessage",
  "ResourceId": "/SUBSCRIPTIONS/xxx/RESOURCEGROUPS/<Resource Group Name>/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/<service bus namespace name>",,
  "OperationResult": "ClientError",
  "ErrorCount": 1,
  "TimeGenerated [UTC]": "1/27/2024 4:02:29.126 PM +00:00",
  "ErrorMessage": "the sessionid was not set on a message, and it cannot be sent to the entity. entities that have session support enabled can only receive messages that have the sessionid set to a valid value.",
  "Type": "AZMSDiagnosticErrorLogs"
}

Azure Monitor 日志表

本部分列出了与此服务相关的 Azure Monitor 日志表,日志分析可使用 Kusto 查询来查询这些表。 这些表包含资源日志数据,此外还可能包含其他数据,具体取决于所收集并路由到这些表的内容。

2026 年 9 月 30 日,我们将不再支持 Azure 服务总线的 SBMP 协议,因此在 2026 年 9 月 30 日之后,你将无法再使用此协议。 请在该日期之前迁移到最新的使用 AMQP 协议的 Azure 服务总线 SDK 库,新库提供了关键安全更新和改进功能。

有关详细信息,请参阅支持停用公告

Azure 服务总线使用 Azure Monitor 日志中的 Kusto 表。 可以通过 Log Analytics 查询这些表。

服务总线 Microsoft.ServiceBus/namespaces

活动日志

链接表列出了可在此服务的活动日志中记录的操作。 这些操作是活动日志中所有可能的资源提供程序操作的子集。

有关活动日志条目架构的详细信息,请参阅活动日志架构