- Remove outdated planning documents and implementation guides - Update README with comprehensive DR procedures and monitoring - Enhance rman_restore_from_zero.cmd with SPFILE creation and auto-start - Add Proxmox monitoring and weekly test scripts - Archive old implementation documentation Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
297 lines
7.8 KiB
Markdown
297 lines
7.8 KiB
Markdown
# Oracle DR Monitoring cu Notificări Proxmox Native
|
|
|
|
## 🎯 Overview
|
|
|
|
Sistem de monitorizare și alertare pentru Oracle DR care folosește **sistemul nativ de notificări Proxmox** (PVE::Notify) - același sistem folosit pentru alertele HA, backup-uri, etc.
|
|
|
|
**Avantaje majore:**
|
|
- ✅ **Zero configurare email** - folosește setup-ul existent Proxmox
|
|
- ✅ **Scripturi autosuficiente** - creează automat template-urile necesare
|
|
- ✅ **Notificări profesionale** - HTML formatat, culori, grafice
|
|
- ✅ **Integrare completă** - apare în Datacenter > Notifications
|
|
- ✅ **Flexibilitate maximă** - schimbi destinația din GUI, nu din cod
|
|
|
|
## 📦 Componente
|
|
|
|
### 1. **oracle-backup-monitor-proxmox.sh**
|
|
Monitorizează backup-urile Oracle și trimite alerte când:
|
|
- Backup FULL > 25 ore vechime
|
|
- Backup CUMULATIVE > 7 ore vechime
|
|
- Spațiu disk > 80% plin
|
|
- Lipsesc backup-uri
|
|
|
|
### 2. **weekly-dr-test-proxmox.sh**
|
|
Rulează test DR complet automat:
|
|
- Pornește VM-ul DR
|
|
- Verifică mount NFS
|
|
- Restaurează database
|
|
- Validează datele
|
|
- Cleanup și shutdown
|
|
- Raport detaliat cu timeline
|
|
|
|
## 🚀 Instalare Rapidă (3 minute)
|
|
|
|
### Pe Proxmox Host:
|
|
|
|
```bash
|
|
# 1. Copiază scripturile
|
|
mkdir -p /opt/scripts
|
|
cd /opt/scripts
|
|
wget https://your-repo/oracle-backup-monitor-proxmox.sh
|
|
wget https://your-repo/weekly-dr-test-proxmox.sh
|
|
chmod +x *.sh
|
|
|
|
# 2. Instalează dependențe (dacă nu există)
|
|
apt-get update
|
|
apt-get install -y jq dos2unix
|
|
|
|
# 3. Corectează line endings (dacă vin din Windows)
|
|
dos2unix /opt/scripts/*.sh
|
|
|
|
# 4. Instalează template-urile (AUTOMAT!)
|
|
/opt/scripts/oracle-backup-monitor-proxmox.sh --install
|
|
/opt/scripts/weekly-dr-test-proxmox.sh --install
|
|
|
|
# 5. Testează manual
|
|
/opt/scripts/oracle-backup-monitor-proxmox.sh
|
|
/opt/scripts/weekly-dr-test-proxmox.sh
|
|
|
|
# 6. Adaugă în cron
|
|
crontab -e
|
|
# Adaugă:
|
|
0 9 * * * /opt/scripts/oracle-backup-monitor-proxmox.sh
|
|
0 6 * * 6 /opt/scripts/weekly-dr-test-proxmox.sh
|
|
```
|
|
|
|
**ATÂT! Nu mai trebuie să faci nimic!**
|
|
|
|
## 📧 Cum Funcționează Notificările
|
|
|
|
### Fluxul de notificare:
|
|
|
|
```
|
|
Script detectează problemă
|
|
↓
|
|
Creează JSON cu datele
|
|
↓
|
|
Apelează PVE::Notify
|
|
↓
|
|
Proxmox procesează template-ul Handlebars
|
|
↓
|
|
Trimite notificare conform config din GUI
|
|
↓
|
|
Primești email/webhook/etc
|
|
```
|
|
|
|
### Ce primești:
|
|
|
|
#### Email pentru Backup Monitor:
|
|
```
|
|
Subject: Oracle Backup WARNING - pveelite
|
|
|
|
Oracle Backup Monitoring Alert
|
|
==============================
|
|
Severity: WARNING
|
|
Date: 2025-10-10 21:00:00
|
|
Status: WARNING
|
|
|
|
WARNINGS:
|
|
- FULL backup is 26 hours old (threshold: 25)
|
|
|
|
Backup Details:
|
|
- Total Backups: 15
|
|
- Total Size: 8.3 GB
|
|
- FULL Backup Age: 26 hours ⚠️
|
|
- CUMULATIVE Backup Age: 3 hours ✓
|
|
- Disk Usage: 45%
|
|
```
|
|
|
|
#### Email pentru DR Test (HTML):
|
|

