You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/sentinel/azure-storage-blob-connector-troubleshoot.md
+46-4Lines changed: 46 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,6 +36,7 @@ In this section, we cover these causes:
36
36
1.[The Azure Storage queue isn't receiving notifications for blob created events.](#cause-2-the-azure-storage-queue-isnt-receiving-notifications-for-blob-created-events)
37
37
1.[The Azure Storage Blob connector permissions or networking policies aren't set properly.](#cause-3-the-azure-storage-blob-connector-permissions-or-networking-policies-arent-set-properly)
38
38
1.[The queue message content or Azure Storage Blob data format is invalid.](#cause-4-the-queue-message-content-or-azure-storage-blob-data-format-is-invalid)
39
+
1.[The DCR or DCE configuration is incorrect.](#cause-5-the-dcr-or-dce-configuration-is-incorrect)
39
40
40
41
> [!TIP]
41
42
> If the health feature isn't enabled, [enable it](enable-monitoring.md).
@@ -46,6 +47,7 @@ The upstream system isn't successfully delivering data to the expected storage c
46
47
47
48
#### Solution: Verify data ingress on the storage account
48
49
50
+
1. Verify that the storage account has hierarchical namespace enabled (Azure Data Lake Storage Gen2). The connector requires ADLS Gen2 storage accounts.
49
51
1. In the Azure portal, navigate to the storage account and review the **Metrics** to confirm ingress activity.
50
52
1. Check that the expected storage container is receiving blobs.
51
53
1. If the container is empty, review the upstream producing system for issues delivering data to the account.
@@ -56,11 +58,16 @@ Event Grid system topics facilitate blob created events from the source storage
56
58
57
59
#### Solution: Verify Event Grid system topic and subscription
58
60
59
-
1. Check the resource group's deployments for any failures when creating the system topic resources.
61
+
1. Check the resource group's deployments for any failures when creating the system topic resources. If a system topic already exists on the storage account from a different configuration, it might conflict with the connector's subscription.
60
62
1. If the Event Grid system topic and subscription were successfully created, review the metrics of the Event Grid subscription. Consider [enabling diagnostic logs](/azure/event-grid/enable-diagnostic-logs-topic).
61
63
1. Verify that the subscription source maps to the correct storage account and target queue.
62
64
1. Review the filtering criteria specified under **Additional Features** to ensure it matches expected patterns.
63
65
1. The Event Grid subscription's metrics should show events that match the blob created criteria. If the metrics indicate **Delivery Failed Events**, review the Event Grid's diagnostic logs and continue to the next section for policy-related issues.
66
+
1. Check the storage queue metrics to confirm messages are arriving. In the Azure portal, navigate to the storage account, select **Queues**, and review the **Approximate Messages Count** for the connector queue. If the queue is empty but Event Grid shows successful deliveries, the connector might be consuming messages but failing to process the referenced blobs.
67
+
1. Check the dead-letter queue (DLQ) configured for the connector. Messages that fail processing are moved to the DLQ. If the DLQ contains messages, review them for clues about the failure. For the DLQ URI, see the connector's `request.DlqUri` property in the [Azure Storage Blob connectors API reference](data-connection-rules-reference-azure-storage.md#request-configuration).
68
+
69
+
70
+
:::image type="content" source="./media/azure-storage-blob-connector-troubleshoot/event-grid-subscription-metrics.png" lightbox="./media/azure-storage-blob-connector-troubleshoot/event-grid-subscription-metrics.png" alt-text="Screenshot of Event Grid system topic additional features tab.":::
64
71
65
72
### Cause 3: The Azure Storage Blob connector permissions or networking policies aren't set properly
66
73
@@ -87,22 +94,57 @@ If the service principal and RBAC troubleshooting doesn't surface an issue, the
87
94
- Verify that the storage account isn't using selected network limits via IPv4 CIDR addresses. This approach doesn't work with the connector's IP traffic due to the documented [storage firewall limitations](/azure/storage/common/storage-network-security-limitations#restrictions-for-ip-network-rules) around IP ranges and region affinity of the caller and the account.
88
95
- If NSP is being used to protect the account, enable the [perimeter's diagnostic logs](/azure/private-link/network-security-perimeter-diagnostic-logs) to troubleshoot. NSP rules only apply to resources in **Enforced** access mode. Alternatively, **Transition** mode doesn't apply the rules on the resource while continuing to collect telemetry on traffic patterns. Review the profile associated with the storage account(s):
89
96
- Check that inbound rules for the producer are in place. Check for blob write failures on the producer.
90
-
- Check that inbound rules for the connector are in place per the [Enable network security](enable-storage-network-security.md) documentation.
97
+
- Check that inbound rules for the connector are in place per the [Enable network security](enable-storage-network-security.md) documentation. Verify that the `Scuba` service tag IP ranges are included in the NSP inbound rules.
91
98
- Check that inbound rules include a rule for the subscription of the storage account and Event Grid system topic. Ensure the Event Grid system topic subscription is using **System Assigned** managed identity-based delivery.
92
99
100
+
:::image type="content" source="./media/azure-storage-blob-connector-troubleshoot/system-topic-managed-identity-type.png" lightbox="./media/azure-storage-blob-connector-troubleshoot/system-topic-managed-identity-type.png" alt-text="Screenshot of Network Security Perimeter rules showing inbound rules for the producer and connector, including Scuba service tag and subscription rule.":::
101
+
102
+
93
103
### Cause 4: The queue message content or Azure Storage Blob data format is invalid
94
104
95
105
The blob data format or queue message structure doesn't match the expected configuration.
96
106
97
107
#### Solution: Verify data format and queue messages
98
108
99
-
1. Check the `SentinelHealth` table for clues about invalid messages. If the health data references invalid data, verify that the format of the blobs uploaded to storage matches the serialization and compression model set in the connector definition.
109
+
1. Check the `SentinelHealth` table for clues about invalid messages by running the following query:
110
+
111
+
```kusto
112
+
SentinelHealth
113
+
| where TimeGenerated > ago(1d)
114
+
| where SentinelResourceKind == "StorageAccountBlobContainer"
1. If the health data references invalid data, verify that the format of the blobs uploaded to storage matches the serialization and compression model set in the connector's response configuration. The connector supports the following formats: **JSON**, **CSV**, **XML**, and **Parquet**. For compressed data, verify that the compression algorithm (`gzip`, `multi-gzip`, or `deflate`) matches the connector configuration. For more information, see the [response configuration](data-connection-rules-reference-azure-storage.md#response-configuration) in the API reference.
100
120
1. Queue message format exceptions result from messages in the queue not aligning to the `EventGridSchema` for `BlobCreated` events. Check the Event Grid subscription's **Filters** section to confirm:
101
121
- The filter is set to **Blob Created**.
102
122
- The event schema is **EventGridSchema**.
103
123
124
+
:::image type="content" source="./media/azure-storage-blob-connector-troubleshoot/system-topic-filters.png" lightbox="./media/azure-storage-blob-connector-troubleshoot/system-topic-filters.png" alt-text="Screenshot of Event Grid system topic filters.":::
125
+
126
+
### Cause 5: The DCR or DCE configuration is incorrect
127
+
128
+
The Data Collection Rule (DCR) or Data Collection Endpoint (DCE) referenced by the connector is misconfigured, causing ingestion failures after the connector successfully reads the blob data.
129
+
130
+
#### Solution: Verify the DCR and DCE configuration
131
+
132
+
1. Verify that the DCE referenced in the connector's `dcrConfig.dataCollectionEndpoint` property is accessible and in the same region as the Log Analytics workspace.
133
+
1. Verify that the DCR immutable ID in `dcrConfig.dataCollectionRuleImmutableId` is correct. You can find the immutable ID by viewing the DCR resource properties in the Azure portal or using the [DCR API](/rest/api/monitor/data-collection-rules/get).
134
+
1. Verify that the `streamName` in the connector configuration matches the `streamDeclarations` defined in the DCR.
135
+
1. If the DCR uses a KQL transformation query, test the query independently in the Log Analytics workspace to ensure it's valid.
136
+
1. Verify that the destination table defined in the DCR exists in the Log Analytics workspace and has the expected schema.
137
+
1. For more information on configuring the DCR, see the [DCR configuration](data-connection-rules-reference-azure-storage.md#dcr-configuration) section in the API reference.
138
+
104
139
## Next steps
105
140
106
141
In this article, you learned how to quickly identify causes and resolve common issues with the Azure Storage Blob connector.
107
142
108
-
We welcome feedback, suggestions, requests for features, bug reports or improvements and additions. Go to the [Microsoft Sentinel GitHub repository](https://github.com/Azure/Azure-Sentinel) to create an issue or fork and upload a contribution.
143
+
We welcome feedback, suggestions, requests for features, bug reports or improvements and additions. Go to the [Microsoft Sentinel GitHub repository](https://github.com/Azure/Azure-Sentinel) to create an issue or fork and upload a contribution.
144
+
145
+
## Related content
146
+
147
+
- [Set up your Azure Storage connector to stream logs to Microsoft Sentinel](setup-azure-storage-connector.md)
148
+
- [Azure Storage Blob data connector reference for the Codeless Connector Framework](data-connection-rules-reference-azure-storage.md)
149
+
- [Enable network security on connector integrated storage resources](enable-storage-network-security.md)
150
+
- [Create a codeless connector for Microsoft Sentinel](create-codeless-connector.md)
0 commit comments