Set up dependency visualization for assessment
This article describes how to set up dependency mapping in Azure Migrate: Server Assessment.
Dependency mapping helps you to visualize dependencies across machines you want to assess and migrate.
- In Azure Migrate: Server Assessment, you gather machines together for assessment. Usually machines that you want to migrate together.
- You typically use dependency mapping when you want to assess groups with higher levels of confidence.
- Dependency mapping helps you to cross-check machine dependencies, before you run an assessment and migration.
- Mapping and visualizing dependencies helps to effectively plan your migration to Azure. It helps ensure that nothing is left behind, thus avoiding surprise outages during migration.
- Using mapping, you can discover interdependent systems that need to migrate together. You can also identify whether a running system is still serving users, or is a candidate for decommissioning instead of migration.
Learn more about dependency visualization.
Before you start
- Make sure you've created an Azure Migrate project.
- If you've already created a project, make sure you've added the Azure Migrate: Server Assessment tool.
- Make sure you have discovered your machines in Azure Migrate; you can do this by setting up an Azure Migrate appliance for VMware or Hyper-V. The appliance discovers on-premises machines, and sends metadata and performance data to Azure Migrate: Server Assessment. Learn more.
|Availability||Dependency visualization isn't available in Azure Government.|
|Service Map||Dependency visualization uses Service Map solution in Azure Monitor. Service Map automatically discovers and shows connections between servers.|
|Agents||To use dependency visualization, install the following agents on machines you want to map:
- Log Analytics agent agent (previously referred to as the Microsoft Monitoring Agent (MMA).
- Service Map Dependency agent.
To automate agent installation you can use a deployment tool such as System Center Configuration Manager or a partner tool such as Intigua, that has an agent deployment solution for Azure Migrate.
|Dependency agent||Review Dependency agent support for Windows and Linux.
Learn more about using scripts to install the Dependency agent.
|Log Analytics agent (MMA)||Learn more about MMA installation methods.
For machines monitored by System Center Operations Manager 2012 R2 or later, you don't need to install the MMA agent. Service Map integrates with Operations Manager. You can enable the integration using the guidance here. Note, however, that the Dependency agent will need to installed on these machines.
Review the Linux operating systems supported by the Log Analytics agent.
|Assessment groups||Groups for which you want to visualize dependencies shouldn't contain more than 10 machines. If you have more than 10 machines, split them into smaller groups to visualize dependencies.|
Associate a Log Analytics workspace
To use dependency visualization, you need to associate a Log Analytics workspace with an Azure Migrate project.
- You can attach a workspace in the Azure Migrate project subscription only.
- You can attach an existing workspace, or create a new one.
- You attach the workspace the first time that you set up dependency visualization for a machine.
- You can attach a workspace only after discovering machines in the Azure Migrate project. You can do this by setting up an Azure Migrate appliance for VMware or Hyper-V. The appliance discovers on-premises machines, and sends metadata and performance data to Azure Migrate: Server Assessment. Learn more.
Attach a workspace as follows:
In Azure Migrate: Server Assessment, click Overview. If you haven't yet added the Server Assessment tool, do that first.
In Overview, click the down arrow to expand Essentials.
In OMS Workspace, click Requires configuration.
In Configure workspace, specify whether you want to create a new workspace, or use an existing one:
- After you specify a name for a new workspace, it's created in the same geography as the Azure Migrate project.
- When you attach an existing workspace, you can pick from all the available workspaces in the same subscription as the migration project.
- You need Reader access to the workspace to be able to attach it.
- You can't modify the workspace associated with a project after it's attached.
Download and install the VM agents
Download and install the agents on each on-premises machine that you want to visualize with dependency mapping.
- In Azure Migrate: Server Assessment, click Discovered servers.
- For each machine for which you want to use dependency visualization, click Requires agent installation.
- In the Dependencies page for a machine > Download and install MMA, download the appropriate agent, and install it as described below.
- In Download and install Dependency agent, download the appropriate agent, and install it as described below.
- Under Configure MMA agent, copy the workspace ID and key. You need these when you install the MMA agent.
Install the MMA
Install the agent on a Windows machine
To install the agent on a Windows machine:
- Double-click the downloaded agent.
- On the Welcome page, click Next. On the License Terms page, click I Agree to accept the license.
- In Destination Folder, keep or modify the default installation folder > Next.
- In Agent Setup Options, select Azure Log Analytics > Next.
- Click Add to add a new Log Analytics workspace. Paste in the workspace ID and key that you copied from the portal. Click Next.
Install the agent on a Linux machine
To install the agent on a Linux machine:
Transfer the appropriate bundle (x86 or x64) to your Linux computer using scp/sftp.
Install the bundle by using the --install argument.
sudo sh ./omsagent-<version>.universal.x64.sh --install -w <workspace id> -s <workspace key>
Install the Dependency agent
To install the Dependency agent on a Windows machine, double-click the setup file and follow the wizard.
To install the Dependency agent on a Linux machine, install as root using the following command:
Create a group using dependency visualization
In Azure Migrate: Server Assessment, click Discovered servers.
In the Dependencies column, click View dependencies for each machine you want to review.
On the dependency map, you can see the following:
- Inbound (clients) and outbound (servers) TCP connections, to and from the machine.
- Dependent machines that don't have the dependency agents installed are grouped by port numbers.
- Dependent machines with dependency agents installed are shown as separate boxes.
- Processes running inside the machine. Expand each machine box to view the processes.
- Machine properties (including FQDN, operating system, MAC address). Click on each machine box to view the details.
You can look at dependencies for different time durations by clicking on the time duration in the time range label. By default the range is an hour. You can modify the time range, or specify start and end dates, and duration.
Time range can be up to an hour. If you need a longer range, use Azure Monitor to query dependent data for a longer period.
After you've identified the dependent machines that you want to group together, use Ctrl+Click to select multiple machines on the map, and click Group machines.
Specify a group name.
Verify that the dependent machines are discovered by Azure Migrate.
- If a dependent machine isn't discovered by Azure Migrate: Server Assessment, you can't add it to the group.
- To add a machine, run discovery again, and verify that the machine is discovered.
If you want to create an assessment for this group, select the checkbox to create a new assessment for the group.
Click OK to save the group.
After creating the group, we recommend that you install agents on all the machines in the group, and then visualize dependencies for the entire group.
Query dependency data in Azure Monitor
You can query dependency data captured by Service Map in the Log Analytics workspace associated with your Azure Migrate project. Log Analytics is used to write and run Azure Monitor log queries.
- Learn how to search for Service Map data in Log Analytics.
- Get an overview of writing log queries in Log Analytics.
Run a query for dependency data as follows:
- After you install the agents, go to the portal and click Overview.
- In Azure Migrate: Server Assessment, click Overview. Click the down arrow to expand Essentials.
- In OMS Workspace, click the workspace name.
- On the Log Analytics workspace page > General, click Logs.
- Write your query, and click Run.
We provide a number sample queries you can use to extract dependency data.
- You can modify the queries to extract your preferred data points.
- Review a complete list of dependency data records.
- Review additional sample queries.
Sample: Review inbound connections
Review inbound connections for a set of VMs.
- The records in the table for connection metrics (VMConnection) don't represent individual physical network connections.
- Multiple physical network connections are grouped into a logical connection.
- Learn more about how physical network connection data is aggregated in VMConnection.
// the machines of interest let ips=materialize(ServiceMapComputer_CL | summarize ips=makeset(todynamic(Ipv4Addresses_s)) by MonitoredMachine=ResourceName_s | mvexpand ips to typeof(string)); let StartDateTime = datetime(2019-03-25T00:00:00Z); let EndDateTime = datetime(2019-03-30T01:00:00Z); VMConnection | where Direction == 'inbound' | where TimeGenerated > StartDateTime and TimeGenerated < EndDateTime | join kind=inner (ips) on $left.DestinationIp == $right.ips | summarize sum(LinksEstablished) by Computer, Direction, SourceIp, DestinationIp, DestinationPort
Sample: Summarize sent and received data
This sample summarizes the volume of data sent and received on inbound connections between a set of machines.
// the machines of interest let ips=materialize(ServiceMapComputer_CL | summarize ips=makeset(todynamic(Ipv4Addresses_s)) by MonitoredMachine=ResourceName_s | mvexpand ips to typeof(string)); let StartDateTime = datetime(2019-03-25T00:00:00Z); let EndDateTime = datetime(2019-03-30T01:00:00Z); VMConnection | where Direction == 'inbound' | where TimeGenerated > StartDateTime and TimeGenerated < EndDateTime | join kind=inner (ips) on $left.DestinationIp == $right.ips | summarize sum(BytesSent), sum(BytesReceived) by Computer, Direction, SourceIp, DestinationIp, DestinationPort
Create an assessment for a group.