An Azure service that is used to monitor, diagnose, and gain insights into network performance and health.
Azure Network Watcher Connection Monitor is designed to test connectivity from an Azure-hosted source endpoint toward a destination endpoint. It is not intended to validate inbound reachability from arbitrary external ISP networks into an Azure VM public IP unless you control and deploy a monitoring source at the external location. In other words, Connection Monitor doesn't natively simulate “the Internet” or random ISP-originated traffic from outside Azure without an actual test agent or endpoint acting as the source.
Effectively, Connection Monitor does not directly support the scenario of validating whether external ISP users can reach your Azure VM public IP when no monitoring agent, VM, or supported endpoint exists at the external source location. The monitor requires a defined source endpoint. Supported sources are Azure VMs, Azure Arc-enabled machines, or other supported monitored endpoints where the Azure Monitor Agent and Network Watcher extension can operate. Without a source endpoint under your control, Connection Monitor is not able to generate the traffic needed to test inbound reachability from the ISP side.
For public IP monitoring, the prerequisites include having a supported source endpoint with Azure Monitor Agent installed, Network Watcher enabled in the region, proper outbound connectivity from the source, and correct NSG/firewall rules allowing the test protocol and ports. The destination can be a public IP, FQDN, Azure VM, or on-premises endpoint, but the source should be manageable by Azure Monitor. If using ICMP, TCP, or HTTP tests, the destination service needs to actually respond on the specified protocol and port. Additionally, the VM guest firewall, NSGs, Azure Firewall, load balancers, and ISP filtering must all allow the traffic path.
An Unknown status in Connection Monitor usually indicates the monitoring configuration has not successfully initialized or the source endpoint cannot execute the tests. Common causes include missing Azure Monitor Agent installation (which I gather is the culprit in your case), unsupported VM OS, Network Watcher not enabled in the region, extension provisioning failures, RBAC permission problems, blocked outbound access from the source VM to Azure Monitor endpoints, DNS resolution failures, or stale monitor configurations after resource changes. It can also occur when the test group has not yet completed initialization or when telemetry ingestion is delayed.
In general, to diagnose the Unknown state, you'd verify that the source VM appears healthy under Azure Monitor Agents and Extensions. This would involve confirming that both AzureMonitorWindowsAgent or AzureMonitorLinuxAgent and the Network Watcher Agent extension are installed and in a succeeded provisioning state. Then you'd verify Network Watcher is enabled in both source and destination Azure regions. You woudl also review the Connection Monitor “Topology” and “Test Groups” pages for endpoint resolution errors, agent health warnings, or failed configuration deployments. Another potential source of troubleshooting info could be Azure Activity Logs and the Network Watcher diagnostic logs, which could reveal extension deployment failures or authorization issues.
For your specific use case, you might want to consider other options such as Azure Application Insights availability tests, and Internet-facing synthetic monitoring through Azure Monitor. Application Insights availability tests can perform HTTP/HTTPS reachability checks from multiple Microsoft-managed global probe locations without requiring you to deploy agents externally.
If the above response helps answer your question, remember to "Accept Answer" so that others in the community facing similar issues can easily find the solution. Your contribution is highly appreciated.
hth
Marcin