Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Esta página é uma coleção de consultas de exemplo do Azure Resource Graph para os servidores habilitados para Azure Arc.
Dica
Você pode usar o Microsoft Copilot no Azure (versão prévia) para criar consultas do Azure Resource Graph usando a linguagem natural. Para obter mais informações, veja Obter informações do recurso usando o Microsoft Copilot no Azure.
Consultas de exemplo
Obter contagem e percentual de servidores habilitados para Arc por domínio
Esta consulta resume a propriedade domainName
em Servidores habilitados para Azure Arc e usa um cálculo com bin
para criar uma coluna Pct
para a porcentagem de servidores habilitados para Arc por domínio.
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)"
Listar todas as extensões instaladas em um servidor habilitado para Azure Arc
Primeiro, essa consulta usa project
no tipo de recurso de computador híbrido para obter a ID em letras maiúsculas (toupper()
), obter o nome do computador e o sistema operacional em execução no computador. Obter a ID do recurso em letras maiúsculas é uma boa maneira de se preparar para join
à outra propriedade. Em seguida, a consulta usa join
com kind
como leftouter
para obter as extensões fazendo a correspondência com uma substring
em maiúsculas da ID da extensão. A parte da ID antes de /extensions/<ExtensionName>
tem o mesmo formato que a ID do computador híbrido, portanto, usamos essa propriedade para o join
. summarize
é então usado com make_list
no nome da extensão da máquina virtual para combinar o nome de cada extensão em que ID, OSName e ComputerName são os mesmos em uma só propriedade de matriz. Por fim, ordenamos por OSName em minúsculas com asc
. Por padrão, order by
é decrescente.
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"
Listar os servidores habilitados para Arc que não executam a última versão lançada do agente
Essa consulta retorna todos os servidores habilitados para Arc que executam uma versão desatualizada do agente do Connected Machine. Os agentes com o status Expirado são excluídos dos resultados. A consulta usa leftouter
join
para reunir as recomendações do Consultor levantadas sobre quaisquer agentes da Máquina Conectada identificados como desatualizados e máquinas de Computador Híbrido para filtrar qualquer agente que não tenha se comunicado com o Azure por um período de tempo.
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"
Listar servidores habilitados para Arc com SQL Server, PostgreSQL ou MySQL instalados
Essa consulta retorna todos os servidores habilitados para Arc que têm SQL Server, PostgreSQL ou MySQL instalados.
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"
Próximas etapas
- Saiba mais sobre a linguagem de consulta.
- Saiba mais sobre como explorar recursos.