|
|
|
|
Conține:
|
|
- Timeline vizual cu toate etapele
|
|
- Metrici în card-uri colorate
|
|
- Tabel cu detalii sistem
|
|
- Evidențiere erori/warning-uri
|
|
|
|
## 🎨 Template-uri Handlebars
|
|
|
|
Scripturile creează **automat** 6 template-uri:
|
|
|
|
### Pentru Backup Monitor:
|
|
- `oracle-backup-subject.txt.hbs` - Subiect email
|
|
- `oracle-backup-body.txt.hbs` - Corp text
|
|
- `oracle-backup-body.html.hbs` - Corp HTML formatat
|
|
|
|
### Pentru DR Test:
|
|
- `oracle-dr-test-subject.txt.hbs` - Subiect email
|
|
- `oracle-dr-test-body.txt.hbs` - Corp text
|
|
- `oracle-dr-test-body.html.hbs` - Corp HTML cu timeline
|
|
|
|
**Locație:** `/usr/share/pve-manager/templates/default/`
|
|
|
|
## 🔧 Configurare Avansată (Opțional)
|
|
|
|
### Matching Rules în Proxmox GUI
|
|
|
|
Poți crea reguli pentru a ruta notificările diferit:
|
|
|
|
1. **Datacenter > Notifications > Add > Matcher**
|
|
|
|
2. **Exemplu 1:** Trimite erorile către echipa on-call
|
|
```
|
|
Name: oracle-critical
|
|
Match field: severity equals error
|
|
Match field: type equals oracle-backup
|
|
Target: oncall-email
|
|
```
|
|
|
|
3. **Exemplu 2:** Warning-uri doar în Slack
|
|
```
|
|
Name: oracle-warnings
|
|
Match field: severity equals warning
|
|
Match field: type contains oracle
|
|
Target: slack-webhook
|
|
```
|
|
|
|
### Modificare Template-uri
|
|
|
|
Dacă vrei să personalizezi template-urile:
|
|
|
|
```bash
|
|
# Editează template-ul
|
|
nano /usr/share/pve-manager/templates/default/oracle-backup-body.html.hbs
|
|
|
|
# Adaugă câmpuri noi, schimbă culori, etc.
|
|
# Folosește sintaxa Handlebars: {{variable}}, {{#if condition}}, {{#each array}}
|
|
```
|
|
|
|
## 📊 Monitorizare și Debugging
|
|
|
|
### Verifică template-urile:
|
|
```bash
|
|
ls -la /usr/share/pve-manager/templates/default/oracle-*
|
|
```
|
|
|
|
### Vezi log-uri notificări:
|
|
```bash
|
|
# Log-uri Proxmox
|
|
journalctl -u pveproxy -f | grep notify
|
|
|
|
# Log-uri scripturi
|
|
tail -f /var/log/oracle-dr/*.log
|
|
```
|
|
|
|
### Testează notificări manual:
|
|
```bash
|
|
# Forțează o alertă de test
|
|
echo "test" > /mnt/pve/oracle-backups/ROA/autobackup/test.BKP
|
|
./oracle-backup-monitor-proxmox.sh
|
|
rm /mnt/pve/oracle-backups/ROA/autobackup/test.BKP
|
|
```
|
|
|
|
## 🆚 Comparație cu Metode Clasice
|
|
|
|
| Aspect | Email Manual | Webhook | **PVE::Notify** |
|
|
|--------|--------------|---------|-----------------|
|
|
| Configurare | Complex (SMTP) | Medium | **Zero** ✅ |
|
|
| Template-uri | În script | În script | **Handlebars** ✅ |
|
|
| Flexibilitate | Hardcodat | Hardcodat | **GUI Proxmox** ✅ |
|
|
| Formatare | Basic | JSON | **HTML Rich** ✅ |
|
|
| Maintenance | Per script | Per script | **Centralizat** ✅ |
|
|
| Integrare | Separată | Separată | **Nativă** ✅ |
|
|
|
|
## 🔐 Securitate
|
|
|
|
- Scripturile rulează local pe Proxmox (no remote execution)
|
|
- Folosesc SSH keys pentru conectare la VM-uri
|
|
- Template-urile sunt read-only pentru non-root
|
|
- Notificările urmează security policy-ul Proxmox
|
|
|
|
## 🐛 Troubleshooting
|
|
|
|
### Problemă: Nu primesc notificări
|
|
|
|
1. Verifică dacă Proxmox trimite alte notificări:
|
|
```bash
|
|
# Test notificare Proxmox
|
|
pvesh create /nodes/$(hostname)/apt/update
|
|
# Ar trebui să primești notificare despre update
|
|
```
|
|
|
|
2. Verifică template-urile:
|
|
```bash
|
|
ls /usr/share/pve-manager/templates/default/oracle-*
|
|
# Trebuie să existe 6 fișiere
|
|
```
|
|
|
|
3. Verifică configurația notificări:
|
|
```bash
|
|
cat /etc/pve/notifications.cfg
|
|
```
|
|
|
|
### Problemă: Template-uri nu se creează
|
|
|
|
```bash
|
|
# Rulează cu debug
|
|
bash -x ./oracle-backup-monitor-proxmox.sh --install
|
|
|
|
# Verifică permisiuni
|
|
ls -ld /usr/share/pve-manager/templates/default/
|
|
```
|
|
|
|
### Problemă: Eroare PVE::Notify
|
|
|
|
```bash
|
|
# Verifică că perl modules sunt instalate
|
|
perl -e 'use PVE::Notify; print "OK\n"'
|
|
|
|
# Reinstalează dacă lipsesc
|
|
apt-get install --reinstall libpve-common-perl
|
|
```
|
|
|
|
## 📈 Metrici și KPIs
|
|
|
|
Scripturile raportează automat:
|
|
|
|
### Backup Monitor:
|
|
- Vârsta backup-urilor (ore)
|
|
- Număr total backup-uri
|
|
- Dimensiune totală (GB)
|
|
- Utilizare disk (%)
|
|
|
|
### DR Test:
|
|
- Durata totală test (minute)
|
|
- Timp restaurare (minute)
|
|
- Număr tabele restaurate
|
|
- Status fiecare etapă
|
|
- Spațiu eliberat (GB)
|
|
|
|
## 🎉 Beneficii pentru Echipă
|
|
|
|
1. **Zero Training** - folosește sistemul cunoscut Proxmox
|
|
2. **Zero Maintenance** - nu trebuie actualizate credențiale email
|
|
3. **Consistență** - toate alertele vin în același format
|
|
4. **Vizibilitate** - apare în dashboard Proxmox
|
|
5. **Flexibilitate** - schimbi destinatari din GUI instant
|
|
|
|
## 📝 Note Finale
|
|
|
|
- Scripturile sunt **idempotente** - pot fi rulate oricând
|
|
- Template-urile se creează **doar dacă lipsesc**
|
|
- Notificările se trimit **doar când sunt probleme** (sau success pentru DR test)
|
|
- Log-urile se păstrează **local pentru audit**
|
|
|
|
## 🤝 Suport
|
|
|
|
Pentru probleme sau întrebări:
|
|
1. Verifică această documentație
|
|
2. Verifică log-urile: `/var/log/oracle-dr/`
|
|
3. Rulează cu `--help` pentru opțiuni
|
|
|
|
---
|
|
|
|
*Dezvoltat pentru sistemul Oracle DR pe Proxmox*
|
|
*Bazat pe pattern-ul ha-monitor.sh din Proxmox VE*
|
|
*Versiune: 1.0 - Octombrie 2025* |