Files
Pulse/docs/PBS.md
rcourtman 3f0808e9f9 docs: comprehensive core and Pro documentation overhaul
- Major updates to README.md and docs/README.md for Pulse v5
- Added technical deep-dives for Pulse Pro (docs/PULSE_PRO.md) and AI Patrol (docs/AI.md)
- Updated Prometheus metrics documentation and Helm schema for metrics separation
- Refreshed security, installation, and deployment documentation for unified agent models
- Cleaned up legacy summary files
2026-01-07 17:38:27 +00:00

177 lines
5.5 KiB
Markdown

# Proxmox Backup Server (PBS) Integration
This guide explains how to connect Pulse to your Proxmox Backup Server for comprehensive backup monitoring.
## Two Ways to Monitor PBS Backups
Pulse can monitor PBS backups in two ways:
### 1. Direct PBS Connection (Recommended)
Connect directly to your PBS server for full monitoring capabilities:
**Benefits:**
- ✅ Deduplication factor and storage efficiency stats
- ✅ PBS server health monitoring (CPU, memory, uptime)
- ✅ Datastore usage and namespace hierarchy
- ✅ Sync, verify, prune, and GC job status
- ✅ Backup owner information
- ✅ Faster queries (no PVE proxy overhead)
### 2. PVE Passthrough (Automatic)
If your PVE cluster has PBS storage configured, Pulse automatically fetches backup data through the PVE API.
**Limitations:**
- ❌ No deduplication stats
- ❌ No PBS server health data
- ❌ No job monitoring
- ❌ Can be slow for encrypted PBS storage
- ❌ Limited metadata per backup
**Recommendation:** If you see a banner in the Backups page suggesting you add PBS directly, following this guide will significantly improve your monitoring experience.
---
## Setting Up Direct PBS Connection
### Method 1: Unified Agent Install (Recommended for Bare Metal)
Install the unified agent directly on your PBS server for automatic setup:
```bash
# Run on your PBS server
curl -fsSL http://<pulse-ip>:7655/install.sh | \
sudo bash -s -- --url http://<pulse-ip>:7655 --token <api-token> --enable-proxmox --proxmox-type pbs
```
The agent will:
1. Detect it's running on a PBS server
2. Create a `pulse-monitor@pbs` user with read-only access
3. Generate an API token
4. Register the PBS node with Pulse automatically
### Method 2: API-Only Setup Script (Best for PBS in Containers) ⭐
Use this when you can run a command on the PBS host but do not want to install the agent.
From Pulse's Settings page:
1. Go to **Settings → Proxmox**
2. Click **Add Node**
3. Select **API Only** tab
4. Enter your PBS server's URL
5. Click copy to get the setup command
6. Run the command on your PBS server
Example (what the UI generates):
```bash
curl -sSL "http://<pulse-ip>:7655/api/setup-script?type=pbs&host=https://<pbs-ip>:8007&pulse_url=http://<pulse-ip>:7655" | bash
```
The script creates a `pulse-monitor@pbs` user, generates a scoped API token, and registers the server with Pulse.
> **Note**: API-only mode does not include temperature monitoring or AI command execution. Use **Agent Install** for full functionality.
### Method 3: Manual Token Creation
If you prefer manual setup:
```bash
# SSH into your PBS server
# 1. Create a dedicated monitoring user
proxmox-backup-manager user create pulse-monitor@pbs --comment "Pulse monitoring"
# 2. Grant read-only access (Audit role)
proxmox-backup-manager acl update / Audit --auth-id pulse-monitor@pbs
# 3. Generate an API token (save the output!)
proxmox-backup-manager user generate-token pulse-monitor@pbs pulse-token
```
Copy the token value and enter it in Pulse:
- **Token ID:** `pulse-monitor@pbs!pulse-token`
- **Token Value:** The UUID shown after running the command
---
## PBS Permissions
The Pulse monitoring user needs minimal permissions:
| Role | Path | Purpose |
|------|------|---------|
| `Audit` | `/` | Read-only access to all datastores, backups, and server status |
The `Audit` role provides:
- List datastores and their usage
- View backup groups and snapshots
- Read server status (CPU, memory, uptime)
- View job history and status
It does **not** allow:
- Creating, modifying, or deleting backups
- Running backup/restore operations
- Changing server configuration
---
## Multiple PBS Servers
If you have multiple PBS servers, add each one separately in Settings. Pulse will:
- Monitor each server independently
- Show backups from all servers in the unified Backups view
- Deduplicate if the same backup appears via both PVE passthrough and direct PBS
---
## Troubleshooting
### "Connection Failed" Error
1. **Check URL:** Ensure the PBS URL is correct (default port is 8007)
- Format: `https://pbs.example.com:8007`
2. **Verify token:** Test authentication:
```bash
curl -sk -H "Authorization: PBSAPIToken=pulse-monitor@pbs!pulse-token:YOUR_TOKEN" \
https://your-pbs:8007/api2/json/version
```
3. **Network access:** Ensure Pulse can reach PBS on port 8007
4. **SSL verification:** If using self-signed certificates, disable SSL verification in the node settings
### Slow Backup Loading
If you notice slow loading for PBS storage accessed via PVE:
- This often happens with encrypted PBS datastores
- The fix is to add PBS directly (this guide)
- Direct PBS connections bypass the slow PVE content listing
### Duplicate Backups
If you see the same backup twice:
- This shouldn't happen—Pulse deduplicates by VMID and timestamp
- If it does occur, the direct PBS version takes priority
- Check console for debug logs: `localStorage.setItem('debug-pmg', 'true')`
---
## Data Source Indicator
In the Backups view, PBS backups show a data source indicator:
- **"PBS"** badge alone = Direct PBS connection (full data)
- **"PBS via PVE"** = Passthrough via PVE storage (limited data)
Adding your PBS server directly will remove the "via PVE" indicator and unlock full monitoring capabilities.
---
## Related Documentation
- [Unified Agent Setup](UNIFIED_AGENT.md) - Installing agents on PBS/PVE/PMG hosts
- [Configuration Reference](CONFIGURATION.md) - Environment variables including PBS settings
- [Troubleshooting](TROUBLESHOOTING.md) - General troubleshooting guide