Edit

Discover servers and workloads using Azure Migrate collector

This article explains how to use Azure Migrate collector to quickly discover servers and workloads across your IT estate without direct Azure connectivity. You can deploy the collector on a Windows Server to scan VMware environments and physical or virtual servers. The collected inventory data can be used to generate business case and performance-based assessment reports that support lift-and-shift migration and modernization of your IT estate.

Azure Migrate collector can discover your VMware estate or individual Windows and Linux servers running on any hypervisor or public cloud. You can collect server configurations, performance metrics, installed software, SQL Server and PostgreSQL database instances, and web apps (.NET on IIS and Java on Tomcat). With no Azure connectivity required, you can scan the estate locally and upload data securely, saving time and avoiding complex networking or access approval requirements.

Collect data from VMware estate

Note

If you prefer agentless continuous discovery using an appliance, see Discover servers in VMware environment.

Prerequisites

Before you set up the collector, create a new Azure Migrate project. If you plan to collect data from an Azure VMware Solution (AVS) private cloud, ensure that the machine where the collector is installed has network line-of-sight to the AVS vCenter.

Requirement Details
Operating System A server running Windows Server 2019, 2022, or 2025 Operating System. Ensure the server has IIS role installed.
Compute and storage A server with 16 GB of RAM, 8 vCPUs, and approximately 80 GB of disk storage.
Supported vCenter versions 8.0, 7.0, 6.7, 6.5, 6.0, or 5.5.
Networking - vCenter Network line of sight from collector to vCenter with inbound access allowed on TCP port 443.

If the server running vCenter server listens on a different port, you can modify the port when you provide the vCenter server details in the collector configuration manager.
Networking – ESXi hosts Network line of sight from collector to all ESXi hosts with inbound access allowed on TCP port 443.
Networking – Windows/Linux To collect data about installed software, webapps and database (SQL, MySQL, PostgreSQL) inventory, network line of sight isn't required from collector to guest machines. Collector captures guest data using the following ports via VMware pipe.

Windows - WinRM https (5986) or http (5985)
Linux - SSH over port 22
SQL For deeper discovery of SQL readiness data, network line of sight is required from collector to SQL instances. SQL metadata is collected using TCP connection to SQL instances over custom port.
vCenter statistical level Verify Performance Statistics Level in vCenter is set to Level 1 or above:
Level 1: CPU and memory metrics only. (recommended)
Level 2: CPU, memory, disk, and network metrics.

If the level is disabled, no historical data is collected. Change it to level 1 or above and wait for 24 hours before starting data collection using collector.

Prepare vCenter, guest and database accounts

Account Permissions Purpose
vCenter account Read only and guest operations To collect server configurations and performance data of VMware machines.
Windows Domain account or administrator* account To collect installed software, SQL and PostgreSQL database instance and web apps data.
Linux Root account* To collect installed software, SQL and PostgreSQL database instance and web apps data.
Domain Domain account with SQL permissions To collect SQL readiness data

Note

You can set up custom least privileged Windows, Linux, and SQL accounts. For more information, see Least privileged accounts.

Download the Azure Migrate Collector

  1. In the Azure Migrate project, select Discover > Using Collector and then select Download.
  2. Alternatively, download the Azure Migrate collector installer script from: here.
  3. Extract the installer ZIP file to a folder on the server that hosts the Azure Migrate collector.

Run the installer script

  1. Launch PowerShell with administrative privileges on the host server.

  2. Change the directory to the extracted folder.

  3. Run the following installer script:

    .\AzureMigratecollector.ps1
    
  4. For the first installation, select fresh (f).

  5. To upgrade the collector to a newer version, select update (u).

  6. The installer script performs the following actions:

    • Installs agents and web applications.
    • Enables Windows features: Windows Activation Service, Web-Server, Web-Mgmt-Service.
    • Updates a registry key (HKLM) with persistent setting details for Azure Migrate.
    • Creates the following files:
      • Config: %ProgramData%\Microsoft Azure\Config
      • Logs: %ProgramData%\Microsoft Azure\OfflineData
  7. After successful execution, the appliance configuration manager launches automatically and creates a desktop shortcut.

Provide vCenter credentials

  1. Select Add credentials, and then enter a name for the credentials. Provide the username and password for the vCenter Server account that the collector uses to discover servers.
  2. To add multiple credentials, select Add more to save the current credentials and add additional ones. You can add multiple credentials to discover servers across multiple vCenter servers using a single collector.
  3. Provide vCenter server details, select Add discovery source, and then enter the IP address or FQDN of the vCenter Server. Use the default port (443) for discovery or specify a custom port. Select the credential name to map to the vCenter server, and then select Save.
  4. Select Add more to save the details and add additional vCenter servers. You can add up to 10 vCenter servers per collector

Provide guest and database credentials

  1. Provide Windows and Linux guest accounts to collect data about installed software, database instances and web apps. Provide SQL credentials (Windows or SQL server authentication) to collect SQL suitability data.
  2. To verify if the guest credentials are valid, test them against a few target servers.
  3. Enable the checkbox to validate credentials.
  4. Select the vCenter and select up to five virtual machines from the drop-down.
  5. Select Validate.
  6. If the credentials aren't valid, fix the errors by following the recommended step before triggering data collection.
  7. If the credentials are successfully validated, guest discovery of installed software and inventory of database instance on the machines is successful.

Note

  • For the collection of data about installed software, web apps and for identifying SQL/PostgreSQL server instances, the collector doesn’t need network line of sight to guest machines. The guest data collection is done via the ESXi hosts using the installed VMware tools. However, for collecting readiness data directly from database instances, the collector must have network line of sight to the target SQL server instances.
  • Identifying server dependencies and in-depth discovery of MySQL and PostgreSQL instances isn't supported in this version of Collector.

