More organizations are moving workloads from Azure public cloud to Azure Local (formerly Azure Stack HCI) than most people realize. The reasons vary: data sovereignty requirements, latency-sensitive workloads that need to be closer to the edge, cost optimization for predictable workloads where reserved cloud capacity doesn’t make financial sense, or regulatory constraints that require data to stay on-premises.
Whatever the driver, the migration itself creates a monitoring challenge. During the transition, you’re running workloads in two places simultaneously. Your source environment in Azure needs to stay healthy while you migrate. Your target Azure Local infrastructure needs to be validated before, during, and after workloads land. And once migration is complete, you need ongoing monitoring of your new on-prem environment with the same depth you had in the cloud.
Netdata covers all of this natively.
The monitoring gap during migration
Most migrations go through a period where workloads exist in both environments. You might be running your production database in Azure while standing up the replacement on Azure Local. Or you’re migrating VMs in waves, with some services still hitting Azure endpoints and others already running on-prem.
During this period, the teams managing the migration need a unified view. They need to see Azure cloud resource health (VM performance, SQL database DTU consumption, load balancer metrics) alongside Azure Local infrastructure health (Hyper-V host performance, Storage Spaces Direct status, network throughput, VM workloads on the new cluster) in the same dashboard, with the same alerting, and with the same timeline.
If your monitoring is split between Azure Monitor on one side and a separate tool on the other, you’re constantly switching context during the most critical phase of the project.
How Netdata covers both sides
Azure cloud resources are monitored through Netdata’s Azure Monitor collector (docs). It connects to the Azure Monitor Metrics API, automatically discovers your resources across subscriptions, and collects platform metrics using built-in service profiles. VMs, SQL databases, load balancers, AKS clusters, storage accounts, and more are covered out of the box.
Azure Local infrastructure is monitored through standard Netdata agents installed on your Azure Local cluster nodes. The agents collect OS-level metrics (CPU, memory, disk, network), Hyper-V metrics for hosted VMs, Storage Spaces Direct health and performance, and application-level metrics for whatever services are running on your workloads. Because Netdata agents are lightweight (typically under 1% CPU overhead), they don’t compete with your workloads for resources on hardware that’s already sized for production.
Both land in the same Netdata Cloud dashboard. Your Azure cloud resources and your Azure Local nodes appear together. You can build custom dashboards that show source and destination side by side. You can set up alerts that watch both environments. Netdata’s correlation tools work across all your nodes regardless of where they’re running.
Before migration: baseline and validate
Before you move a single workload, you want to establish baselines on both sides. On the Azure side, Netdata captures the performance characteristics of the workloads you’re about to migrate: how much CPU and memory they consume, their I/O patterns, their network throughput. These baselines become your success criteria after migration.
On the Azure Local side, you want to validate that your new infrastructure is healthy before it takes production load. Netdata agents on the cluster nodes give you immediate visibility into hardware health, storage pool status, network configuration, and whether the environment is performing as expected under synthetic load.
During migration: parallel visibility
This is where unified monitoring matters most. As you migrate workloads in waves, you need to watch both the source (to make sure remaining workloads aren’t impacted) and the destination (to validate that migrated workloads are performing correctly).
Netdata lets you compare the same workload running on Azure against its counterpart on Azure Local. Is the SQL database performing the same after migration? Are response times comparable? Has disk I/O changed? Because both data sources are in the same system with the same timeline, these comparisons are straightforward.
If something goes wrong during cutover, you have the data to decide quickly: roll back or push forward.
After migration: ongoing operations
Once migration is complete, your Netdata deployment transitions naturally from a migration tool to your ongoing monitoring solution for the Azure Local environment. The agents are already installed. The dashboards are already built. The alerts are already configured. You don’t need to set up a new monitoring stack for your on-prem infrastructure.
For workloads that remain in Azure (or for hybrid architectures where some services stay in the cloud), the Azure Monitor collector continues to run alongside your Azure Local monitoring. The unified view persists as long as you need it.
Deployment architecture on Azure Local
The deployment pattern is simple and symmetric:
Netdata Agent on every Azure Local host (Windows Server with the Hyper-V role) collects:
- All host-level metrics and logs
- Physical CPU, RAM, and disk I/O
- Hyper-V role metrics
- Physical network adapters
- Hardware sensors and events (temperature, fans, power, controllers)
Netdata Agent on every Azure Local VM collects:
- Guest OS metrics and logs
- Application-level metrics through Netdata’s 800+ collectors
Combined, you get complete visibility of your Azure Local infrastructure — from hardware sensors on the host all the way up through every guest workload running on top.
One important detail: no special access is required. You don’t need to open up any management interface, create dedicated monitoring users, or grant domain roles to collect anything described here. The agents run locally on each system and report metrics to Netdata Cloud directly (or, if you prefer central storage and aggregation on-prem, to an optional Netdata Parent).
If you want to dive into setup right away, the relevant Netdata Learn pages are: installing the agent on Windows, Windows machine monitoring, Windows Event Logs, and the Azure Monitor collector.
What gets monitored on Azure Local
A non-exhaustive list of what Netdata covers out of the box on Azure Local cluster nodes:
The host operating system gets full metric coverage: CPU utilization per core, memory usage and pressure, disk I/O and latency per device, network throughput and errors per interface, and hundreds of other OS metrics at per-second granularity.
Hyper-V virtual machines running on the cluster are monitored through Netdata’s Hyper-V collector, giving you per-VM resource consumption alongside host-level metrics.
Storage Spaces Direct health, performance, and capacity metrics are collected from the cluster, which is critical for Azure Local since storage performance directly impacts all hosted workloads.
Any applications running on the workloads (SQL Server, web servers, containers, custom applications) are monitored through Netdata’s 800+ collector integrations. If you’re running the same applications you had in Azure, the monitoring coverage carries over.
Everything gets Netdata’s anomaly detection automatically. Unusual patterns in any metric are flagged without configuration, which is particularly useful in the post-migration period when you’re still establishing what “normal” looks like on the new infrastructure.
Talk to us
If you’re planning or currently executing an Azure to Azure Local migration and want to see how Netdata fits into your monitoring strategy, we’d like to hear from you. We’re working with several organizations going through this exact transition and can share what’s worked well.
Learn more about Netdata for Azure to Azure Local migrations →





