Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Azure Resource Graph is een Azure-service waarmee u query's op schaal kunt uitvoeren, zodat u uw omgeving effectief kunt beheren. U maakt query's met behulp van Kusto Query Language (KQL). Zie Inzicht in de Azure Resource Graph-querytaal voor meer informatie.
Dit artikel bevat een lijst met azure Resource Graph-voorbeeldquery's voor servers met Azure Arc. Deze query's richten zich op het microsoft.hybridcompute/machines resourcetype en retourneren informatie zoals domeinlidmaatschap, geïnstalleerde extensies, agentversies en besturingssysteemdetails. U kunt deze query's uitvoeren via Azure PowerShell of Azure CLI, of in Azure Portal met behulp van Resource Graph Explorer. Pas de queries aan uw behoeften aan.
Hint
U kunt Microsoft Copilot in Azure gebruiken om Azure Resource Graph-query's te maken met behulp van natuurlijke taal. Zie voor meer informatie Resourcegegevens ophalen met behulp van Microsoft Copilot in Azure.
Voorbeeldvragen
Verkrijg het aantal en percentage van Arc-ingeschakelde servers per domein
Deze query vat de domainName eigenschap samen op Azure Arc-enabled servers en gebruikt een berekening met bin om een Pct kolom te maken voor het percentage van Arc-enabled servers per domein.
Resources
| where type == 'microsoft.hybridcompute/machines'
| project domain=tostring(properties.domainName)
| summarize Domains=make_list(domain), TotalMachineCount=sum(1)
| mvexpand EachDomain = Domains
| summarize PerDomainMachineCount = count() by tostring(EachDomain), TotalMachineCount
| extend Pct = 100 * bin(todouble(PerDomainMachineCount) / todouble(TotalMachineCount), 0.001)
az graph query -q "Resources | where type == 'microsoft.hybridcompute/machines' | project domain=tostring(properties.domainName) | summarize Domains=make_list(domain), TotalMachineCount=sum(1) | mvexpand EachDomain = Domains | summarize PerDomainMachineCount = count() by tostring(EachDomain), TotalMachineCount | extend Pct = 100 * bin(todouble(PerDomainMachineCount) / todouble(TotalMachineCount), 0.001)"
"Overzicht alle extensies die op een Azure Arc-ingeschakelde server zijn geïnstalleerd"
Eerst gebruikt deze query project op het hybride machineresourcetype om de ID in hoofdletters te krijgen (toupper()), de computernaam op te halen en het besturingssysteem dat op de machine draait te bepalen. Het verkrijgen van de resource-ID in hoofdletters is een goede manier om je voor te bereiden op join naar een andere eigenschap. Vervolgens gebruikt de query join met kind als leftouter om extensies te verkrijgen door een hoofdletter substring van het extensie-ID te matchen. Het gedeelte van de ID vóór /extensions/<ExtensionName> heeft hetzelfde formaat als de hybride machine-ID, dus gebruiken we deze eigenschap voor de join.
summarize wordt vervolgens gebruikt samen met make_list op de naam van de virtuele machine-extensie om de naam van elke extensie te combineren waarbij ID, OSName, en ComputerName hetzelfde zijn in een enkele array-eigenschap. Ten slotte sorteren we op kleine letters OSName met asc. Standaard is order by aflopend.
Resources
| where type == 'microsoft.hybridcompute/machines'
| project
id,
JoinID = toupper(id),
ComputerName = tostring(properties.osProfile.computerName),
OSName = tostring(properties.osName)
| join kind=leftouter(
Resources
| where type == 'microsoft.hybridcompute/machines/extensions'
| project
MachineId = toupper(substring(id, 0, indexof(id, '/extensions'))),
ExtensionName = name
) on $left.JoinID == $right.MachineId
| summarize Extensions = make_list(ExtensionName) by id, ComputerName, OSName
| order by tolower(OSName) asc
az graph query -q "Resources | where type == 'microsoft.hybridcompute/machines' | project id, JoinID = toupper(id), ComputerName = tostring(properties.osProfile.computerName), OSName = tostring(properties.osName) | join kind=leftouter( Resources | where type == 'microsoft.hybridcompute/machines/extensions' | project MachineId = toupper(substring(id, 0, indexof(id, '/extensions'))), ExtensionName = name ) on \$left.JoinID == \$right.MachineId | summarize Extensions = make_list(ExtensionName) by id, ComputerName, OSName | order by tolower(OSName) asc"
Lijst met servers met Arc waarop de meest recente versie van de agent niet wordt uitgevoerd
Met deze query worden alle servers met Arc geretourneerd waarop een verouderde versie van de Connected Machine-agent wordt uitgevoerd. Agenten met de status Verlopen worden uitgesloten van de resultaten. De query gebruikt leftouterjoin om de Advisor-aanbevelingen samen te voegen die zijn gegenereerd over verbonden machineagents die zijn geïdentificeerd als verouderd, en hybride computers om alle agents te filteren die gedurende een bepaalde periode niet met Azure hebben gecommuniceerd.
AdvisorResources
| where type == 'microsoft.advisor/recommendations'
| where properties.category == 'HighAvailability'
| where properties.shortDescription.solution == 'Upgrade to the latest version of the Azure Connected Machine agent'
| project
id,
JoinId = toupper(properties.resourceMetadata.resourceId),
machineName = tostring(properties.impactedValue),
agentVersion = tostring(properties.extendedProperties.installedVersion),
expectedVersion = tostring(properties.extendedProperties.latestVersion)
| join kind=leftouter(
Resources
| where type == 'microsoft.hybridcompute/machines'
| project
machineId = toupper(id),
status = tostring (properties.status)
) on $left.JoinId == $right.machineId
| where status != 'Expired'
| summarize by id, machineName, agentVersion, expectedVersion
| order by tolower(machineName) asc
az graph query -q "AdvisorResources | where type == 'microsoft.advisor/recommendations' | where properties.category == 'HighAvailability' | where properties.shortDescription.solution == 'Upgrade to the latest version of the Azure Connected Machine agent' | project id, JoinId = toupper(properties.resourceMetadata.resourceId), machineName = tostring(properties.impactedValue), agentVersion = tostring(properties.extendedProperties.installedVersion), expectedVersion = tostring(properties.extendedProperties.latestVersion) | join kind=leftouter( Resources | where type == 'microsoft.hybridcompute/machines' | project machineId = toupper(id), status = tostring (properties.status) ) on \$left.JoinId == \$right.machineId | where status != 'Expired' | summarize by id, machineName, agentVersion, expectedVersion | order by tolower(machineName) asc"
Servers met Arc weergeven waarop SQL Server, PostgreSQL of MySQL is geïnstalleerd
Deze query retourneert alle Arc-ingeschakelde servers waarop SQL Server, PostgreSQL of MySQL is geïnstalleerd.
resources
| where type =~ 'microsoft.hybridcompute/machines'
| extend machineId = tolower(tostring(id)), datacenter = iif(isnull(tags.Datacenter), '', tags.Datacenter), status = tostring(properties.status)
| extend mssqlinstalled = coalesce(tobool(properties.detectedProperties.mssqldiscovered),false)
| extend pgsqlinstalled = coalesce(tobool(properties.detectedProperties.pgsqldiscovered),false)
| extend mysqlinstalled = coalesce(tobool(properties.detectedProperties.mysqldiscovered),false)
| extend osSku = properties.osSku, osName = properties.osName, osVersion = properties.osVersion
| extend coreCount = tostring(properties.detectedProperties.logicalCoreCount), totalPhysicalMemoryinGB = tostring(properties.detectedProperties.totalPhysicalMemoryInGigabytes)
| extend operatingSystem = iif(isnotnull(osSku), osSku, osName)
| where mssqlinstalled or mysqlinstalled or pgsqlinstalled
| project id ,name, type, resourceGroup, subscriptionId, location, kind, osVersion, status, osSku,coreCount,totalPhysicalMemoryinGB,tags, mssqlinstalled, mysqlinstalled, pgsqlinstalled
| sort by (tolower(tostring(name))) asc
az graph query -q "resources | where type =~ 'microsoft.hybridcompute/machines' | extend machineId = tolower(tostring(id)), datacenter = iif(isnull(tags.Datacenter), '', tags.Datacenter), status = tostring(properties.status) | extend mssqlinstalled = coalesce(tobool(properties.detectedProperties.mssqldiscovered),false) | extend pgsqlinstalled = coalesce(tobool(properties.detectedProperties.pgsqldiscovered),false) | extend mysqlinstalled = coalesce(tobool(properties.detectedProperties.mysqldiscovered),false) | extend osSku = properties.osSku, osName = properties.osName, osVersion = properties.osVersion | extend coreCount = tostring(properties.detectedProperties.logicalCoreCount), totalPhysicalMemoryinGB = tostring(properties.detectedProperties.totalPhysicalMemoryInGigabytes) | extend operatingSystem = iif(isnotnull(osSku), osSku, osName) | where mssqlinstalled or mysqlinstalled or pgsqlinstalled | project id ,name, type, resourceGroup, subscriptionId, location, kind, osVersion, status, osSku,coreCount,totalPhysicalMemoryinGB,tags, mssqlinstalled, mysqlinstalled, pgsqlinstalled | sort by (tolower(tostring(name))) asc"
Volgende stappen
- Meer informatie over de query language.
- Lees meer over hoe u bronnen kunt verkennen.