Collect data from physical servers

You can use the same Azure migrate collector to discover both VMware machines and physical servers that’s hypervisor agnostic. To collect data about physical servers, switch the fabric type to physical.

To discover physical servers using an appliance-based approach, see Discover physical servers.

Provide credentials for Windows and Linux servers

  1. Provide credentials for discovery of Windows and Linux physical or virtual servers, and then select Add credentials.
  2. For a Windows server:
    • Select the source type as Windows Server.
    • Enter a friendly name for the credentials.
    • Sign in using your credentials.
    • Select Save.
  3. For Linus server:
    • If you use password-based authentication. Select the source type as Linux Server (Password-based).
    • Enter a friendly name for the credentials.
    • Sign in using your credentials.
    • Select Save.
    • If you use SSH key-based authentication, select the source type as Linux Server (SSH key-based).
    • Enter a friendly name for the credentials.
    • Sign in using your credentials.
    • Browse and select the SSH private key file.
    • Select Save.

Note

  • Azure Migrate supports SSH private keys created using the ssh-keygen command with RSA, DSA, ECDSA, and ed25519 algorithms.
  • It doesn't support SSH keys with a passphrase. Use a key without a passphrase.
  • It doesn't support SSH private key files created by PuTTY.
  • It supports SSH private key files in OpenSSH format. -To add multiple credentials at once, select Add more to save and enter more credentials.

Provide Windows and Linux server details

  1. Provide physical or virtual server details by adding discovery sources using Add single item, Add multiple items, or Import CSV (default). Enter the server IP address or FQDN along with a friendly name for the credentials used to connect.
  2. For Add single item, select the OS type, enter the server IP address or FQDN, provide a friendly credential name, and select Save. For Add multiple items, enter multiple server records at once, specify the credential name, verify the records, and then save.
  3. For Import CSV, download the CSV template, fill in the server IP address or FQDN and credential friendly name, import the file into the appliance, verify the records, and select Save.
  4. The collector communicates with Windows servers using WinRM port 5986 (HTTPS) and Linux servers by using port 22 (TCP). If HTTPS prerequisites aren't configured on Hyper‑V servers, it automatically switches to WinRM port 5985 (HTTP).
  5. When you save, the collector validates connectivity to each server and shows the validation status in the table. If validation fails, select Validation failed to review the error, fix the issue, and validate again. You can revalidate connectivity at any time before starting data collection or remove servers by selecting Delete.
  6. Before starting data collection, you can optionally turn off the workload discovery slider for the added servers. You can change this setting at any time.
  7. Add additional credentials (Windows domain, Windows non‑domain, or SQL authentication) to discover SQL Server instances and databases. The appliance automatically maps these credentials to SQL servers.
  8. Provide domain credentials in Down‑Level format (domain\username). UPN format isn't supported. Domain credentials are authenticated against Active Directory to prevent account lockouts.
  9. The credentials table shows the domain credential validation status. If validation fails, select the failed status to view details, fix the issue, and select Revalidate credentials.

Start data collection

Important

Ensure you are using the latest version of Collector before you start data collection.

  1. After adding all credentials, select Start Data Collection.
  2. After validating vCenter credentials, if you skip adding any guest or DB credentials, Start Data Collection is disabled. To proceed, disable the Guest discovery toggle.
  3. After starting data collection, it might take 2–4 hours depending on environment scale and number of credentials.
  4. Track progress in the collection progress bar.
  5. After completion, a summary of data collection is displayed.

Review collected data

  1. Review the summary to understand the status and proportion of machines or workloads that failed.
  2. Download the CSV file to review detailed error messages per server.
  3. Diagnose errors by fixing network access issues, modifying user privileges, or adding new credentials.
  4. After resolving issues, select Start Data Collection to run again.

Collect incremental data

  1. After addressing the issues, enable Incremental data to collect data only on workloads where previous attempts failed.
  2. When enabled, VMware configuration and performance data collection are skipped. It attempts Software inventory, databases, and webapps collections on previously failed workloads.
  3. If disabled, full data collection runs.

Export collected data

  1. After successful data collection, export the collected data by generating a ZIP file.
  2. Select Export. A ZIP file is created at: C:\ProgramData\Microsoft Azure\OfflineData\Azure-Migrate-Discovery-YYYY-MM-DD-HH-MM-SS.zip.

Upload the collected data to an Azure Migrate project

  1. Create a new Azure Migrate project as Inventory Import from collector is supported only for newly created projects.
  2. After creating the project, select Start discovery using collector.

Import the ZIP file generated using collector

  1. Select Browse and select the ZIP file exported from your collector.
  2. After you select the right file, select Import.
  3. You can see the import status as it proceeds.

Note

Discovery can take up to 30 minutes.

Create business cases and assessments

  1. After the upload is successful, create business cases and assessments.
  2. After a successful upload, wait 45 minutes before you create a business case or assessment to ensure all discovery data is updated.

Import more inventory

  1. To discover more inventory with the Azure migrate collector after your initial import, follow these steps to add the new data to your Azure Migrate project:
  2. Go to All inventory view. You can see your existing discovery data.
  3. Select Discover > Using collector and go to import page.
  4. Select Azure migrate collector (ZIP) in the file type dropdown
  5. Select Browse and select the ZIP file exported from your collector.
  6. After you select the right file, select Import to ingest the file.

Note

You can import multiple ZIP files of different hypervisor types (VMware, physical) to the same project.

Next steps