Skip to content

Commit 8c0f111

Browse files
Merge pull request #108523 from erichrt/patch-1
Add time configuration step for metrics and SNAT usage and allocation guidance
2 parents e00a6de + 9a53c88 commit 8c0f111

File tree

3 files changed

+31
-3
lines changed

3 files changed

+31
-3
lines changed

articles/load-balancer/load-balancer-standard-diagnostics.md

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,16 @@ To view the metrics for your Standard Load Balancer resources:
4949
1. Go to the Metrics page and do either of the following:
5050
* On the load balancer resource page, select the metric type in the drop-down list.
5151
* On the Azure Monitor page, select the load balancer resource.
52-
2. Set the appropriate aggregation type.
52+
2. Set the appropriate metric aggregation type.
5353
3. Optionally, configure the required filtering and grouping.
54+
4. Optionally, configure the time range and aggregation. By default time is displayed in UTC.
5455

55-
![Metrics for Standard Load Balancer](./media/load-balancer-standard-diagnostics/lbmetrics1anew.png)
56+
>[!NOTE]
57+
>Time aggregation is important when interpreting certain metrics as data is sampled once per minute. If time aggregation is set to five minutes and metric aggregation type Sum is used for metrics such as SNAT Allocation, your graph will display five times the total allocated SNAT ports.
5658
57-
*Figure: Data Path Availability metric for Standard Load Balancer*
59+
![Metrics for Standard Load Balancer](./media/load-balancer-standard-diagnostics/lbmetrics1anew.png)
60+
61+
*Figure: Data Path Availability metric for Standard Load Balancer*
5862

5963
### Retrieve multi-dimensional metrics programmatically via APIs
6064

@@ -120,6 +124,30 @@ To get SNAT connection statistics:
120124
*Figure: Load Balancer SNAT connection count*
121125

122126

127+
#### How do I check my SNAT port usage and allocation?
128+
129+
The SNAT Usage metric indicates how many unique flows are established between an internet source and a backend VM or virtual machine scale set that is behind a load balancer and does not have a public IP address. By comparing this with the SNAT Allocation metric, you can determine if your service is experiencing or at risk of SNAT exhaustion and resulting outbound flow failure.
130+
131+
If your metrics indicate risk of [outbound flow](https://aka.ms/lboutbound) failure, reference the article and take steps to mitigate this to ensure service health.
132+
133+
To view SNAT port usage and allocation:
134+
1. Set the time aggregation of the graph to 1 minute to ensure desired data is displayed.
135+
1. Select **SNAT Usage** and/or **SNAT Allocation** as the metric type and **Average** as the aggregation
136+
* By default this is the average number of SNAT ports allocated to or used by each backend VMs or VMSSes, corresponding to all frontend public IPs mapped to the Load Balancer, aggregated over TCP and UDP.
137+
* To view total SNAT ports used by or allocated for the load balancer use metric aggregation **Sum**
138+
1. Filter to a specific **Protocol Type**, a set of **Backend IPs**, and/or **Frontend IPs**.
139+
1. To monitor health per backend or frontend instance, apply splitting.
140+
* Note splitting only allows for a single metric to be displayed at a time.
141+
1. For example, to monitor SNAT usage for TCP flows per machine, aggregate by **Average**, split by **Backend IPs** and filter by **Protocol Type**.
142+
143+
![SNAT allocation and usage](./media/load-balancer-standard-diagnostics/snat-usage-and-allocation.png)
144+
145+
*Figure: Average TCP SNAT port allocation and usage for a set of backend VMs*
146+
147+
![SNAT usage by backend instance](./media/load-balancer-standard-diagnostics/snat-usage-split.png)
148+
149+
*Figure: TCP SNAT port usage per backend instance*
150+
123151
#### How do I check inbound/outbound connection attempts for my service?
124152

125153
A SYN packets metric describes the volume of TCP SYN packets, which have arrived or were sent (for [outbound flows](https://aka.ms/lboutbound)) that are associated with a specific front end. You can use this metric to understand TCP connection attempts to your service.
142 KB
Loading
192 KB
Loading

0 commit comments

Comments
 (0)