Skip to content

Commit a88788b

Browse files
Merge pull request #265274 from Saglodha/saglodha-diagnosticerrorlogs
Adding Content for upcoming feature - Diagnostic User Error Logs
2 parents ce4cc6a + 5543d13 commit a88788b

File tree

4 files changed

+118
-11
lines changed

4 files changed

+118
-11
lines changed

articles/event-hubs/monitor-event-hubs-reference.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,63 @@ Name | Description
179179
`OffsetCommit` | Number of offset commit calls made to the event hub
180180
`OffsetFetch` | Number of offset fetch calls made to the event hub.
181181

182+
## Diagnostic Error Logs
183+
Diagnostic error logs capture error messages for any client side, throttling and Quota exceeded errors. They provide detailed diagnostics for error identification.
184+
185+
Diagnostic Error Logs include elements listed in below table:
186+
187+
Name | Description | Supported in Azure Diagnostics | Supported in AZMSDiagnosticErrorLogs (Resource specific table)
188+
---|---|---|---|
189+
`ActivityId` | A randomly generated UUID that ensures uniqueness for the audit activity. | Yes | Yes
190+
`ActivityName` | Operation name | Yes | Yes
191+
`NamespaceName` | Name of Namespace | Yes | yes
192+
`EntityType` | Type of Entity | Yes | Yes
193+
`EntityName` | Name of Entity | Yes | Yes
194+
`OperationResult` | Type of error in Operation (Clienterror or Serverbusy or quotaexceeded) | Yes | Yes
195+
`ErrorCount` | Count of identical errors during the aggregation period of 1 minute. | Yes | Yes
196+
`ErrorMessage` | Detailed Error Message | Yes | Yes
197+
`ResourceProvider` | Name of Service emitting the logs. Possible values: Microsoft.Eventhub and Microsoft.Servicebus | Yes | Yes
198+
`Time Generated (UTC)` | Operation time | No | Yes
199+
`EventTimestamp` | Operation Time | Yes | No
200+
`Category` | Log category | Yes | No
201+
`Type` | Type of Logs emitted | No | Yes
202+
203+
Here's an example of Diagnostic error log entry:
204+
205+
```json
206+
{
207+
"ActivityId": "0000000000-0000-0000-0000-00000000000000",
208+
"SubscriptionId": "<Azure Subscription Id",
209+
"NamespaceName": "Name of Event Hubs Namespace",
210+
"EntityType": "EventHub",
211+
"EntityName": "Name of Event Hub",
212+
"ActivityName": "SendMessage",
213+
"ResourceId": "/SUBSCRIPTIONS/xxx/RESOURCEGROUPS/<Resource Group Name>/PROVIDERS/MICROSOFT.EVENTHUB/NAMESPACES/<Event hub namespace name>",,
214+
"OperationResult": "ServerBusy",
215+
"ErrorCount": 1,
216+
"EventTimestamp": "3/27/2024 1:02:29.126 PM +00:00",
217+
"ErrorMessage": "the request was terminated because the entity is being throttled by the application group with application group name <application group name> and policy name <throttling policy name>.error code: 50013.",
218+
"category": "DiagnosticErrorLogs"
219+
}
220+
221+
```
222+
Resource specific table entry:
223+
```json
224+
{
225+
"ActivityId": "0000000000-0000-0000-0000-00000000000000",
226+
"NamespaceName": "Name of Event Hubs Namespace",
227+
"EntityType": "Event Hub",
228+
"EntityName": "Name of Event Hub",
229+
"ActivityName": "SendMessage",
230+
"ResourceId": "/SUBSCRIPTIONS/xxx/RESOURCEGROUPS/<Resource Group Name>/PROVIDERS/MICROSOFT.EVENTHUB/NAMESPACES/<Event hub namespace name>",,
231+
"OperationResult": "ServerBusy",
232+
"ErrorCount": 1,
233+
"TimeGenerated [UTC]": "1/27/2024 4:02:29.126 PM +00:00",
234+
"ErrorMessage": "The request was terminated because the entity is being throttled by the application group with application group name <application group name> and policy name <throttling policy name>.error code: 50013.",
235+
"Type": "AZMSDiagnosticErrorLogs"
236+
}
237+
238+
```
182239

