Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln beskriver hur du frågar efter säkerhetskopieringsinformation för dina Azure-resurser med hjälp av Azure Resource Graph (ARG) utan extra kostnad. ARG utökar Azure Resource Management och gör att du kan utforska resurser effektivt och i stor skala i flera prenumerationer.
Viktiga fördelar med att använda Azure Resource Graph för metadata för säkerhetskopiering
De viktigaste fördelarna med att använda ARG för att fråga efter dina metadata för säkerhetskopiering är:
- Fråga efter resurser mellan prenumerationer med avancerad filtrering, gruppering och sortering efter resursegenskaper.
- Få åtkomst till information om säkerhetskopiering i realtid, inklusive aktiva säkerhetskopieringsjobb.
- Kombinera säkerhetskopierade data med relaterad Azure-resursinformation, till exempel virtuella datorer och lagringskonton.
Komma igång
Följ dessa steg för att komma igång med att fråga dina säkerhetskopior med HJÄLP av ARG:
Sök efter Resource Graph Explorer i Azure Portal. Välj samma för att omdirigeras till ARG-frågeredigeraren.
I det vänstra fönstret visas alla tabeller (och deras associerade scheman) som är tillgängliga för frågor.
- Tabellen RecoveryServicesResources innehåller de flesta av de säkerhetskopieringsrelaterade posterna, till exempel jobbinformation, information om säkerhetskopieringsinstanser. och så vidare.
- Tabellen Resurser innehåller information om alla Azure-resurser på den översta nivån, till exempel Recovery Services-valv, virtuella Azure-datorer, lagringskonton och så vidare.
Om du vill utforska data i någon av dessa tabeller skriver du Kusto-frågor i frågeredigeraren och klickar på Kör fråga.
Du kan ladda ned utdata från dessa frågor som CSV från Resource Graph Explorer. Du kan också använda dessa frågor i anpassad automatisering med alla automationsklienter som stöds av ARG, till exempel PowerShell, CLI eller SDK. Du kan också skapa anpassade arbetsböcker i Azure Portal med ARG som datakälla.
Kommentar
- Säkerhetskopierings-/återställningsjobb som är upp till 14 dagar gamla är tillgängliga i ARG för frågor. Om du vill köra frågor mot historiska poster rekommenderar vi att du använder Azure Monitor-loggar.
- MED ARG kan du fråga de resurser som du har rätt RBAC-rättigheter för.
Exempelfrågor
Följande är några exempel på ARG-frågor på dina säkerhetskopierade data som du kan använda i anpassade instrumentpaneler och automatiseringar.
Visa en lista över alla virtuella Azure-datorer som har konfigurerats för säkerhetskopiering
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')
Visa en lista över alla säkerhetskopieringsjobb på Azure Databases for PostgreSQL-servrar under den senaste veckan
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))
Visa en lista över alla virtuella Azure-datorer som inte har konfigurerats för säkerhetskopiering
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
Visa en lista över alla säkerhetskopieringsprinciper som används för virtuella Azure-datorer
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'
Visa en lista över alla virtuella datorer som är associerade med en viss säkerhetskopieringsprincip
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>"
Visa en lista över alla säkerhetskopieringsprinciper som används för Azure Databases for PostgreSQL-servrar
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'))