Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek popisuje, jak zadávat dotazy na informace o zálohování vašich prostředků Azure pomocí Azure Resource Graphu (ARG) bez dalších nákladů. ARG rozšiřuje správu prostředků Azure a umožňuje efektivně zkoumat prostředky ve velkém měřítku napříč několika předplatnými.
Klíčové výhody používání Azure Resource Graph pro metadata pro zálohování
Klíčovými výhodami použití ARG k dotazování na metadata zálohování jsou:
- Vyhledávání prostředků napříč předplatnými s pokročilým filtrováním, seskupováním a řazením podle vlastností prostředků.
- Získejte přístup k podrobnostem zálohování v reálném čase, včetně aktivních úloh zálohování.
- Zkombinujte zálohovaná data se souvisejícími informacemi o prostředcích Azure, jako jsou virtuální počítače a účty úložiště.
Začínáme
Pokud chcete začít s dotazováním záloh pomocí ARG, postupujte takto:
Vyhledejte Průzkumník Resource Graph v Azure portálu. Vyberte stejnou možnost, aby se přesměrovala do editoru dotazů ARG.
V levém podokně se zobrazí všechny tabulky (a jejich přidružená schémata), které jsou k dispozici pro dotaz.
- Tabulka RecoveryServicesResources obsahuje většinu záznamů souvisejících se zálohováním, jako jsou podrobnosti úlohy nebo podrobnosti o instanci zálohování. a tak dále.
- Tabulka Prostředky obsahuje informace o všech prostředcích Azure nejvyšší úrovně, jako jsou trezory služby Recovery Services, virtuální počítače Azure, účty úložiště atd.
Pokud chcete prozkoumat data v některé z těchto tabulek, napište dotazy Kusto v editoru dotazů a klikněte na Spustit dotaz.
Výstup těchto dotazů si můžete stáhnout ve formátu CSV z Resource Graph Explorer. Tyto dotazy můžete použít také ve vlastní automatizaci pomocí libovolných klientů automatizace podporovaných ARG, jako jsou PowerShell, CLI nebo SDK. Vlastní sešity můžete také vytvořit na webu Azure Portal pomocí ARG jako zdroje dat.
Poznámka:
- Úlohy zálohování/obnovení, které jsou starší než 14 dnů, jsou k dispozici v ARG pro dotazy. Pokud se chcete dotazovat na historické záznamy, doporučujeme použít protokoly služby Azure Monitor.
- ARG umožňuje vyžádat si informace o prostředcích, pro které máte příslušná práva RBAC.
Vzorové dotazy
Následuje několik ukázkových dotazů ARG na zálohovaná data, která můžete použít ve vlastních řídicích panelech a automatizacích.
Výpis všech virtuálních počítačů Azure nakonfigurovaných pro zálohování
RecoveryServicesResources
| where type in~ ('Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems')
| extend vaultName = case(type =~ 'microsoft.dataprotection/backupVaults/backupInstances',split(split(id, '/Microsoft.DataProtection/backupVaults/')[1],'/')[0],type =~ 'Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems',split(split(id, '/Microsoft.RecoveryServices/vaults/')[1],'/')[0],'--')
| extend dataSourceType = case(type=~'Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems',properties.backupManagementType,type =~ 'microsoft.dataprotection/backupVaults/backupInstances',properties.dataSourceSetInfo.datasourceType,'--')
| extend friendlyName = properties.friendlyName
| extend dsResourceGroup = split(split(properties.dataSourceInfo.resourceID, '/resourceGroups/')[1],'/')[0]
| extend dsSubscription = split(split(properties.dataSourceInfo.resourceID, '/subscriptions/')[1],'/')[0]
| extend lastRestorePoint = properties.lastRecoveryPoint
| extend primaryLocation = properties.dataSourceInfo.resourceLocation
| extend policyName = case(type =~ 'Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems',properties.policyName, type =~ 'microsoft.dataprotection/backupVaults/backupInstances', properties.policyInfo.name, '--')
| extend protectionState = properties.currentProtectionState
| where protectionState in~ ('ConfiguringProtection','ProtectionConfigured','ConfiguringProtectionFailed','ProtectionStopped','SoftDeleted','ProtectionError')
Výpis všech úloh zálohování na serverech Azure Database for PostgreSQL za poslední týden
RecoveryServicesResources
| where type in~ ('Microsoft.DataProtection/backupVaults/backupJobs')
| extend vaultName = case(type =~ 'microsoft.dataprotection/backupVaults/backupJobs',properties.vaultName,type =~ 'Microsoft.RecoveryServices/vaults/backupJobs',split(split(id, '/Microsoft.RecoveryServices/vaults/')[1],'/')[0],'--')
| extend friendlyName = case(type =~ 'microsoft.dataprotection/backupVaults/backupJobs',strcat(properties.dataSourceSetName , '/', properties.dataSourceName),type =~ 'Microsoft.RecoveryServices/vaults/backupJobs', properties.entityFriendlyName, '--')
| extend dataSourceType = case(type =~ 'Microsoft.RecoveryServices/vaults/backupJobs',properties.backupManagementType,type =~ 'microsoft.dataprotection/backupVaults/backupJobs',properties.dataSourceType,'--')
| extend backupInstanceName = properties.backupInstanceId
| extend dsResourceGroup = split(split(properties.dataSourceId, '/resourceGroups/')[1],'/')[0]| extend dsSubscription = split(split(properties.dataSourceId, '/subscriptions/')[1],'/')[0]
| extend status = properties.status
| extend dataSourceId = properties.dataSourceId
| extend primaryLocation = properties.dataSourceLocation
| extend jobStatus = case (properties.status == 'Completed' or properties.status == 'CompletedWithWarnings','Succeeded',properties.status == 'Failed','Failed',properties.status == 'InProgress', 'Started', properties.status), operation = case(type =~ 'microsoft.dataprotection/backupVaults/backupJobs' and tolower(properties.operationCategory) =~ 'backup' and properties.isUserTriggered == 'true',strcat('adhoc',properties.operationCategory),type =~ 'microsoft.dataprotection/backupVaults/backupJobs', tolower(properties.operationCategory), type =~ 'Microsoft.RecoveryServices/vaults/backupJobs' and tolower(properties.operation) =~ 'backup' and properties.isUserTriggered == 'true',strcat('adhoc',properties.operation),type =~ 'Microsoft.RecoveryServices/vaults/backupJobs',tolower(properties.operation), '--'),startTime = todatetime(properties.startTime),endTime = properties.endTime, duration = properties.duration
| project id, name, friendlyName, resourceGroup, vaultName, dataSourceType, operation, jobStatus, startTime, duration, backupInstanceName, dsResourceGroup, dsSubscription, status, primaryLocation, dataSourceId
| where (startTime >= ago(7d))
Výpis všech virtuálních počítačů Azure, které nebyly nakonfigurované pro zálohování
Resources
| where type in~ ('microsoft.compute/virtualmachines','microsoft.classiccompute/virtualmachines')
| extend resourceId=tolower(id)
| join kind = leftouter ( RecoveryServicesResources
| where type == "microsoft.recoveryservices/vaults/backupfabrics/protectioncontainers/protecteditems"
| where properties.backupManagementType == "AzureIaasVM"
| project resourceId = tolower(tostring(properties.sourceResourceId)), backupItemid = id, isBackedUp = isnotempty(id) ) on resourceId
| extend isProtected = isnotempty(backupItemid)
| where (isProtected == (0))
| project id,name,resourceGroup,location,tags
Výpis všech zásad zálohování používaných pro virtuální počítače Azure
RecoveryServicesResources
| where type == 'microsoft.recoveryservices/vaults/backuppolicies'
| extend vaultName = case(type == 'microsoft.recoveryservices/vaults/backuppolicies', split(split(id, 'microsoft.recoveryservices/vaults/')[1],'/')[0],type == 'microsoft.recoveryservices/vaults/backuppolicies', split(split(id, 'microsoft.recoveryservices/vaults/')[1],'/')[0],'--')
| extend datasourceType = case(type == 'microsoft.recoveryservices/vaults/backuppolicies', properties.backupManagementType,type == 'microsoft.dataprotection/backupVaults/backupPolicies',properties.datasourceTypes[0],'--')
| project id,name,vaultName,resourceGroup,properties,datasourceType
| where datasourceType == 'AzureIaasVM'
Zobrazení seznamu všech virtuálních počítačů přidružených k dané zásadě zálohování
RecoveryServicesResources
| where type == "microsoft.recoveryservices/vaults/backupfabrics/protectioncontainers/protecteditems"
| project propertiesJSON = parse_json(properties)
| where propertiesJSON.backupManagementType == "AzureIaasVM"
| project VMID=propertiesJSON.sourceResourceId, PolicyID=propertiesJSON.policyId
| where PolicyID == "<ARM ID of the given policy>"
Výpis všech zásad zálohování používaných pro servery Azure Database for PostgreSQL
RecoveryServicesResources
| where type in~ ('Microsoft.DataProtection/BackupVaults/backupPolicies')
| extend vaultName = case(type =~ 'microsoft.dataprotection/backupVaults/backupPolicies', split(split(id, '/Microsoft.DataProtection/backupVaults/')[1],'/')[0],type =~ 'microsoft.recoveryservices/vaults/backupPolicies', split(split(id, '/Microsoft.RecoveryServices/vaults/')[1],'/')[0],'--')
| extend datasourceType = case(type =~ 'Microsoft.RecoveryServices/vaults/backupPolicies', properties.backupManagementType,type =~ 'microsoft.dataprotection/backupVaults/backupPolicies',properties.datasourceTypes[0],'--')
| project id,name,vaultName,resourceGroup,properties,datasourceType
| where (datasourceType in~ ('Microsoft.DBforPostgreSQL/servers/databases'))