Forum Discussion
VM with Public IP
- Oct 18, 2019
Here is a blog post about visualizing data from resource graph in Azure Dashboards: https://samcogan.com/visualise-your-azure-resource-with-resource-graph-explorer/
Azure Monitor workbooks can also visualize data from the resource graph:
https://docs.microsoft.com/en-us/azure/azure-monitor/app/usage-workbooks
Below you can find the resource graph query. Keep in mind you can get only the IP address of static ip address:
Resources | where type =~ "Microsoft.Network/networkInterfaces" | mv-expand properties.ipConfigurations | where isnotempty(properties_ipConfigurations.properties.publicIPAddress.id) | extend publicIpId = tostring(properties_ipConfigurations.properties.publicIPAddress.id) | join ( Resources | where type =~ "microsoft.network/publicipaddresses" ) on $left.publicIpId == $right.id | extend ipAddress = tostring(properties1.ipAddress) | extend publicIPAllocationMethod = tostring(properties1.publicIPAllocationMethod) | extend publicIpName = tostring(name1) | extend vmId = tostring(properties.virtualMachine.id) | where notempty(vmId) | join ( Resources | where type == "microsoft.compute/virtualmachines" ) on $left.vmId == $right.id | extend name = name2 | extend resourceGroup = resourceGroup2 | project name, resourceGroup,publicIpName, publicIPAllocationMethod, ipAddress
Here is a blog post about visualizing data from resource graph in Azure Dashboards: https://samcogan.com/visualise-your-azure-resource-with-resource-graph-explorer/
Azure Monitor workbooks can also visualize data from the resource graph:
https://docs.microsoft.com/en-us/azure/azure-monitor/app/usage-workbooks
Below you can find the resource graph query. Keep in mind you can get only the IP address of static ip address:
Resources | where type =~ "Microsoft.Network/networkInterfaces"
| mv-expand properties.ipConfigurations
| where isnotempty(properties_ipConfigurations.properties.publicIPAddress.id)
| extend publicIpId = tostring(properties_ipConfigurations.properties.publicIPAddress.id)
| join (
Resources | where type =~ "microsoft.network/publicipaddresses"
) on $left.publicIpId == $right.id
| extend ipAddress = tostring(properties1.ipAddress)
| extend publicIPAllocationMethod = tostring(properties1.publicIPAllocationMethod)
| extend publicIpName = tostring(name1)
| extend vmId = tostring(properties.virtualMachine.id)
| where notempty(vmId)
| join (
Resources | where type == "microsoft.compute/virtualmachines"
) on $left.vmId == $right.id
| extend name = name2
| extend resourceGroup = resourceGroup2
| project name, resourceGroup,publicIpName, publicIPAllocationMethod, ipAddress
Stanislav_Zhelyazkov Thanks, will check and get back to you.
@Clive Watson and @Noa Kuperberg Can you please help me with what is alternative for view designer so I can create dashboards as required
- Rahul_MahajanOct 31, 2019Brass ContributorAnyone can update on above query?
- Oct 31, 2019
Have you tried the links I have posted on visualizations ?
At the end it depends on what you want to visualize exactly and how. For example when you execute the below query in Resource Graph explorer you will click on Chart tab and there you can ping it to dashboard
Resources | where type =~ "Microsoft.Network/networkInterfaces" | mv-expand properties.ipConfigurations | where isnotempty(properties_ipConfigurations.properties.publicIPAddress.id) | extend publicIpId = tostring(properties_ipConfigurations.properties.publicIPAddress.id) | join ( Resources | where type =~ "microsoft.network/publicipaddresses" ) on $left.publicIpId == $right.id | extend ipAddress = tostring(properties1.ipAddress) | extend publicIPAllocationMethod = tostring(properties1.publicIPAllocationMethod) | extend publicIpName = tostring(name1) | extend vmId = tostring(properties.virtualMachine.id) | where notempty(vmId) | join ( Resources | where type == "microsoft.compute/virtualmachines" ) on $left.vmId == $right.id | extend name = name2 | extend resourceGroup = resourceGroup2 | project name, resourceGroup,publicIpName, publicIPAllocationMethod, ipAddress | summarize count() by name
For workbooks there are also some guidance on how to do it.
- mihaialbertOct 13, 2020Copper Contributor
An update for anyone coming across this: I've checked with Microsoft Premier Support and they confirmed last month (Sep 2020) that "right now you can get both dynamic and static IPs for sure using Resource Graph, there's no limitation on this."
As for an Azure Resource Graph query that can retrieve all the private and public IPs for a VM, not just one, I wrote about how to build one step-by-step here https://mihai-albert.com/2020/10/01/get-the-list-of-all-azure-vms-with-all-their-private-and-public-ips/#ARM.