Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure Resource Graph ist ein Azure-Dienst, mit dem Sie in großem Maßstab Abfragen durchführen können, um Ihre Umgebung effektiv zu verwalten. Sie erstellen Abfragen mithilfe der Kusto Query Language (KQL). Weitere Informationen finden Sie unter Grundlegendes zur Azure Resource Graph-Abfragesprache.
Dieser Artikel enthält eine Liste der Azure Resource Graph-Beispielabfragen für Azure Arc-fähige Server. Diese Abfragen zielen auf den microsoft.hybridcompute/machines Ressourcentyp ab und geben Informationen wie Domänenmitgliedschaft, installierte Erweiterungen, Agentversionen und Betriebssystemdetails zurück. Sie können diese Abfragen über Azure PowerShell oder Azure CLI oder im Azure-Portal mithilfe des Ressourcendiagramm-Explorers ausführen. Ändern Sie die Abfragen entsprechend Ihren Anforderungen.
Tipp
Sie können Microsoft Copilot in Azure verwenden, um Azure Resource Graph-Abfragen mit natürlicher Sprache zu erstellen. Weitere Informationen finden Sie unter Abrufen von Ressourceninformationen mithilfe von Microsoft Copilot in Azure.
Beispielabfragen
Abrufen der Anzahl und des Prozentsatzes von Servern mit Arc-Unterstützung nach Domäne
Diese Abfrage fasst die Eigenschaft domainName auf Servern mit Azure Arc-Unterstützung zusammen und verwendet eine Berechnung mit bin, um die Spalte Pct für den Prozentsatz von Servern mit Arc-Unterstützung pro Domäne zu erstellen.
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)"
Auflisten aller Erweiterungen, die auf einem Server mit Azure Arc-Unterstützung installiert sind
Zunächst verwendet diese Abfrage project für den Hybridcomputer-Ressourcentyp, um die ID in Großbuchstaben (toupper()), den Computernamen und das auf dem Computer ausgeführte Betriebssystem abzurufen. Das Abrufen der Ressourcen-ID in Großbuchstaben ist eine gute Möglichkeit, um einen join-Vorgang für eine andere Eigenschaft vorzubereiten. Anschließend wird für die Abfrage join mit kind für leftouter verwendet, um Erweiterungen abzurufen. Hierfür wird ein Abgleich mit dem substring-Element der Erweiterungs-ID in Großbuchstaben durchgeführt. Da der Teil der ID vor /extensions/<ExtensionName> das gleiche Format wie die ID des Hybridcomputers hat, verwenden Sie diese Eigenschaft für den join-Vorgang.
summarize wird dann mit make_list im Namen der VM-Erweiterung verwendet, um die Namen der einzelnen Erweiterungen zu kombinieren. Hierbei sind ID, OSName und ComputerName für jede Arrayeigenschaft jeweils identisch. Abschließend erfolgt eine Sortierung in Kleinbuchstaben nach OSName mit asc. Standardmäßig wird für order by „descending“ (absteigend) und nicht „ascending“ (aufsteigend) verwendet.
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"
Auflisten von Servern mit Arc-Unterstützung, auf denen nicht die neueste veröffentlichte Agent-Version ausgeführt wird
Diese Abfrage gibt alle Server mit Arc-Unterstützung zurück, auf denen eine veraltete Version des Connected Machine-Agents ausgeführt wird. Agents mit dem Status Abgelaufen werden aus den Ergebnissen ausgeschlossen. Die Abfrage verwendet leftouterjoin, um die Advisor-Empfehlungen zu allen Connected Machine-Agents, die als veraltet identifiziert wurden, und Hybridcomputern zusammenzuführen, um alle Agents herauszufiltern, die über einen bestimmten Zeitraum nicht mit Azure kommuniziert haben.
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"
Liste Arc-fähige Server mit installiertem SQL Server, PostgreSQL oder MySQL
Diese Abfrage gibt alle Arc-fähigen Server zurück, auf denen SQL Server, PostgreSQL oder MySQL installiert sind.
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"
Nächste Schritte
- Erfahren Sie mehr über die Abfragesprache.
- Erfahren Sie mehr über das Erkunden von Ressourcen.