Skip to content

Commit 0431b9d

Browse files
Merge pull request #273168 from halkazwini/nw-schema
New fields
2 parents 6dab370 + 22fd8d8 commit 0431b9d

File tree

1 file changed

+34
-30
lines changed

1 file changed

+34
-30
lines changed

articles/network-watcher/traffic-analytics-schema.md

Lines changed: 34 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ author: halkazwini
66
ms.author: halkazwini
77
ms.service: network-watcher
88
ms.topic: concept-article
9-
ms.date: 04/22/2024
9+
ms.date: 04/24/2024
1010

1111
#CustomerIntent: As a administrator, I want learn about traffic analytics schema so I can easily use the queries and understand their output.
1212
---
1313

14-
# Schema and data aggregation in Azure Network Watcher traffic analytics
14+
# Traffic analytics schema and data aggregation
1515

1616
Traffic analytics is a cloud-based solution that provides visibility into user and application activity in cloud networks. Traffic analytics analyzes Azure Network Watcher flow logs to provide insights into traffic flow in your Azure cloud. With traffic analytics, you can:
1717

@@ -23,7 +23,7 @@ Traffic analytics is a cloud-based solution that provides visibility into user a
2323

2424
## Data aggregation
2525

26-
# [**NSG flow logs**](#tab/nsg)
26+
# [**Network security group flow logs**](#tab/nsg)
2727

2828
- All flow logs at a network security group between `FlowIntervalStartTime_t` and `FlowIntervalEndTime_t` are captured at one-minute intervals as blobs in a storage account.
2929
- Default processing interval of traffic analytics is 60 minutes, meaning that every hour, traffic analytics picks blobs from the storage account for aggregation. However, if a processing interval of 10 minutes is selected, traffic analytics will instead pick blobs from the storage account every 10 minutes.
@@ -32,7 +32,7 @@ Traffic analytics is a cloud-based solution that provides visibility into user a
3232
- `FlowStartTime_t` field indicates the first occurrence of such an aggregated flow (same four-tuple) in the flow log processing interval between `FlowIntervalStartTime_t` and `FlowIntervalEndTime_t`.
3333
- For any resource in traffic analytics, the flows indicated in the Azure portal are total flows seen by the network security group, but in Azure Monitor logs, user sees only the single, reduced record. To see all the flows, use the `blob_id` field, which can be referenced from storage. The total flow count for that record matches the individual flows seen in the blob.
3434

35-
# [**VNet flow logs**](#tab/vnet)
35+
# [**Virtual network flow logs**](#tab/vnet)
3636

3737
- All flow logs between `FlowIntervalStartTime` and `FlowIntervalEndTime` are captured at one-minute intervals as blobs in a storage account.
3838
- Default processing interval of traffic analytics is 60 minutes, meaning that every hour, traffic analytics picks blobs from the storage account for aggregation. However, if a processing interval of 10 minutes is selected, traffic analytics will instead pick blobs from the storage account every 10 minutes.
@@ -94,16 +94,16 @@ https://{storageAccountName}@insights-logs-networksecuritygroupflowevent/resoure
9494

9595
Traffic analytics is built on top of Azure Monitor logs, so you can run custom queries on data decorated by traffic analytics and set alerts.
9696

97-
# [**NSG flow logs**](#tab/nsg)
97+
# [**Network security group flow logs**](#tab/nsg)
9898

99-
The following table lists the fields in the schema and what they signify for NSG flow logs.
99+
The following table lists the fields in the schema and what they signify for network security group flow logs.
100100

