Monitoring and reporting for Veeam Data Platform
Post Reply
cesarMon
Lurker
Posts: 1
Liked: never
Joined: Jul 11, 2022 2:58 pm
Full Name: César Monges
Contact:

Alerts/Reports for Tape Usage

Post by cesarMon »

Greetings,
I have a client that wants to know the total free space or the total space usage in a specific tape media pool. I tried to find this through the standard Veeam ONE reports, but as far as I was able to see the only one that kinda does this is the "Backups on Tape" report, but it shows the free space in every tape drive. I would prefer to see the total free space or the total space usage of the media pool.
Is there any other ways to see this? Idk, like through some scripts or configuring some kind of alerts in Veeam ONE or even Veeam B&R.
jorgedlcruz
Veeam Software
Posts: 1372
Liked: 619 times
Joined: Jul 17, 2015 6:54 pm
Full Name: Jorge de la Cruz
Contact:

Re: Alerts/Reports for Tape Usage

Post by jorgedlcruz »

Hello Cesar,
We had similar feedback from other Customers, so a request has been created and it will be improved in future releases of the product.

My colleague David put a great PowerShell together you might want to give it a try on your VBR:

Code: Select all

using namespace System.Collections.Generic

function Get-VBRTapesInLibrary {
	param(
		[Veeam.Backup.PowerShell.Infos.VBRTapeLibrary[]]$Library
		)
	$TapesInLibrary = Get-VBRTapeMedium | Where-Object {$_.LibraryID -eq $Library.id}
	return $TapesInLibrary
}

function New-TapeLocationPropertiesObject {
	param(
		[Veeam.Backup.PowerShell.Infos.VBRTapeMedium[]]$tapemedium
	)
	$TapeBarcode = $tapemedium.Barcode
	$TapeName = $tapemedium.Name
	$TapeLocation = $tapemedium.Location.Type
	if($tapemedium.Location.Type -eq "Drive"){
		$LocationAddress = ($Drives | Where-Object {$_.id -eq $tapemedium.Location.DriveID}).Name
	} else { 
		$LocationAddress = $tapemedium.Location.SlotAddress
	}
	$TapeLibrary = $tapemedium.LibraryID
	$TapeObjectProperties = [PSCustomObject]@{
		TapeBarcode = $TapeBarcode
		TapeName = $TapeName
		TapeLocation = $TapeLocation
		LocationAddress = $LocationAddress
		TapeLibrary = $TapeLibrary
	}
	return $TapeObjectProperties
}

 
$Libraries = Get-VBRTapeLibrary
$Drives = Get-VBRTapeDrive
$LibraryInventory = [List[Object]]@()
Foreach($tl in $Libraries){
	$TapesInLibrary = Get-VBRTapesInLibrary -Library $tl
	Foreach($tape in $TapesInLibrary){
		$TapeProperties = New-TapeLocationPropertiesObject -tapemedium $tape
		$LibraryInventory.Add($TapeProperties)
	}
}

$LibraryInventory | Export-Csv -NoTypeInformation -Path C:\temp\TapeLibraryInventoryReport.csv
Change the path to wherever you want it.

Thanks!
Jorge de la Cruz
Senior Product Manager | Veeam ONE @ Veeam Software

@jorgedlcruz
https://www.jorgedelacruz.es / https://jorgedelacruz.uk
vExpert 2014-2024 / InfluxAce / Grafana Champion
Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests