Skip to content

Commit 584a975

Browse files
committed
troubleshooting
1 parent df278cc commit 584a975

5 files changed

Lines changed: 48 additions & 6 deletions

File tree

articles/sentinel/TOC.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1025,10 +1025,10 @@
10251025
href: data-connection-rules-reference-gcp.md
10261026
- name: Azure Storage Blob data connector reference
10271027
href: data-connection-rules-reference-azure-storage.md
1028+
- name: Enable network security for Azure Storage Blob data connector
1029+
href: enable-storage-network-security.md
10281030
- name: Troubleshoot Azure Storage Blob connector issues
10291031
href: azure-storage-blob-connector-troubleshoot.md
1030-
- name: AWS data connectors API reference
1031-
href: data-connection-rules-reference-aws.md
10321032
- name: Sample API requests for creating Data Collection Rules (DCRs)
10331033
href: api-dcr-reference.md
10341034
- name: Microsoft Purview Information Protection reference

articles/sentinel/azure-storage-blob-connector-troubleshoot.md

Lines changed: 46 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ In this section, we cover these causes:
3636
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)
3737
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)
3838
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)
3940

4041
> [!TIP]
4142
> 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
4647

4748
#### Solution: Verify data ingress on the storage account
4849

50+
1. Verify that the storage account has hierarchical namespace enabled (Azure Data Lake Storage Gen2). The connector requires ADLS Gen2 storage accounts.
4951
1. In the Azure portal, navigate to the storage account and review the **Metrics** to confirm ingress activity.
5052
1. Check that the expected storage container is receiving blobs.
5153
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
5658

5759
#### Solution: Verify Event Grid system topic and subscription
5860

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.
6062
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).
6163
1. Verify that the subscription source maps to the correct storage account and target queue.
6264
1. Review the filtering criteria specified under **Additional Features** to ensure it matches expected patterns.
6365
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.":::
6471

6572
### Cause 3: The Azure Storage Blob connector permissions or networking policies aren't set properly
6673

@@ -87,22 +94,57 @@ If the service principal and RBAC troubleshooting doesn't surface an issue, the
8794
- 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.
8895
- 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):
8996
- 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.
9198
- 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.
9299

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+
93103
### Cause 4: The queue message content or Azure Storage Blob data format is invalid
94104

95105
The blob data format or queue message structure doesn't match the expected configuration.
96106

97107
#### Solution: Verify data format and queue messages
98108

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"
115+
| where Status != "Success"
116+
| distinct TimeGenerated, OperationName, SentinelResourceName, Status, Description
117+
```
118+
119+
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.
100120
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:
101121
- The filter is set to **Blob Created**.
102122
- The event schema is **EventGridSchema**.
103123
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+
104139
## Next steps
105140
106141
In this article, you learned how to quickly identify causes and resolve common issues with the Azure Storage Blob connector.
107142
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)
39.5 KB
Loading
25.2 KB
Loading
49.8 KB
Loading

0 commit comments

Comments
 (0)