338 lines
6.6 KiB
Markdown
338 lines
6.6 KiB
Markdown
# TSM Backup Monitoring - Schnellstart-Anleitung
|
|
|
|
## 🚀 Quick Start (5 Minuten)
|
|
|
|
Diese Anleitung führt Sie durch die grundlegende Installation des TSM Backup Monitoring Plugins für CheckMK.
|
|
|
|
---
|
|
|
|
## Voraussetzungen
|
|
|
|
- ✅ CheckMK 2.3.0p40 oder höher
|
|
- ✅ Python 3.6+ auf überwachten Hosts
|
|
- ✅ TSM CSV-Export verfügbar
|
|
- ✅ Root-Zugriff auf überwachte Hosts
|
|
- ✅ Site-User-Zugriff auf CheckMK Server
|
|
|
|
---
|
|
|
|
## Schritt 1: CSV-Export einrichten (5 Min)
|
|
|
|
### Option A: NFS-Mount (empfohlen)
|
|
|
|
```bash
|
|
# Auf dem überwachten Host als root
|
|
mkdir -p /mnt/CMK_TSM
|
|
echo "tsm-server:/exports/backup-stats /mnt/CMK_TSM nfs defaults,ro 0 0" >> /etc/fstab
|
|
mount -a
|
|
|
|
# Test
|
|
ls -lh /mnt/CMK_TSM/*.CSV
|
|
```
|
|
|
|
### Option B: Rsync via Cron
|
|
|
|
```bash
|
|
# Auf dem überwachten Host als root
|
|
mkdir -p /mnt/CMK_TSM
|
|
|
|
# Crontab eintragen
|
|
crontab -e
|
|
# Füge hinzu:
|
|
*/15 * * * * rsync -az tsm-server:/path/to/*.CSV /mnt/CMK_TSM/
|
|
|
|
# Manueller Test
|
|
rsync -az tsm-server:/path/to/*.CSV /mnt/CMK_TSM/
|
|
ls -lh /mnt/CMK_TSM/
|
|
```
|
|
|
|
**CSV-Format verifizieren:**
|
|
```bash
|
|
head -n 2 /mnt/CMK_TSM/*.CSV
|
|
# Erwartete Ausgabe:
|
|
# 2026-01-12 08:00:00,FIELD,SERVER_MSSQL,DAILY_FULL,Completed
|
|
# 2026-01-12 09:15:00,FIELD,DATABASE_HANA,HOURLY_LOG,Completed
|
|
```
|
|
|
|
---
|
|
|
|
## Schritt 2: Agent-Plugin installieren (2 Min)
|
|
|
|
```bash
|
|
# Auf dem überwachten Host als root
|
|
cd /usr/lib/check_mk_agent/plugins
|
|
|
|
# Plugin kopieren (anpassen an deinen Pfad)
|
|
scp user@your-server:tsm_backups_agent.py ./tsm_backups
|
|
|
|
# Oder wget (wenn auf Webserver verfügbar)
|
|
wget https://your-repo/tsm_backups_agent.py -O tsm_backups
|
|
|
|
# Ausführbar machen
|
|
chmod +x tsm_backups
|
|
|
|
# Test
|
|
./tsm_backups
|
|
```
|
|
|
|
**Erwartete Ausgabe:**
|
|
```
|
|
<<<tsm_backups:sep(0)>>>
|
|
{"SERVER_MSSQL": {"statuses": ["Completed"], "schedules": ["DAILY_FULL"], "last": 1736693420, "count": 1}}
|
|
```
|
|
|
|
**❌ Fehler "Empty output"?**
|
|
- Prüfe: Existiert `/mnt/CMK_TSM/`?
|
|
- Prüfe: Sind CSV-Dateien vorhanden? (`ls /mnt/CMK_TSM/*.CSV`)
|
|
- Prüfe: Python3 installiert? (`python3 --version`)
|
|
|
|
---
|
|
|
|
## Schritt 3: Check-Plugin installieren (3 Min)
|
|
|
|
```bash
|
|
# Auf dem CheckMK Server als Site-User
|
|
OM=/omd/sites/$(omd sites --bare | head -1)
|
|
cd $OM
|
|
|
|
# Plugin-Verzeichnis erstellen
|
|
mkdir -p local/lib/python3/cmk_addons/plugins/tsm/agent_based
|
|
|
|
# Plugin kopieren
|
|
cp /path/to/tsm_backups.py local/lib/python3/cmk_addons/plugins/tsm/agent_based/
|
|
|
|
# Rechte setzen
|
|
chmod 644 local/lib/python3/cmk_addons/plugins/tsm/agent_based/tsm_backups.py
|
|
|
|
# CheckMK neuladen
|
|
cmk -R
|
|
|
|
# Test
|
|
cmk -vv hostname | grep "TSM Backup"
|
|
```
|
|
|
|
**Erwartete Ausgabe:**
|
|
```
|
|
[agent] Received agent data: <<<tsm_backups:sep(0)>>> ...
|
|
TSM Backup SERVER_MSSQL: OK - Type=MSSQL (database), Level=FULL, Freq=daily, Status=Completed, Last=3h 15m, Jobs=1
|
|
```
|
|
|
|
---
|
|
|
|
## Schritt 4: Service Discovery (2 Min)
|
|
|
|
### Option A: WebUI
|
|
|
|
1. Gehe zu: `Setup > Hosts`
|
|
2. Wähle deinen Host aus
|
|
3. Klicke: `Service Discovery`
|
|
4. Klicke: `Full Scan`
|
|
5. Warte auf Ergebnisse
|
|
6. Klicke: `Accept all` bei neuen Services
|
|
7. Klicke: `Activate on selected sites`
|
|
|
|
### Option B: Command Line
|
|
|
|
```bash
|
|
# Einzelner Host
|
|
cmk -II hostname
|
|
|
|
# Alle Hosts
|
|
cmk -II --all
|
|
|
|
# Änderungen aktivieren
|
|
cmk -O
|
|
```
|
|
|
|
**Erwartete Services:**
|
|
```
|
|
TSM Backup SERVER_MSSQL
|
|
TSM Backup DATABASE_HANA
|
|
TSM Backup FILESERVER_FILE
|
|
...
|
|
```
|
|
|
|
---
|
|
|
|
## Schritt 5: Verifizierung (2 Min)
|
|
|
|
### 1. Services prüfen
|
|
|
|
```bash
|
|
# Status aller TSM-Services
|
|
cmk -n hostname | grep "TSM Backup"
|
|
```
|
|
|
|
**Erwartetes Ergebnis:**
|
|
```
|
|
TSM Backup SERVER_MSSQL OK - Type=MSSQL (database), Level=FULL, Freq=daily, Status=Completed, Last=3h 15m, Jobs=1
|
|
TSM Backup DATABASE_HANA OK - Type=HANA (database), Level=FULL, Freq=daily, Status=Completed, Last=5h 20m, Jobs=1
|
|
```
|
|
|
|
### 2. Labels prüfen
|
|
|
|
WebUI: `Monitor > Services > <wähle TSM-Service> > Service labels`
|
|
|
|
**Erwartete Labels:**
|
|
- `backup_type: mssql`
|
|
- `backup_category: database`
|
|
- `backup_system: tsm`
|
|
- `frequency: daily`
|
|
- `backup_level: full`
|
|
- `error_handling: strict`
|
|
|
|
### 3. Metriken prüfen
|
|
|
|
WebUI: `Monitor > Services > <wähle TSM-Service> > Service Metrics`
|
|
|
|
**Erwartete Metriken:**
|
|
- `backup_age`: [Sekunden seit letztem Backup]
|
|
- `backup_jobs`: [Anzahl Jobs]
|
|
|
|
---
|
|
|
|
## Troubleshooting Quick-Fixes
|
|
|
|
### Problem: Keine Services gefunden
|
|
|
|
```bash
|
|
# 1. Agent-Output prüfen
|
|
check_mk_agent | grep -A 5 "<<<tsm_backups"
|
|
|
|
# 2. CSV-Dateien prüfen
|
|
ls -lh /mnt/CMK_TSM/*.CSV
|
|
head /mnt/CMK_TSM/*.CSV
|
|
|
|
# 3. Plugin manuell testen
|
|
/usr/lib/check_mk_agent/plugins/tsm_backups
|
|
|
|
# 4. Discovery neu durchführen
|
|
cmk -II hostname
|
|
```
|
|
|
|
---
|
|
|
|
### Problem: Services bleiben UNKNOWN
|
|
|
|
```bash
|
|
# 1. Check manuell ausführen
|
|
cmk -nv --debug hostname | grep "TSM Backup"
|
|
|
|
# 2. Plugin-Cache löschen
|
|
cmk -R
|
|
|
|
# 3. Discovery wiederholen
|
|
cmk -II hostname
|
|
```
|
|
|
|
---
|
|
|
|
### Problem: Falsche Backup-Typen
|
|
|
|
**Node-Namen-Schema überprüfen:**
|
|
|
|
✅ **Korrekt:**
|
|
```
|
|
SERVER_MSSQL
|
|
DATABASE_HANA_01
|
|
FILESERVER_FILE
|
|
VM_HYPERV_123
|
|
```
|
|
|
|
❌ **Falsch:**
|
|
```
|
|
MSSQL # Zu kurz
|
|
SERVER # Kein Typ erkennbar
|
|
SERVER_12345 # Typ unklar (nur Zahl)
|
|
```
|
|
|
|
**Lösung:** Node-Namen in TSM anpassen oder Plugin erweitern
|
|
|
|
---
|
|
|
|
## Nächste Schritte
|
|
|
|
Nach erfolgreicher Installation:
|
|
|
|
### 1. Custom Views erstellen
|
|
|
|
Erstelle eine View für alle Datenbank-Backups:
|
|
```
|
|
Setup > General > Custom views > Create new view
|
|
|
|
Filter: Service labels: backup_category = database
|
|
```
|
|
|
|
### 2. Benachrichtigungen konfigurieren
|
|
|
|
Erstelle Notification Rule für kritische Backup-Fehler:
|
|
```
|
|
Setup > Notifications > Add rule
|
|
|
|
Conditions:
|
|
- Service state: CRIT
|
|
- Service labels: error_handling = strict
|
|
|
|
Contact: dba-team
|
|
```
|
|
|
|
### 3. Schwellwerte anpassen (optional)
|
|
|
|
Wenn Standard-Schwellwerte nicht passen:
|
|
```bash
|
|
# Plugin bearbeiten
|
|
vim $OM/local/lib/python3/cmk_addons/plugins/tsm/agent_based/tsm_backups.py
|
|
|
|
# Suche nach THRESHOLDS = {
|
|
# Passe Werte an, z.B.:
|
|
# "mssql": {"warn": 30 * 3600, "crit": 50 * 3600},
|
|
|
|
# CheckMK neuladen
|
|
cmk -R
|
|
cmk -II --all
|
|
```
|
|
|
|
---
|
|
|
|
## Hilfe & Support
|
|
|
|
- 📖 **README.md:** Ausführliche Feature-Übersicht und Verwendung
|
|
- 📚 **DOCUMENTATION.md:** Technische Details, API-Referenz, erweiterte Konfiguration
|
|
- 🐛 **Issues:** GitHub Issues oder CheckMK Forum
|
|
- 📧 **Kontakt:** [deine-email]@example.com
|
|
|
|
---
|
|
|
|
## Cheat Sheet
|
|
|
|
```bash
|
|
# === Agent-Seite (überwachter Host) ===
|
|
# Plugin testen
|
|
/usr/lib/check_mk_agent/plugins/tsm_backups
|
|
|
|
# CSV-Dateien prüfen
|
|
ls -lh /mnt/CMK_TSM/*.CSV
|
|
|
|
# === CheckMK-Seite (Server) ===
|
|
# Plugin neu laden
|
|
cmk -R
|
|
|
|
# Service Discovery
|
|
cmk -II hostname
|
|
|
|
# Service-Status prüfen
|
|
cmk -n hostname | grep "TSM Backup"
|
|
|
|
# Debug-Modus
|
|
cmk -vv --debug hostname | grep -A 20 "TSM Backup"
|
|
|
|
# Alle TSM-Services aktivieren
|
|
cmk -O
|
|
```
|
|
|
|
---
|
|
|
|
**Installations-Dauer:** ~15 Minuten
|
|
**Schwierigkeit:** Mittel
|
|
**Letzte Aktualisierung:** 2026-01-12
|
|
**Version:** 4.1 |