diff --git a/collectors/veeam/README.md b/collectors/veeam/README.md index 9b9f6ff..2346947 100644 --- a/collectors/veeam/README.md +++ b/collectors/veeam/README.md @@ -5,20 +5,16 @@ It covers jobs returned by `Get-VBRJob`: VM backup, replication and backup copy ## Install (on the VBR server, as an administrator) -======= Requires PowerShell 7 installed machine-wide (`winget install Microsoft.PowerShell` or the MSI), which VBR 13's Veeam module expects. The Microsoft Store version won't work, because the SYSTEM account can't run it. The installer checks for this before changing anything. ->>>>>>> add-backend-api 1. On the dashboard host, create a key for this server: ```bash python manage.py create-key veeam-acme ``` 2. Copy this folder to the VBR server and run: -======= -2. Copy this folder to the VBR server and run, from PowerShell 7 (`pwsh`): ->>>>>>> add-backend-api +3. Copy this folder to the VBR server and run, from PowerShell 7 (`pwsh`): ```powershell .\Install-VeeamCollector.ps1 -ApiUrl https://backups.example.com -Tenant "Acme Corp" ``` @@ -26,13 +22,11 @@ account can't run it. The installer checks for this before changing anything. - writes `C:\ProgramData\BackupDashboard\veeam-collector.json` (readable only by SYSTEM and Administrators) - copies the script to `C:\Program Files\BackupDashboard\` - registers the scheduled task **Backup Dashboard - Veeam collector** (SYSTEM, every 15 minutes) -3. Preview the payloads, then backfill 30 days so the history view is populated straight away: -======= +4. Preview the payloads, then backfill 30 days so the history view is populated straight away: - registers the scheduled task **Backup Dashboard - Veeam collector** (SYSTEM, every 15 minutes, run by `C:\Program Files\PowerShell\7\pwsh.exe`; use `-PwshPath` if it's installed elsewhere) -3. Preview the payloads, then backfill 30 days so the history view is populated straight away +5. Preview the payloads, then backfill 30 days so the history view is populated straight away (from `pwsh`): ->>>>>>> add-backend-api ```powershell & 'C:\Program Files\BackupDashboard\Send-VeeamBackupStatus.ps1' -DryRun & 'C:\Program Files\BackupDashboard\Send-VeeamBackupStatus.ps1' -LookbackHours 720 @@ -57,8 +51,7 @@ delete the scheduled task and both `BackupDashboard` folders. **Backup copy jobs (VBR 12+):** Veeam records their sessions under hidden per-source "worker" jobs. The collector files each worker session under its copy job (via the worker's `PolicyJobId`), so a copy job gets one run per source job it copies, with the source in `copied_from`. - ->>>>>>> add-backend-api +i Each run covers the last 48 hours (`LookbackHours`), so a few missed runs (server rebooting, API down) fill in automatically. Sessions already delivered are recorded in `veeam-collector.state.json`. Running sessions are re-sent until they finish. @@ -73,7 +66,6 @@ down) fill in automatically. Sessions already delivered are recorded in - A job shows **Unknown** on the dashboard: the collector sent the job but matched no sessions to it. Run `.\Get-VeeamCollectorDiagnostics.ps1` (read-only). It lists sessions whose job ID matches no job, plus the type and link properties of the jobs left without sessions. ->>>>>>> add-backend-api - `Get-VBRBackupSession` loads every session in the VBR database. On a server with years of history, this can make each run take a minute or more. The task's 30-minute limit and "don't start if already running" setting keep that safe.