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/network-watcher/connection-troubleshoot-overview.md
+69-9Lines changed: 69 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ author: halkazwini
6
6
ms.author: halkazwini
7
7
ms.service: azure-network-watcher
8
8
ms.topic: concept-article
9
-
ms.date: 11/18/2025
9
+
ms.date: 04/08/2026
10
10
11
11
# Customer intent: As an Azure administrator, I want to understand the capabilities of the Connection troubleshoot tool so that I can effectively diagnose and resolve network connectivity issues in my cloud infrastructure.
12
12
---
@@ -25,15 +25,15 @@ Connection troubleshoot reduces the Mean Time To Resolution (MTTR) by providing
25
25
- Graphical topology view from source to destination
26
26
- Number of probes failed during the connection troubleshoot check
27
27
28
-
## Agentless experience
28
+
## Agentless experience (preview)
29
29
30
-
Connection troubleshoot now supports an agentless experience (currently in preview). You no longer need to install the Network Watcher agent VM extension on your virtual machines to run connectivity tests. Features and functionality may change before general availability.
30
+
Connection troubleshoot now supports an agentless experience (currently in preview). You no longer need to install the Network Watcher agent virtual machine extension on your virtual machines to run connectivity tests. Features and functionality may change before general availability.
31
31
32
32
Previously, connectivity tests with Connection troubleshoot required that the source virtual machine had the Network Watcher agent VM extension installed. This extension was necessary to run tests from the VM.
33
33
34
34
### What's new
35
35
36
-
With the agentless (preview) update, you can now run connectivity tests between Azure resources without installing any diagnostic agent or VM extension. This simplifies setup, reduces operational overhead, and enables faster troubleshooting directly from the Azure portal.
36
+
With the agentless experience, you can now run connectivity tests between Azure resources without installing any diagnostic agent or VM extension. This simplifies setup, reduces operational overhead, and enables faster troubleshooting directly from the Azure portal.
37
37
38
38
-**No agent installation required**: Connectivity tests can be initiated without deploying or updating the Network Watcher agent VM extension on your Windows or Linux virtual machines.
39
39
-**Streamlined experience**: All diagnostics are performed using Azure platform APIs, making the process seamless and efficient.
@@ -45,7 +45,7 @@ Connection troubleshoot provides the capability to check TCP or ICMP connections
45
45
- Virtual machines
46
46
- Virtual machine scale sets
47
47
- Azure Bastion instances
48
-
- Application gateways v2 with the exception of gateways enrolled in the [Private Application Gateway deployment](../application-gateway/application-gateway-private-deployment.md)
48
+
- Application gateways v2 except for gateways enrolled in the [Private Application Gateway deployment](../application-gateway/application-gateway-private-deployment.md)
49
49
50
50
51
51
Connection troubleshoot can test connections to any of these destinations:
@@ -89,7 +89,7 @@ The following table shows the properties returned after running connection troub
89
89
> | Hops[].ResourceId | Resource ID of the hop if the hop is an Azure resource. If it's an internet resource, ResourceID is **Internet**. |
90
90
> | Hops[].NextHopIds | The unique identifier of the next hop taken. |
91
91
> | Hops[].Issues | A collection of issues that were encountered during the check of the hop. If there were no issues, the value is blank. |
92
-
> | Hops[].Issues[].Origin | At the current hop, where issue occurred. Possible values are: <br>**Inbound**- Issue is on the link from the previous hop to the current hop. <br>**Outbound**- Issue is on the link from the current hop to the next hop. <br>**Local** - Issue is on the current hop. |
92
+
> | Hops[].Issues[].Origin | At the current hop, where issue occurred. Possible values are: <br>**Inbound:** Issue is on the link from the previous hop to the current hop. <br>**Outbound:** Issue is on the link from the current hop to the next hop. <br>**Local:** Issue is on the current hop. |
93
93
> | Hops[].Issues[].Severity | The severity of the detected issue. Possible values are: **Error** and **Warning**. |
94
94
> | Hops[].Issues[].Type | The type of the detected issue. Possible values are: <br>**CPU** <br>**Memory** <br>**GuestFirewall** <br>**DnsResolution** <br>**NetworkSecurityRule** <br>**UserDefinedRoute**|
95
95
> | Hops[].Issues[].Context | Details regarding the detected issue. |
@@ -99,10 +99,10 @@ The following table shows the properties returned after running connection troub
99
99
> | NextHopAnalysis.NextHopIpAddress | IP address of next hop. |
100
100
> || The resource identifier of the route table associated with the route being returned. If the returned route doesn't correspond to any user created routes, then this field will be the string **System Route**. |
> | SourceSecurityRuleAnalysis.Results[].Profile.Source | Traffic source. Possible values are: *, **IP Address/CIDR**, and **Service Tag**. |
103
-
> | SourceSecurityRuleAnalysis.Results[].Profile.Destination | Traffic destination. Possible values are: *, **IP Address/CIDR**, and **Service Tag**. |
102
+
> | SourceSecurityRuleAnalysis.Results[].Profile.Source | Traffic source. Possible values are: *****, **IP Address/CIDR**, and **Service Tag**. |
103
+
> | SourceSecurityRuleAnalysis.Results[].Profile.Destination | Traffic destination. Possible values are: *****, **IP Address/CIDR**, and **Service Tag**. |
104
104
> | SourceSecurityRuleAnalysis.Results[].Profile.DestinationPort | Traffic destination port. Possible values are: * and a single port in the (0 - 65535) range. |
105
-
> | SourceSecurityRuleAnalysis.Results[].Profile.Protocol | Protocol to be verified. Possible values are: *, **TCP** and **UDP**. |
105
+
> | SourceSecurityRuleAnalysis.Results[].Profile.Protocol | Protocol to be verified. Possible values are: *****, **TCP** and **UDP**. |
106
106
> | SourceSecurityRuleAnalysis.Results[].Profile.Direction | The direction of the traffic. Possible values are: **Outbound** and **Inbound**. |
107
107
> | SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult | Network security group result. |
108
108
> | SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.EvaluatedSecurityGroups[]| List of results network security groups diagnostic. |
@@ -141,6 +141,66 @@ The following example shows an issue found on a hop.
141
141
]
142
142
```
143
143
144
+
## Errors
145
+
146
+
Connection troubleshoot returns the following error messages.
147
+
148
+
| IssueType | Description |
149
+
|----|----|
150
+
|**AgentStopped**| The Network Watcher agent on the source VM has stopped or is unresponsive. |
151
+
|**GuestFirewall**| Traffic is being blocked by the guest OS firewall on the source or destination VM. |
152
+
|**DNSResolution**| The DNS lookup for the destination hostname failed on the source agent. |
153
+
|**SocketError**| The source agent failed to bind or listen on the required local socket (for example, **SocketBindFailed** or **ListenFailed**). |
154
+
|**NetworkSecurityRule**| An NSG rule is denying inbound or outbound traffic between the source and destination. |
155
+
|**UserDefinedRoute**| A UserDefinedRoute was found that routes traffic to a *None* next hop, creating a blackhole routing. |
156
+
|**Platform**| An Azure platform-level issue is affecting connectivity. |
157
+
|**NetworkError**| A generic network failure occurred (for example, connection timed out, connect failed, no response, or send/receive failure). |
158
+
|**CPU**| CPU usage on the source or destination VM exceeded threshold. |
159
+
|**Memory**| Memory usage on the source or destination VM exceeded threshold. |
160
+
|**ARPMissing**| The ARP table on the Microsoft Edge (ExpressRoute) hop is missing or has an incomplete entry for the customer/Microsoft edge IP. |
161
+
|**RouteMissing**| Raised when no valid route to the destination can be found at a hop. |
162
+
|**VMRebooting**| The source or destination VM is currently in a rebooting state. |
163
+
|**VMNotAllocated**| VM isn't allocated (deallocated/stopped). |
164
+
|**NoListenerOnDestination**| The destination connectivity check confirmed that no process is listening on the specified port. |
165
+
|**DIPProbeDown**| The SLB health probe reports the backend DIP (destination IP) as *Down*. |
166
+
|**NoRouteLearned**| The SLB or Virtual Hub found no effective route to the destination. |
167
+
|**PeeringInfoNotFound**| The peering information between two VNets couldn't be retrieved. |
168
+
|**VMStarting**| The destination VM is in a starting state and isn't yet ready to accept traffic. |
169
+
|**VMStopped**| The destination VM is stopped (but still allocated), so it can't accept network traffic. |
170
+
|**VMStopping**| The destination VM is in the process of stopping and isn't reliably accepting traffic. |
171
+
|**VMDeallocating**| The destination VM is being deallocated and is in the process of releasing its resources, making it temporarily unreachable. |
172
+
|**VMDeallocated**| The destination VM has been fully deallocated. |
173
+
|**SystemError**| An internal system or infrastructure error occurred. |
174
+
|**UDRLoop**| User Defined Route found. This results in a routing loop, as the next hop IP matches the current hop IP. |
175
+
|**IPForwardingNotEnabled**| The NVA (virtual appliance) VM that traffic is routed through doesn't have IP forwarding enabled on its NIC. |
176
+
|**VnetAccessNotAllowed**| The virtual network peering link has <u>AllowVNetAccess</u> set to **false**, blocking traffic from crossing the peering boundary. |
177
+
|**AllowGatewayTransitNotEnabled**| The peering on the hub/gateway side doesn't have <u>AllowGatewayTransit</u> enabled. |
178
+
|**MultiNICsInSameSubnet**| Multiple NICs on the VM are in the same subnet, which can cause asymmetric routing and unpredictable traffic behavior. |
179
+
|**StandardILBOutboundInternetNotAllowed**| Raised when a VM in the backend pool of a Standard Internal Load Balancer attempts to reach the internet — Standard ILB backends have no default outbound internet access, unlike Basic ILB. |
180
+
|**MultiNICsInSameSubnetWithWeakHostSendEnabled**| Multiple NICs are in the same subnet and weak host send is enabled, which can cause traffic to egress from an unexpected interface. |
181
+
|**MultiNICsInSameSubnetWithWeakHostEnabled**| Multiple NICs are in the same subnet and weak host (send/receive) is enabled on the VM, which may route packets through unintended interfaces. |
182
+
|**SourcePortInUse**| The source port selected by the agent is already in **TIME_WAIT** state (a lingering TCP socket), preventing a new connection from being established from that port. |
183
+
|**InvalidResponseFromServer**| A DNS probe queried the server but received no matching records. |
184
+
|**DNSResponseValidationFailed**| The DNS probe response failed a configured validation rule (for example, wrong record count, wrong recursion support, wrong RCode, or wrong authority flag). |
185
+
|**UnsupportedSystem**| The agent is running on an OS or system configuration that doesn't support the requested probe type. |
186
+
|**IncompleteTopology**| Service couldn't build a complete hop path to the destination. |
187
+
|**DestinationUnreachable**| Agent on the source machine was unable to reach the destination. |
188
+
|**TraceRouteUnavailable**| The agent didn't return a traceroute result (no paths), so can't determine the connectivity status between source and destination. |
189
+
|**DestinationPartiallyReachable**| Some but not all traceroute paths from the agent successfully reached the destination. |
190
+
|**GatewayNotProvisioned**| The VPN/ExpressRoute gateway returned a **GatewayNotProvisioned** error. |
191
+
|**ResourceHealthUnavailable**| Azure Resource Health reports the hop resource (VM, gateway, firewall, etc.) as **Unavailable**. |
192
+
|**ResourceHealthDegraded**| Azure Resource Health reports the hop resource as **Degraded**. |
193
+
|**VirtualHubNotProvisioned**| The Virtual WAN Hub associated with the path isn't in a <u>Succeeded</u> provisioning state. |
194
+
|**StatusCodeValidationFailed**| The HTTP probe received a response but the returned HTTP status code didn't match the expected value. |
195
+
|**HeaderValidationFailed**| The HTTP probe received a response but one or more expected HTTP response headers were missing or didn't match. |
196
+
|**ContentValidationFailed**| The HTTP probe received a response but the response body content didn't match the expected value. |
197
+
|**NoConnectionConfigured**| No connection is configured between the source and destination endpoints in the connection monitor settings. |
198
+
|**ConnectionStateDisconnected**| The monitored connection is in a disconnected state, indicating a break in the logical connection path. |
199
+
|**BasicILBNotSupportedWithGlobalPeering**| A Basic Internal Load Balancer doesn't support Global virtual network Peering. |
200
+
|**BGPRoutePropogationDisabled**| BGP route propagation is disabled on the route table associated with the source subnet. |
201
+
|**UseRemoteGatewaysNotEnabled**| The peering on the spoke side doesn't have UseRemoteGateways enabled. |
202
+
|**UnexpectedVirtualNetworkGatewayConnection**| A virtual network gateway connection was found on the path that wasn't expected. |
203
+
144
204
## Fault types
145
205
146
206
Connection troubleshoot returns fault types about the connection. The following table provides a list of the possible returned fault types.
0 commit comments