为 Azure 中继混合连接启用诊断日志
开始使用 Azure 中继混合连接时,你可能希望监视你的侦听器和发送方是如何以及何时打开和关闭的,以及你的混合连接是如何创建的,消息是如何发送的。 本文概述了 Azure 中继服务提供的活动和诊断日志。
可以查看两种类型的 Azure 中继日志:
- 活动日志:这些日志包含的信息涉及通过 Azure 门户或 Azure 资源管理器模板对命名空间执行的操作。 这些日志始终启用。 例如:“创建或更新命名空间”、“创建或更新混合连接”。
- 诊断日志:使用 API 或语言 SDK,你可以对诊断日志进行配置,以更丰富的视图查看针对命名空间执行操作时所发生的一切。
查看活动日志
若要查看 Azure 中继命名空间的活动日志,请切换到 Azure 门户中的“活动日志”页。
启用诊断日志
注意
诊断日志仅适用于混合连接,不适用于 Windows Communication Foundation (WCF) 中继。
若要启用诊断日志,请执行以下步骤:
在 Azure 门户中,转到你的 Azure 中继命名空间,然后在“监视”下选择“诊断设置”。
在“诊断设置”页中,选择“添加诊断设置” 。
通过以下步骤配置诊断设置:
在“名称”框中,输入诊断设置的名称。
选择“HybridConnectionsEvent”作为日志类型。
为诊断日志选择以下三个目标之一:
- 如果选择“存档到存储帐户”,请配置用于存储诊断日志的存储帐户。
- 如果选择“流式传输到事件中心”,请配置要将诊断日志流式传输到的事件中心。
- 如果选择“发送到 Log Analytics”,请指定要将诊断发送到其中的 Log Analytics 实例。
在工具栏上选择“保存”,保存这些设置。
新设置将在大约 10 分钟后生效。 日志将显示在“诊断日志”窗格中配置的存档目标中。 有关配置诊断设置的详细信息,请参阅 Azure 诊断日志概述。
混合连接事件的架构
混合连接事件日志 JSON 字符串包括下表中列出的元素:
名称 | 说明 |
---|---|
ResourceId | Azure Resource Manager 资源 ID |
ActivityId | 内部 ID,用于标识指定的操作。 也称为“TrackingId” |
端点 | 中继资源的地址 |
OperationName | 所记录的混合连接操作的类型 |
EventTimeString | 日志记录的 UTC 时间戳 |
消息 | 事件的详细消息 |
类别 | 事件的类别。 目前只有 HybridConnectionsEvents 。 |
混合连接事件示例
下面是 JSON 格式的混合连接事件示例。
{
"resourceId": "/SUBSCRIPTIONS/0000000000-0000-0000-0000-0000000000000/RESOURCEGROUPS/MyResourceGroup/PROVIDERS/MICROSOFT.RELAY/NAMESPACES/MyRelayNamespace",
"ActivityId": "7006a0db-27eb-445c-939b-ce86133014cc",
"endpoint": "sb://myrelaynamespace.servicebus.chinacloudapi.cn/myhybridconnection/7006a0db-27eb-445c-939b-ce86133014cc_G5",
"operationName": "Microsoft.Relay/HybridConnections/NewSenderRegistering",
"EventTimeString": "2020-04-27T20:27:57.3842810Z",
"message": "A new sender is registering.",
"category": "HybridConnectionsEvent"
}
VNet/IP 筛选连接日志的架构
混合连接 VNet/IP 筛选连接日志包括下表中列出的元素:
名称 | 描述 | 在 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 筛选器规则)进行访问时,才会生成虚拟网络日志 。
示例 VNet 和 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.RELAY/NAMESPACES/<RELAY NAMESPACE NAME>",
"Category": "VNetAndIPFilteringLogs"
}
特定于资源的表条目:
{
"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.RELAY/NAMESPACES/<RELAY NAMESPACE NAME>",
"Provider" : "RELAY",
"Type": "AZMSVNetConnectionEvents"
}
诊断日志中捕获的事件和操作
操作 | 说明 |
---|---|
AuthorizationFailed | 授权失败。 |
InvalidSasToken | 无效 SAS 令牌。 |
ListenerAcceptingConnection | 侦听器正在接受连接。 |
ListenerAcceptingConnectionTimeout | 正在接受连接的侦听器已超时。 |
ListenerAcceptingHttpRequestFailed | 由于出现异常,正在接受 HTTP 请求的侦听器失败。 |
ListenerAcceptingRequestTimeout | 正在接受请求的侦听器已超时。 |
ListenerClosingFromExpiredToken | 侦听器正在关闭,因为安全令牌已过期。 |
ListenerRejectedConnection | 侦听器已拒绝了连接。 |
ListenerReturningHttpResponse | 侦听器正在返回 HTTP 响应。 |
ListenerReturningHttpResponseFailed | 侦听器正在返回带有失败代码的 HTTP 响应。 |
ListenerSentHttpResponse | 中继服务已收到来自侦听器的 HTTP 响应。 |
ListenerUnregistered | 侦听器被注销。 |
ListenerUnresponsive | 侦听器在返回响应时无响应。 |
MessageSendingToListener | 正在向侦听器发送消息。 |
MessageSentToListener | 消息已发送到侦听器。 |
NewListenerRegistered | 注册了新的侦听器。 |
NewSenderRegistering | 正在注册新的发送方。 |
ProcessingRequestFailed | 处理某个混合连接操作失败。 |
SenderConnectionClosed | 发送方连接已关闭。 |
SenderListenerConnectionEstablished | 发送方和侦听器已成功建立连接。 |
SenderSentHttpRequest | 发送方发送了一个 HTTP 请求。 |
后续步骤
若要详细了解 Azure 中继,请参阅: