Skip to content

Commit b871a43

Browse files
authored
Merge pull request #314455 from halkazwini/nw-ct
Errors table - Connection troubleshoot
2 parents de94427 + f9dbf8d commit b871a43

1 file changed

Lines changed: 69 additions & 9 deletions

File tree

articles/network-watcher/connection-troubleshoot-overview.md

Lines changed: 69 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ author: halkazwini
66
ms.author: halkazwini
77
ms.service: azure-network-watcher
88
ms.topic: concept-article
9-
ms.date: 11/18/2025
9+
ms.date: 04/08/2026
1010

1111
# 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.
1212
---
@@ -25,15 +25,15 @@ Connection troubleshoot reduces the Mean Time To Resolution (MTTR) by providing
2525
- Graphical topology view from source to destination
2626
- Number of probes failed during the connection troubleshoot check
2727

28-
## Agentless experience
28+
## Agentless experience (preview)
2929

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.
3131

3232
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.
3333

3434
### What's new
3535

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.
3737

3838
- **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.
3939
- **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
4545
- Virtual machines
4646
- Virtual machine scale sets
4747
- 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)
4949

5050

5151
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
8989
> | Hops[].ResourceId | Resource ID of the hop if the hop is an Azure resource. If it's an internet resource, ResourceID is **Internet**. |
9090
> | Hops[].NextHopIds | The unique identifier of the next hop taken. |
9191
> | 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. |
9393
> | Hops[].Issues[].Severity | The severity of the detected issue. Possible values are: **Error** and **Warning**. |
9494
> | Hops[].Issues[].Type | The type of the detected issue. Possible values are: <br>**CPU** <br>**Memory** <br>**GuestFirewall** <br>**DnsResolution** <br>**NetworkSecurityRule** <br>**UserDefinedRoute** |
9595
> | Hops[].Issues[].Context | Details regarding the detected issue. |
@@ -99,10 +99,10 @@ The following table shows the properties returned after running connection troub
9999
> | NextHopAnalysis.NextHopIpAddress | IP address of next hop. |
100100
> | | 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**. |
101101
> | SourceSecurityRuleAnalysis.Results[].Profile | Network configuration diagnostic profile. |
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**. |
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**. |
104104
> | 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**. |
106106
> | SourceSecurityRuleAnalysis.Results[].Profile.Direction | The direction of the traffic. Possible values are: **Outbound** and **Inbound**. |
107107
> | SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult | Network security group result. |
108108
> | 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.
141141
]
142142
```
143143

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+
144204
## Fault types
145205

146206
Connection troubleshoot returns fault types about the connection. The following table provides a list of the possible returned fault types.

0 commit comments

Comments
 (0)