101101
> [!div class="mx-tableFixed"]
102102
> | Field | Format | Comments |
103103
> | ----- | ------ | -------- |
104104
> | **TableName** | AzureNetworkAnalytics_CL | Table for traffic analytics data. |
105105
> | **SubType_s** | FlowLog | Subtype for the flow logs. Use only **FlowLog**, other values of **SubType_s** are for internal use. |
106-
> | **FASchemaVersion_s** | 2 | Schema version. Doesn't reflect NSG flow log version. |
106+
> | **FASchemaVersion_s** | 2 | Schema version. Doesn't reflect network security group flow log version. |
107107
> | **TimeProcessed_t** | Date and time in UTC | Time at which the traffic analytics processed the raw flow logs from the storage account. |
108108
> | **FlowIntervalStartTime_t** | Date and time in UTC | Starting time of the flow log processing interval (time from which flow interval is measured). |
109109
> | **FlowIntervalEndTime_t** | Date and time in UTC | Ending time of the flow log processing interval. |
@@ -157,11 +157,11 @@ The following table lists the fields in the schema and what they signify for NSG
157157
> | **AllowedOutFlows_d** | | Count of outbound flows that were allowed (Outbound to the network interface at which the flow was captured). |
158158
> | **DeniedOutFlows_d** | | Count of outbound flows that were denied (Outbound to the network interface at which the flow was captured). |
159159
> | **FlowCount_d** | Deprecated. Total flows that matched the same four-tuple. In case of flow types ExternalPublic and AzurePublic, count includes the flows from various PublicIP addresses as well. |
160-
> | **InboundPackets_d** | Represents packets sent from the destination to the source of the flow | Populated only for Version 2 of NSG flow log schema. |
161-
> | **OutboundPackets_d** | Represents packets sent from the source to the destination of the flow | Populated only for Version 2 of NSG flow log schema. |
162-
> | **InboundBytes_d** | Represents bytes sent from the destination to the source of the flow | Populated only for Version 2 of NSG flow log schema. |
163-
> | **OutboundBytes_d** | Represents bytes sent from the source to the destination of the flow | Populated only for Version 2 of NSG flow log schema. |
164-
> | **CompletedFlows_d**| | Populated with nonzero value only for Version 2 of NSG flow log schema. |
160+
> | **InboundPackets_d** | Represents packets sent from the destination to the source of the flow | Populated only for Version 2 of network security group flow log schema. |
161+
> | **OutboundPackets_d** | Represents packets sent from the source to the destination of the flow | Populated only for Version 2 of network security group flow log schema. |
162+
> | **InboundBytes_d** | Represents bytes sent from the destination to the source of the flow | Populated only for Version 2 of network security group flow log schema. |
163+
> | **OutboundBytes_d** | Represents bytes sent from the source to the destination of the flow | Populated only for Version 2 of network security group flow log schema. |
164+
> | **CompletedFlows_d**| | Populated with nonzero value only for Version 2 of network security group flow log schema. |
165165
> | **PublicIPs_s** | <PUBLIC_IP>\|\<FLOW_STARTED_COUNT>\|\<FLOW_ENDED_COUNT>\|\<OUTBOUND_PACKETS>\|\<INBOUND_PACKETS>\|\<OUTBOUND_BYTES>\|\<INBOUND_BYTES> | Entries separated by bars. |
166166
> | **SrcPublicIPs_s** | <SOURCE_PUBLIC_IP>\|\<FLOW_STARTED_COUNT>\|\<FLOW_ENDED_COUNT>\|\<OUTBOUND_PACKETS>\|\<INBOUND_PACKETS>\|\<OUTBOUND_BYTES>\|\<INBOUND_BYTES> | Entries separated by bars. |
167167
> | **DestPublicIPs_s** | <DESTINATION_PUBLIC_IP>\|\<FLOW_STARTED_COUNT>\|\<FLOW_ENDED_COUNT>\|\<OUTBOUND_PACKETS>\|\<INBOUND_PACKETS>\|\<OUTBOUND_BYTES>\|\<INBOUND_BYTES> | Entries separated by bars. |
@@ -174,16 +174,16 @@ The following table lists the fields in the schema and what they signify for NSG
174174
> - Deprecated fields: `VMIP_s`, `Subscription_g`, `Region_s`, `NSGRules_s`, `Subnet_s`, `VM_s`, `NIC_s`, `PublicIPs_s`, `FlowCount_d`
175175
> - New fields: `SrcPublicIPs_s`, `DestPublicIPs_s`, `NSGRule_s`
176176
177-
# [**VNet flow logs**](#tab/vnet)
177+
# [**Virtual network flow logs**](#tab/vnet)
178178

