Query's uitvoeren op uw back-ups met behulp van Azure Resource Graph (ARG)
U kunt gegevens over back-ups van uw Azure-resources zonder extra kosten opvragen met behulp van Azure Resource Graph (ARG). ARG is een Azure-service die is ontworpen om Azure Resource Management uit te breiden. Het is erop gericht om efficiƫnt resourceverkenning te bieden met de mogelijkheid om query's op schaal uit te voeren voor een bepaalde set abonnementen. Hieronder volgen de belangrijkste voordelen van het gebruik van ARG om query's uit te voeren op uw back-upmetagegevens:
- Mogelijkheden om resources op schaal te doorzoeken met complexe filters, groepering en sortering op resource-eigenschappen.
- Mogelijkheid om realtime informatie over uw back-ups te verkrijgen, inclusief actieve back-uptaken.
- De mogelijkheid om back-upgerelateerde gegevens te koppelen met nuttige informatie over gerelateerde Azure-resources, zoals virtuele Azure-machines en opslagaccounts.
Aan de slag
Volg deze stappen om aan de slag te gaan met het uitvoeren van query's op uw back-ups met ARG:
Zoek in Azure Portal naar Resource Graph Explorer . Selecteer hetzelfde om omgeleid te worden naar de ARG-queryeditor.
In het linkerdeelvenster worden alle tabellen (en de bijbehorende schema's) weergegeven die beschikbaar zijn voor query's.
- De tabel RecoveryServicesResources bevat de meeste back-uprecords , zoals taakdetails, details van het back-upexemplaren. enzovoort.
- De tabel Resources bevat informatie over alle Azure-resources op het hoogste niveau, zoals Recovery Services-kluizen, Virtuele Azure-machines, opslagaccounts, enzovoort.
Als u de gegevens in een van deze tabellen wilt verkennen, schrijft u Kusto-query's in de queryeditor en klikt u op Query uitvoeren.
U kunt de uitvoer van deze query's downloaden als CSV vanuit Resource Graph Explorer. U kunt deze query's ook gebruiken in aangepaste automatisering met behulp van automatiseringsclients die worden ondersteund door ARG, zoals PowerShell, CLI of SDK. U kunt ook aangepaste werkmappen maken in Azure Portal met behulp van ARG als gegevensbron.
Notitie
- Back-up-/hersteltaken die maximaal 14 dagen oud zijn, zijn beschikbaar in ARG voor query's. Als u historische records wilt opvragen, raden we u aan Azure Monitor-logboeken te gebruiken.
- Met ARG kunt u een query uitvoeren op de resources waarvoor u de juiste RBAC-rechten hebt.
Voorbeeldquery's
Hier volgen enkele voorbeelden van ARG-query's op uw back-upgegevens die u kunt gebruiken in aangepaste dashboards en automatiseringen.
Een lijst weergeven van alle Azure-VM's die zijn geconfigureerd voor back-up
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')
Een lijst weergeven van alle back-uptaken op Azure Databases for PostgreSQL-servers in de afgelopen week
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))
Een lijst weergeven van alle Azure-VM's die niet zijn geconfigureerd voor back-up
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
Een lijst weergeven van alle back-upbeleidsregels die worden gebruikt voor Azure-VM's
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'
Een lijst weergeven van alle VM's die zijn gekoppeld aan een bepaald back-upbeleid
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>"
Een lijst weergeven van alle back-upbeleidsregels die worden gebruikt voor Azure Databases for PostgreSQL-servers
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'))