183240
## Azure Monitor Logs tables
184241
Azure Event Hubs uses Kusto tables from Azure Monitor Logs. You can query these tables with Log Analytics. For a list of Kusto tables the service uses, see [Azure Monitor Logs table reference](/azure/azure-monitor/reference/tables/tables-resourcetype#event-hubs).

articles/event-hubs/monitor-event-hubs.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,11 @@ For metrics that support dimensions, you can apply filters using a dimension val
7474
:::image type="content" source="./media/monitor-event-hubs/metrics-filter-split.png" alt-text="Screenshot showing the Metrics Explorer for an Event Hubs namespace with a filter." lightbox="./media/monitor-event-hubs/metrics-filter-split.png":::
7575

7676
## Analyze logs
77-
Using Azure Monitor Log Analytics requires you to create a diagnostic configuration and enable __Send information to Log Analytics__. For more information, see the [Collection and routing](#collection-and-routing) section. Data in Azure Monitor Logs is stored in tables, with each table having its own set of unique properties. Azure Event Hubs stores data in the following tables: **AzureDiagnostics** and **AzureMetrics**.
77+
Using Azure Monitor Log Analytics requires you to create a diagnostic configuration and enable __Send information to Log Analytics__. For more information, see the [Collection and routing](#collection-and-routing) section. Data in Azure Monitor Logs is stored in tables, with each table having its own set of unique properties. Azure Event Hubs has the capability to dispatch logs to either of two destination tables - Azure Diagnostic or Resource specific tables in Log Analytics.For a detailed reference of the logs and metrics, see [Azure Event Hubs monitoring data reference](monitor-event-hubs-reference.md).
7878

7979
> [!IMPORTANT]
8080
> When you select **Logs** from the Azure Event Hubs menu, Log Analytics is opened with the query scope set to the current workspace. This means that log queries will only include data from that resource. If you want to run a query that includes data from other databases or data from other Azure services, select **Logs** from the **Azure Monitor** menu. See [Log query scope and time range in Azure Monitor Log Analytics](../azure-monitor/logs/scope.md) for details.
8181
82-
For a detailed reference of the logs and metrics, see [Azure Event Hubs monitoring data reference](monitor-event-hubs-reference.md).
83-
8482
### Sample Kusto queries
8583

8684
> [!IMPORTANT]

articles/service-bus-messaging/monitor-service-bus-reference.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,64 @@ Resource specific table entry:
298298

299299
```
300300

301+
## Diagnostic Error Logs
302+
Diagnostic error logs capture error messages for any client side, throttling and Quota exceeded errors. They provide detailed diagnostics for error identification.
303+
304+
Diagnostic Error Logs include elements listed in below table:
305+
306+
Name | Description | Supported in Azure Diagnostics | Supported in AZMSDiagnosticErrorLogs (Resource specific table)
307+
---|---|---|---|
308+
`ActivityId` | A randomly generated UUID that ensures uniqueness for the audit activity. | Yes | Yes
309+
`ActivityName` | Operation name | Yes | Yes
310+
`NamespaceName` | Name of Namespace | Yes | yes
311+
`EntityType` | Type of Entity | Yes | Yes
312+
`EntityName` | Name of Entity | Yes | Yes
313+
`OperationResult` | Type of error in Operation (Clienterror or Serverbusy or quotaexceeded) | Yes | Yes
314+
`ErrorCount` | Count of identical errors during the aggregation period of 1 minute. | Yes | Yes
315+
`ErrorMessage` | Detailed Error Message | Yes | Yes
316+
`Provider` | Name of Service emitting the logs. Possible values: eventhub, relay, and servicebus | Yes | Yes
317+
`Time Generated (UTC)` | Operation time | No | Yes
318+
`EventTimestamp` | Operation Time | Yes | No
319+
`Category` | Log category | Yes | No
320+
`Type` | Type of Logs emitted | No | Yes
321+
322+
Here's an example of Diagnostic error log entry:
323+
324+
```json
325+
{
326+
"ActivityId": "0000000000-0000-0000-0000-00000000000000",
327+
"SubscriptionId": "<Azure Subscription Id",
328+
"NamespaceName": "Name of Service Bus Namespace",
329+
"EntityType": "Queue",
330+
"EntityName": "Name of Service Bus Queue",
331+
"ActivityName": "SendMessage",
332+
"ResourceId": "/SUBSCRIPTIONS/xxx/RESOURCEGROUPS/<Resource Group Name>/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/<service bus namespace name>",,
333+
"OperationResult": "ClientError",
334+
"ErrorCount": 1,
335+
"EventTimestamp": "3/27/2024 1:02:29.126 PM +00:00",
336+
"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.",
337+
"category": "DiagnosticErrorLogs"
338+
}
339+
340+
```
341+
Resource specific table entry:
342+
```json
343+
{
344+
"ActivityId": "0000000000-0000-0000-0000-00000000000000",
345+
"NamespaceName": "Name of Service Bus Namespace",
346+
"EntityType": "Queue",
347+
"EntityName": "Name of Service Bus Queue",
348+
"ActivityName": "SendMessage",
349+
"ResourceId": "/SUBSCRIPTIONS/xxx/RESOURCEGROUPS/<Resource Group Name>/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/<service bus namespace name>",,
350+
"OperationResult": "ClientError",
351+
"ErrorCount": 1,
352+
"TimeGenerated [UTC]": "1/27/2024 4:02:29.126 PM +00:00",
353+
"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.",
354+
"Type": "AZMSDiagnosticErrorLogs"
355+
}
356+
357+
```
358+
301359
[!INCLUDE [service-bus-amqp-support-retirement](../../includes/service-bus-amqp-support-retirement.md)]
302360

303361
## Azure Monitor Logs tables

articles/service-bus-messaging/monitor-service-bus.md

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -109,18 +109,12 @@ For reference, you can see a list of [all resource metrics supported in Azure Mo
109109
For metrics that support dimensions, you can apply filters using a dimension value. For example, add a filter with `EntityName` set to the name of a queue or a topic. You can also split a metric by dimension to visualize how different segments of the metric compare with each other. For more information of filtering and splitting, see [Advanced features of Azure Monitor](../azure-monitor/essentials/metrics-charts.md).
110110

111111
## Analyzing logs
112-
Using Azure Monitor Log Analytics requires you to create a diagnostic configuration and enable __Send information to Log Analytics__. For more information, see the [Collection and routing](#collection-and-routing) section. Data in Azure Monitor Logs is stored in tables, with each table having its own set of unique properties. Azure Service Bus stores data in the following tables: **AzureDiagnostics** and **AzureMetrics**.
112+
Using Azure Monitor Log Analytics requires you to create a diagnostic configuration and enable __Send information to Log Analytics__. For more information, see the [Collection and routing](#collection-and-routing) section. Data in Azure Monitor Logs is stored in tables, with each table having its own set of unique properties.Azure Service Bus has the capability to dispatch logs to either of two destination tables - Azure Diagnostic or Resource specific tables in Log Analytics. For a detailed reference of the logs and metrics, see [Azure Service Bus monitoring data reference](monitor-service-bus-reference.md).
113113

114114
> [!IMPORTANT]
115115
> When you select **Logs** from the Azure Service Bus menu, Log Analytics is opened with the query scope set to the current workspace. This means that log queries will only include data from that resource. If you want to run a query that includes data from other databases or data from other Azure services, select **Logs** from the **Azure Monitor** menu. See [Log query scope and time range in Azure Monitor Log Analytics](../azure-monitor/logs/scope.md) for details.
116116
117-
118-
For a detailed reference of the logs and metrics, see [Azure Service Bus monitoring data reference](monitor-service-bus-reference.md).
119-
120-
### Sample Kusto queries
121-
122-
> [!IMPORTANT]
123-
> When you select **Logs** from the Azure Service Bus menu, Log Analytics is opened with the query scope set to the current Azure Service Bus namespace. This means that log queries will only include data from that resource. If you want to run a query that includes data from other workspaces or data from other Azure services, select **Logs** from the **Azure Monitor** menu. See [Log query scope and time range in Azure Monitor Log Analytics](../azure-monitor/logs/scope.md) for details.
117+
### Additional Kusto queries
124118

125119
Following are sample queries that you can use to help you monitor your Azure Service Bus resources:
126120

0 commit comments

Comments
 (0)