179-
The following table lists the fields in the schema and what they signify for VNet flow logs.
179+
The following table lists the fields in the schema and what they signify for virtual network flow logs.
180180

181181
> [!div class="mx-tableFixed"]
182182
> | Field | Format | Comments |
183183
> | ----- | ------ | -------- |
184184
> | **TableName** | NTANetAnalytics | Table for traffic analytics data. |
185185
> | **SubType** | FlowLog | Subtype for the flow logs. Use only **FlowLog**, other values of **SubType** are for internal use. |
186-
> | **FASchemaVersion** | 3 | Schema version. Doesn't reflect NSG flow log version. |
186+
> | **FASchemaVersion** | 3 | Schema version. Doesn't reflect virtual network flow log version. |
187187
> | **TimeProcessed** | Date and time in UTC | Time at which the traffic analytics processed the raw flow logs from the storage account. |
188188
> | **FlowIntervalStartTime** | Date and time in UTC | Starting time of the flow log processing interval (time from which flow interval is measured). |
189189
> | **FlowIntervalEndTime**| Date and time in UTC | Ending time of the flow log processing interval. |
@@ -233,18 +233,18 @@ The following table lists the fields in the schema and what they signify for VNe
233233
> | **AllowedOutFlows** | - | Count of outbound flows that were allowed (Outbound to the network interface at which the flow was captured). |
234234
> | **DeniedOutFlows** | - | Count of outbound flows that were denied (Outbound to the network interface at which the flow was captured). |
235235
> | **FlowCount** | Deprecated. Total flows that matched the same four-tuple. In flow types ExternalPublic and AzurePublic, count includes the flows from various PublicIP addresses as well. | - |
236-
> | **PacketsDestToSrc** | Represents packets sent from the destination to the source of the flow | Populated only for the Version 2 of NSG flow log schema. |
237-
> | **PacketsSrcToDest** | Represents packets sent from the source to the destination of the flow | Populated only for the Version 2 of NSG flow log schema. |
238-
> | **BytesDestToSrc** | Represents bytes sent from the destination to the source of the flow | Populated only for the Version 2 of NSG flow log schema. |
239-
> | **BytesSrcToDest** | Represents bytes sent from the source to the destination of the flow | Populated only for the Version 2 of NSG flow log schema. |
240-
> | **CompletedFlows** | - | Populated with nonzero value only for the Version 2 of NSG flow log schema. |
236+
> | **PacketsDestToSrc** | Represents packets sent from the destination to the source of the flow | Populated only for the Version 2 of network security group flow log schema. |
237+
> | **PacketsSrcToDest** | Represents packets sent from the source to the destination of the flow | Populated only for the Version 2 of network security group flow log schema. |
238+
> | **BytesDestToSrc** | Represents bytes sent from the destination to the source of the flow | Populated only for the Version 2 of network security group flow log schema. |
239+
> | **BytesSrcToDest** | Represents bytes sent from the source to the destination of the flow | Populated only for the Version 2 of network security group flow log schema. |
240+
> | **CompletedFlows** | - | Populated with nonzero value only for the Version 2 of network security group flow log schema. |
241241
> | **SrcPublicIPs** | \<SOURCE_PUBLIC_IP\>\|\<FLOW_STARTED_COUNT\>\|\<FLOW_ENDED_COUNT\>\|\<OUTBOUND_PACKETS\>\|\<INBOUND_PACKETS\>\|\<OUTBOUND_BYTES\>\|\<INBOUND_BYTES\> | Entries separated by bars. |
242242
> | **DestPublicIPs** | <DESTINATION_PUBLIC_IP>\|\<FLOW_STARTED_COUNT>\|\<FLOW_ENDED_COUNT>\|\<OUTBOUND_PACKETS>\|\<INBOUND_PACKETS>\|\<OUTBOUND_BYTES>\|\<INBOUND_BYTES> | Entries separated by bars. |
243243
> | **FlowEncryption** | - Encrypted <br>- Unencrypted <br>- Unsupported hardware <br>- Software not ready <br>- Drop due to no encryption <br>- Discovery not supported <br>- Destination on same host <br>- Fall back to no encryption. | Encryption level of flows. |
244244
> | **IsFlowCapturedAtUDRHop** | - True <br> - False | If the flow was captured at a UDR hop, the value is True. |
245245
246246
> [!NOTE]
247-
> *NTANetAnalytics* in VNet flow logs replaces *AzureNetworkAnalytics_CL* used in NSG flow logs.
247+
> *NTANetAnalytics* in virtual network flow logs replaces *AzureNetworkAnalytics_CL* used in network security group flow logs.
248248
249249
---
250250

