- 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>
7.8 KiB
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:
# 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 emailoracle-backup-body.txt.hbs- Corp textoracle-backup-body.html.hbs- Corp HTML formatat
Pentru DR Test:
oracle-dr-test-subject.txt.hbs- Subiect emailoracle-dr-test-body.txt.hbs- Corp textoracle-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:
-
Datacenter > Notifications > Add > Matcher
-
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
- 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:
# 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:
ls -la /usr/share/pve-manager/templates/default/oracle-*
Vezi log-uri notificări:
# Log-uri Proxmox
journalctl -u pveproxy -f | grep notify
# Log-uri scripturi
tail -f /var/log/oracle-dr/*.log
Testează notificări manual:
# 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
- Verifică dacă Proxmox trimite alte notificări:
# Test notificare Proxmox
pvesh create /nodes/$(hostname)/apt/update
# Ar trebui să primești notificare despre update
- Verifică template-urile:
ls /usr/share/pve-manager/templates/default/oracle-*
# Trebuie să existe 6 fișiere
- Verifică configurația notificări:
cat /etc/pve/notifications.cfg
Problemă: Template-uri nu se creează
# 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
# 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ă
- Zero Training - folosește sistemul cunoscut Proxmox
- Zero Maintenance - nu trebuie actualizate credențiale email
- Consistență - toate alertele vin în același format
- Vizibilitate - apare în dashboard Proxmox
- 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:
- Verifică această documentație
- Verifică log-urile:
/var/log/oracle-dr/ - Rulează cu
--helppentru opțiuni
Dezvoltat pentru sistemul Oracle DR pe Proxmox Bazat pe pattern-ul ha-monitor.sh din Proxmox VE Versiune: 1.0 - Octombrie 2025
