Skip to content

Commit 992f0db

Browse files
authored
Merge pull request #231026 from AbdullahBell/ddos-view-diag-logs
DDoS Protection: View Azure DDOS Protection logs in log analytics workspace
2 parents e440a33 + 7b0f1ef commit 992f0db

File tree

9 files changed

+126
-84
lines changed

9 files changed

+126
-84
lines changed

articles/azure-monitor/essentials/resource-logs-schema.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,13 @@ The schema for resource logs varies depending on the resource and log category.
6868
| Azure Database for MySQL | [Azure Database for MySQL diagnostic logs](../../mysql/concepts-server-logs.md#diagnostic-logs) |
6969
| Azure Database for PostgreSQL | [Azure Database for PostgreSQL logs](../../postgresql/concepts-server-logs.md#resource-logs) |
7070
| Azure Databricks | [Diagnostic logging in Azure Databricks](/azure/databricks/administration-guide/account-settings/azure-diagnostic-logs) |
71-
| Azure DDoS Protection | [Logging for Azure DDoS Protection](../../ddos-protection/monitor-ddos-protection-reference.md#log-schemas) |
71+
| Azure DDoS Protection | [Logging for Azure DDoS Protection](../../ddos-protection/ddos-view-diagnostic-logs.md#example-log-queries) |
7272
| Azure Digital Twins | [Set up Azure Digital Twins diagnostics](../../digital-twins/troubleshoot-diagnostics.md#log-schemas)
7373
| Azure Event Hubs |[Azure Event Hubs logs](../../event-hubs/event-hubs-diagnostic-logs.md) |
7474
| Azure ExpressRoute | [Monitoring Azure ExpressRoute](../../expressroute/monitor-expressroute.md#collection-and-routing) |
7575
| Azure Firewall | [Logging for Azure Firewall](../../firewall/logs-and-metrics.md#diagnostic-logs) |
7676
| Azure Front Door | [Logging for Azure Front Door](../../frontdoor/front-door-diagnostics.md) |
77-
| Azure Functions | [Monitoring Azure Functions Data Reference Resource Logs](https://learn.microsoft.com/azure/azure-functions/monitor-functions-reference#resource-logs) |
77+
| Azure Functions | [Monitoring Azure Functions Data Reference Resource Logs](../../azure-functions/monitor-functions-reference.md#resource-logs) |
7878
| Azure IoT Hub | [IoT Hub operations](../../iot-hub/monitor-iot-hub-reference.md#resource-logs) |
7979
| Azure IoT Hub Device Provisioning Service| [Device Provisioning Service operations](../../iot-dps/monitor-iot-dps-reference.md#resource-logs) |
8080
| Azure Key Vault |[Azure Key Vault logging](../../key-vault/general/logging.md) |

articles/ddos-protection/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@
6868
items:
6969
- name: View alerts in Microsoft Defender for Cloud
7070
href: ddos-view-alerts-defender-for-cloud.md
71+
- name: View diagnostic logs in Log Analytics workspace
72+
href: ddos-view-diagnostic-logs.md
7173
- name: Test with simulation partners
7274
href: test-through-simulations.md
7375
- name: Manage permissions and restrictions
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
---
2+
title: 'View Azure DDoS Protection logs in Log Analytics workspace'
3+
description: Learn how to view DDoS protection diagnostic logs in Log Analytics workspace.
4+
services: ddos-protection
5+
author: AbdullahBell
6+
ms.service: ddos-protection
7+
ms.topic: how-to
8+
ms.workload: infrastructure-services
9+
ms.date: 03/22/2023
10+
ms.author: abell
11+
---
12+
13+
# View Azure DDoS Protection logs in Log Analytics workspace
14+
15+
In this guide, you'll learn how to view Azure DDoS Protection diagnostic logs, including notifications, mitigation reports and mitigation flow logs.
16+
## Prerequisites
17+
18+
- An Azure account with an active subscription. [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F).
19+
- [DDoS Network Protection](manage-ddos-protection.md) must be enabled on a virtual network or [DDoS IP Protection](manage-ddos-protection-powershell-ip.md) must be enabled on a public IP address.
20+
- Configure DDoS Protection diagnostic logs. To learn more, see [Configure diagnostic logs](diagnostic-logging.md).
21+
- Simulate an attack using one of our simulation partners. To learn more, see [Test with simulation partners](test-through-simulations.md).
22+
23+
### View in log analytics workspace
24+
25+
1. Sign in to the [Azure portal](https://portal.azure.com/).
26+
1. In the search box at the top of the portal, enter **Log Analytics workspace**. Select **Log Analytics workspace** in the search results.
27+
1. Under the **Log Analytics workspaces** blade, select your workspace.
28+
1. On the left-side tab, select **Logs**. Here you'll see the query explorer. Exit out the *Queries* pane to utilize the *Logs* page.
29+
30+
:::image type="content" source="./media/ddos-view-diagnostic-logs/ddos-select-logs-in-workspace.png" alt-text="Screenshot of viewing a log analytics workspace.":::
31+
32+
1. In the *Logs* page, type in your query then hit *Run* to view results.
33+
34+
:::image type="content" source="./media/ddos-view-diagnostic-logs/ddos-notification-logs.png" alt-text="Screenshot of viewing DDoS Protection notification logs in log analytics workspace.":::
35+
36+
## Example log queries
37+
38+
### DDoS Protection Notifications
39+
40+
Notifications will notify you anytime a public IP resource is under attack, and when attack mitigation is over.
41+
42+
```kusto
43+
AzureDiagnostics
44+
| where Category == "DDoSProtectionNotifications"
45+
```
46+
47+
48+
The following table lists the field names and descriptions:
49+
50+
| Field name | Description |
51+
| --- | --- |
52+
| **TimeGenerated** | The date and time in UTC when the notification was created. |
53+
| **ResourceId** | The resource ID of your public IP address. |
54+
| **Category** | For notifications, this will be `DDoSProtectionNotifications`.|
55+
| **ResourceGroup** | The resource group that contains your public IP address and virtual network. |
56+
| **SubscriptionId** | Your DDoS protection plan subscription ID. |
57+
| **Resource** | The name of your public IP address. |
58+
| **ResourceType** | This will always be `PUBLICIPADDRESS`. |
59+
| **OperationName** | For notifications, this will be `DDoSProtectionNotifications`. |
60+
| **Message** | Details of the attack. |
61+
| **Type** | Type of notification. Possible values include `MitigationStarted`. `MitigationStopped`. |
62+
| **PublicIpAddress** | Your public IP address. |
63+
64+
### DDoS Mitigation FlowLogs
65+
66+
Attack mitigation flow logs allow you to review the dropped traffic, forwarded traffic and other interesting data-points during an active DDoS attack in near-real time. You can ingest the constant stream of this data into Microsoft Sentinel or to your third-party SIEM systems via event hub for near-real time monitoring, take potential actions and address the need of your defense operations.
67+
68+
```kusto
69+
AzureDiagnostics
70+
| where Category == "DDoSMitigationFlowLogs"
71+
```
72+
73+
| Field name | Description |
74+
| --- | --- |
75+
| **TimeGenerated** | The date and time in UTC when the flow log was created. |
76+
| **ResourceId** | The resource ID of your public IP address. |
77+
| **Category** | For flow logs, this will be `DDoSMitigationFlowLogs`.|
78+
| **ResourceGroup** | The resource group that contains your public IP address and virtual network. |
79+
| **SubscriptionId** | Your DDoS protection plan subscription ID. |
80+
| **Resource** | The name of your public IP address. |
81+
| **ResourceType** | This will always be `PUBLICIPADDRESS`. |
82+
| **OperationName** | For flow logs, this will be `DDoSMitigationFlowLogs`. |
83+
| **Message** | Details of the attack. |
84+
| **SourcePublicIpAddress** | The public IP address of the client generating traffic to your public IP address. |
85+
| **SourcePort** | Port number ranging from 0 to 65535. |
86+
| **DestPublicIpAddress** | Your public IP address. |
87+
| **DestPort** | Port number ranging from 0 to 65535. |
88+
| **Protocol** | Type of protocol. Possible values include `tcp`, `udp`, `other`.|
89+
90+
### DDoS Mitigation FlowLogs
91+
92+
Attack mitigation reports use the Netflow protocol data, which is aggregated to provide detailed information about the attack on your resource. Anytime a public IP resource is under attack, the report generation will start as soon as the mitigation starts. There will be an incremental report generated every 5 mins and a post-mitigation report for the whole mitigation period. This is to ensure that in an event the DDoS attack continues for a longer duration of time, you'll be able to view the most current snapshot of mitigation report every 5 minutes and a complete summary once the attack mitigation is over.
93+
94+
```kusto
95+
AzureDiagnostics
96+
| where Category == "DDoSMitigationReports"
97+
```
98+
99+
| Field name | Description |
100+
| --- | --- |
101+
| **TimeGenerated** | The date and time in UTC when the notification was created. |
102+
| **ResourceId** | The resource ID of your public IP address. |
103+
| **Category** | For notifications, this will be `DDoSProtectionNotifications`.|
104+
| **ResourceGroup** | The resource group that contains your public IP address and virtual network. |
105+
| **SubscriptionId** | Your DDoS protection plan subscription ID. |
106+
| **Resource** | The name of your public IP address. |
107+
| **ResourceType** | This will always be `PUBLICIPADDRESS`. |
108+
| **OperationName** | For notifications, this will be `DDoSProtectionNotifications`. |
109+
| **Message** | Details of the attack. |
110+
| **Type** | Type of notification. Possible values include `MitigationStarted`. `MitigationStopped`. |
111+
| **PublicIpAddress** | Your public IP address. |
112+
113+
114+
## Next steps
115+
116+
*[Engage DDoS Rapid Response](ddos-rapid-response.md)

articles/ddos-protection/diagnostic-logging.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ In this guide, you'll learn how to configure Azure DDoS Protection diagnostic lo
5252

5353
### Query Azure DDOS Protection logs in log analytics workspace
5454

55-
For more information on log schemas, see [Monitoring Azure DDoS Protection](monitor-ddos-protection-reference.md#diagnostic-logs).
55+
For more information on log schemas, see [View diagnostic logs](ddos-view-diagnostic-logs.md#example-log-queries).
5656
#### DDoSProtectionNotifications logs
5757

5858
1. Under the **Log analytics workspaces** blade, select your log analytics workspace.
98.3 KB
Loading
114 KB
Loading
108 KB
Loading
64.7 KB
Loading

articles/ddos-protection/monitor-ddos-protection-reference.md

Lines changed: 5 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ author: AbdullahBell
55
ms.author: abell
66
ms.service: ddos-protection
77
ms.topic: conceptual
8-
ms.date: 12/19/2022
8+
ms.date: 03/22/2023
99
ms.custom: template-concept
1010
---
1111

1212
# Monitoring Azure DDoS Protection
1313

1414

15-
See [Tutorial: View and configure Azure DDoS protection telemetry](telemetry.md) for details on collecting, analyzing, and monitoring DDoS Protection.
15+
The following section outlines the metrics of the Azure DDoS Protection service.
1616

1717
## Metrics
1818

@@ -56,87 +56,11 @@ The following [Azure Monitor metrics](../azure-monitor/essentials/metrics-suppor
5656
| UDPPacketsDroppedDDoS​ | Inbound UDP packets dropped DDoS​ | CountPerSecond​ | Maximum​ | Inbound UDP packets dropped DDoS​ |
5757
| UDPPacketsForwardedDDoS​ | Inbound UDP packets forwarded DDoS​ | CountPerSecond​ | Maximum​ | Inbound UDP packets forwarded DDoS​ |
5858
| UDPPacketsInDDoS​ | Inbound UDP packets DDoS​ | CountPerSecond​ | Maximum​ | Inbound UDP packets DDoS​ |
59-
## Diagnostic logs
60-
61-
See [Tutorial: View and configure Azure DDoS Protection diagnostic logging](diagnostic-logging.md) for details on attack insights and visualization with DDoS Attack Analytics.
62-
63-
The following diagnostic logs are available for Azure DDoS Protection:
64-
65-
- **DDoSProtectionNotifications**: Notifications will notify you anytime a public IP resource is under attack, and when attack mitigation is over.
66-
- **DDoSMitigationFlowLogs**: Attack mitigation flow logs allow you to review the dropped traffic, forwarded traffic and other interesting data-points during an active DDoS attack in near-real time. You can ingest the constant stream of this data into Microsoft Sentinel or to your third-party SIEM systems via event hub for near-real time monitoring, take potential actions and address the need of your defense operations.
67-
- **DDoSMitigationReports**: Attack mitigation reports use the Netflow protocol data, which is aggregated to provide detailed information about the attack on your resource. Anytime a public IP resource is under attack, the report generation will start as soon as the mitigation starts. There will be an incremental report generated every 5 mins and a post-mitigation report for the whole mitigation period. This is to ensure that in an event the DDoS attack continues for a longer duration of time, you'll be able to view the most current snapshot of mitigation report every 5 minutes and a complete summary once the attack mitigation is over.
68-
- **AllMetrics**: Provides all possible metrics available during the duration of a DDoS attack.
69-
70-
## Log schemas
71-
72-
The following table lists the field names and descriptions:
73-
74-
# [DDoSProtectionNotifications](#tab/DDoSProtectionNotifications)
75-
76-
| Field name | Description |
77-
| --- | --- |
78-
| **TimeGenerated** | The date and time in UTC when the notification was created. |
79-
| **ResourceId** | The resource ID of your public IP address. |
80-
| **Category** | For notifications, this will be `DDoSProtectionNotifications`.|
81-
| **ResourceGroup** | The resource group that contains your public IP address and virtual network. |
82-
| **SubscriptionId** | Your DDoS protection plan subscription ID. |
83-
| **Resource** | The name of your public IP address. |
84-
| **ResourceType** | This will always be `PUBLICIPADDRESS`. |
85-
| **OperationName** | For notifications, this will be `DDoSProtectionNotifications`. |
86-
| **Message** | Details of the attack. |
87-
| **Type** | Type of notification. Possible values include `MitigationStarted`. `MitigationStopped`. |
88-
| **PublicIpAddress** | Your public IP address. |
89-
90-
# [DDoSMitigationFlowLogs](#tab/DDoSMitigationFlowLogs)
91-
92-
| Field name | Description |
93-
| --- | --- |
94-
| **TimeGenerated** | The date and time in UTC when the flow log was created. |
95-
| **ResourceId** | The resource ID of your public IP address. |
96-
| **Category** | For flow logs, this will be `DDoSMitigationFlowLogs`.|
97-
| **ResourceGroup** | The resource group that contains your public IP address and virtual network. |
98-
| **SubscriptionId** | Your DDoS protection plan subscription ID. |
99-
| **Resource** | The name of your public IP address. |
100-
| **ResourceType** | This will always be `PUBLICIPADDRESS`. |
101-
| **OperationName** | For flow logs, this will be `DDoSMitigationFlowLogs`. |
102-
| **Message** | Details of the attack. |
103-
| **SourcePublicIpAddress** | The public IP address of the client generating traffic to your public IP address. |
104-
| **SourcePort** | Port number ranging from 0 to 65535. |
105-
| **DestPublicIpAddress** | Your public IP address. |
106-
| **DestPort** | Port number ranging from 0 to 65535. |
107-
| **Protocol** | Type of protocol. Possible values include `tcp`, `udp`, `other`.|
108-
109-
# [DDoSMitigationReports](#tab/DDoSMitigationReports)
110-
111-
| Field name | Description |
112-
| --- | --- |
113-
| **TimeGenerated** | The date and time in UTC when the report was created. |
114-
| **ResourceId** | The resource ID of your public IP address. |
115-
| **Category** | For notifications, this will be `DDoSMitigationReports`.|
116-
| **ResourceGroup** | The resource group that contains your public IP address and virtual network. |
117-
| **SubscriptionId** | Your DDoS protection plan subscription ID. |
118-
| **Resource** | The name of your public IP address. |
119-
| **ResourceType** | This will always be `PUBLICIPADDRESS`. |
120-
| **OperationName** | For mitigation reports, this will be `DDoSMitigationReports`. |
121-
| **ReportType** | Possible values include `Incremental`, `PostMitigation`.|
122-
| **MitigationPeriodStart** | The date and time in UTC when the mitigation started. |
123-
| **MitigationPeriodEnd** | The date and time in UTC when the mitigation ended. |
124-
| **IPAddress** | Your public IP address. |
125-
| **AttackVectors** | Breakdown of attack types. Keys include `TCP SYN flood`, `TCP flood`, `UDP flood`, `UDP reflection`, `Other packet flood`.|
126-
| **TrafficOverview** | Breakdown of attack traffic. Keys include `Total packets`, `Total packets dropped`, `Total TCP packets`, `Total TCP packets dropped`, `Total UDP packets`, `Total UDP packets dropped`, `Total Other packets`, `Total Other packets dropped`. |
127-
| **Protocols** | Breakdown of protocols involved. Keys include `TCP`, `UDP`, `Other`. |
128-
| **DropReasons** | Breakdown of reasons for dropped packets. Keys include `Protocol violation invalid TCP syn`, `Protocol violation invalid TCP`, `Protocol violation invalid UDP`, `UDP reflection`, `TCP rate limit exceeded`, `UDP rate limit exceeded`, `Destination limit exceeded`, `Other packet flood`, `Rate limit exceeded`, `Packet was forwarded to service`. |
129-
| **TopSourceCountries** | Breakdown of top 10 source countries/regions of incoming traffic. |
130-
| **TopSourceCountriesForDroppedPackets** | Breakdown of top 10 source countries/regions of attack traffic that is/was mitigated. |
131-
| **TopSourceASNs** | Breakdown of top 10 source autonomous system numbers (ASN) of the incoming traffic. |
132-
| **SourceContinents** | Breakdown of the source continents of incoming traffic. |
133-
***
13459

13560
## Next steps
13661

137-
> [!div class="nextstepaction"]
138-
> [View and configure DDoS diagnostic logging](diagnostic-logging.md)
139-
>
140-
> [Test with simulation partners](test-through-simulations.md)
62+
* [Configure DDoS Alerts](alerts.md)
63+
* [View alerts in Microsoft Defender for Cloud](ddos-view-alerts-defender-for-cloud.md)
64+
* [Test with simulation partners](test-through-simulations.md)
14165

14266

0 commit comments

Comments
 (0)