@@ -254,42 +254,46 @@ Traffic analytics provides WHOIS data and geographic location for all public IPs
254254

255255
The following table details public IP schema:
256256

257-
# [**NSG flow logs**](#tab/nsg)
257+
# [**Network security group flow logs**](#tab/nsg)
258258

259259
| Field | Format | Comments |
260260
| ----- | ------ | -------- |
261261
| **TableName** | AzureNetworkAnalyticsIPDetails_CL | Table that contains traffic analytics IP details data. |
262262
| **SubType_s** | FlowLog | Subtype for the flow logs. **Use only "FlowLog"**, other values of SubType_s are for internal workings of the product. |
263-
| **FASchemaVersion_s** | 2 | Schema version. Doesn't reflect NSG flow log version. |
263+
| **FASchemaVersion_s** | 2 | Schema version. Doesn't reflect network security group flow log version. |
264264
| **FlowIntervalStartTime_t** | Date and Time in UTC | Start time of the flow log processing interval (time from which flow interval is measured). |
265265
| **FlowIntervalEndTime_t** | Date and Time in UTC | End time of the flow log processing interval. |
266266
| **FlowType_s** | - AzurePublic <br> - ExternalPublic <br> - MaliciousFlow | See [Notes](#notes) for definitions. |
267267
| **IP** | Public IP | Public IP whose information is provided in the record. |
268268
| **Location** | Location of the IP | - For Azure Public IP: Azure region of virtual network/network interface/virtual machine to which the IP belongs OR Global for IP [168.63.129.16](../virtual-network/what-is-ip-address-168-63-129-16.md). <br> - For External Public IP and Malicious IP: 2-letter country code where IP is located (ISO 3166-1 alpha-2). |
269269
| **PublicIPDetails** | Information about IP | - For AzurePublic IP: Azure Service owning the IP or Microsoft virtual public IP for [168.63.129.16](../virtual-network/what-is-ip-address-168-63-129-16.md). <br> - ExternalPublic/Malicious IP: WhoIS information of the IP. |
270270
| **ThreatType** | Threat posed by malicious IP | **For Malicious IPs only**: One of the threats from the list of currently allowed values (described in the next table). |
271-
| **ThreatDescription** | Description of the threat | **For Malicious IPs only**: Description of the threat posed by the malicious IP. |
272-
| **DNSDomain** | DNS domain | **For Malicious IPs only**: Domain name associated with this IP. |
271+
| **ThreatDescription** | Description of the threat | *For Malicious IPs only*. Description of the threat posed by the malicious IP. |
272+
| **DNSDomain** | DNS domain | *For Malicious IPs only*. Domain name associated with the malicious IP. |
273+
| **Url** | URL corresponding to the malicious IP | *For Malicious IPs only* |
274+
| **Port** | Port corresponding to the malicious IP | *For Malicious IPs only* |
273275

274-
# [**VNet flow logs**](#tab/vnet)
276+
# [**Virtual network flow logs**](#tab/vnet)
275277

276278
| Field | Format | Comments |
277279
| ----- | ------ | -------- |
278280
| **TableName**| NTAIpDetails | Table that contains traffic analytics IP details data. |
279281
| **SubType**| FlowLog | Subtype for the flow logs. Use only **FlowLog**. Other values of SubType are for internal workings of the product. |
280-
| **FASchemaVersion** | 2 | Schema version. Doesn't reflect NSG flow Log version. |
282+
| **FASchemaVersion** | 2 | Schema version. Doesn't reflect virtual network flow Log version. |
281283
| **FlowIntervalStartTime**| Date and time in UTC | Start time of the flow log processing interval (the time from which flow interval is measured). |
282284
| **FlowIntervalEndTime**| Date and time in UTC | End time of the flow log processing interval. |
283285
| **FlowType** | - AzurePublic <br> - ExternalPublic <br> - MaliciousFlow | See [Notes](#notes) for definitions. |
284286
| **IP**| Public IP | Public IP whose information is provided in the record. |
285287
| **PublicIPDetails** | Information about IP | **For AzurePublic IP**: Azure Service owning the IP or **Microsoft Virtual Public IP** for the IP 168.63.129.16. <br> **ExternalPublic/Malicious IP**: WhoIS information of the IP. |
286288
| **ThreatType** | Threat posed by malicious IP | *For Malicious IPs only*. One of the threats from the list of currently allowed values. For more information, see [Notes](#notes). |
287289
| **DNSDomain** | DNS domain | *For Malicious IPs only*. Domain name associated with this IP. |
288-
| **ThreatDescription** |Description of the threat | *For Malicious IPs only*. Description of the threat posed by the malicious IP. |
290+
| **ThreatDescription** | Description of the threat | *For Malicious IPs only*. Description of the threat posed by the malicious IP. |
289291
| **Location** | Location of the IP | **For Azure Public IP**: Azure region of virtual network / network interface / virtual machine to which the IP belongs or Global for IP 168.63.129.16. <br> **For External Public IP and Malicious IP**: two-letter country code (ISO 3166-1 alpha-2) where IP is located. |
292+
| **Url** | URL corresponding to the malicious IP | *For Malicious IPs only* . |
293+
| **Port** | Port corresponding to the malicious IP | *For Malicious IPs only*. |
290294

291295
> [!NOTE]
292-
> *NTAIPDetails* in VNet flow logs replaces *AzureNetworkAnalyticsIPDetails_CL* used in NSG flow logs.
296+
> *NTAIPDetails* in virtual network flow logs replaces *AzureNetworkAnalyticsIPDetails_CL* used in network security group flow logs.
293297
294298
---
295299

@@ -311,7 +315,7 @@ List of threat types:
311315

312316
## Notes
313317

314-
- In case of `AzurePublic` and `ExternalPublic` flows, customer owned Azure virtual machine IP is populated in `VMIP_s` field, while the Public IP addresses are populated in the `PublicIPs_s` field. For these two flow types, you should use `VMIP_s` and `PublicIPs_s` instead of `SrcIP_s` and `DestIP_s` fields. For AzurePublic and ExternalPublic IP addresses, we aggregate further, so that the number of records ingested to Log Analytics workspace is minimal. (This field will be deprecated soon and you should be using SrcIP_ and DestIP_s depending on whether the virtual machine was the source or the destination in the flow).
318+
- In case of `AzurePublic` and `ExternalPublic` flows, customer owned Azure virtual machine IP is populated in `VMIP_s` field, while the Public IP addresses are populated in the `PublicIPs_s` field. For these two flow types, you should use `VMIP_s` and `PublicIPs_s` instead of `SrcIP_s` and `DestIP_s` fields. For AzurePublic and ExternalPublic IP addresses, we aggregate further, so that the number of records ingested to Log Analytics workspace is minimal. (This field will be deprecated. Use SrcIP_ and DestIP_s depending on whether the virtual machine was the source or the destination in the flow).
315319
- Some field names are appended with `_s` or `_d`, which don't signify source and destination but indicate the data types *string* and *decimal* respectively.
316320
- Based on the IP addresses involved in the flow, we categorize the flows into the following flow types:
317321
- `IntraVNet`: Both IP addresses in the flow reside in the same Azure virtual network.

0 commit comments

Comments
 (0)