Add backup diagnostics snapshots tasks and homelab map

This commit is contained in:
Maxim
2026-08-01 13:50:58 +03:00
parent 92607f62d5
commit f1356fec37
7 changed files with 306 additions and 17 deletions

View File

@@ -164,6 +164,27 @@ func evaluateAlerts(metrics dashboardMetrics, thresholds AlertThresholds) []Aler
if networkErrors > 0 {
add("network-errors", "warning", "Сеть", "Сетевые ошибки и потери пакетов", fmt.Sprintf("Суммарный счётчик интерфейсов: %d.", networkErrors))
}
oldSnapshots := 0
for _, snapshot := range metrics.Activity.Snapshots {
if snapshot.AgeSeconds > 30*24*3600 {
oldSnapshots++
}
}
if oldSnapshots > 0 {
add("old-snapshots", "warning", "VM/LXC", "Есть старые snapshots", fmt.Sprintf("Снимков старше 30 дней: %d.", oldSnapshots))
}
for _, task := range metrics.Activity.Tasks {
if task.StartTime < time.Now().Add(-24*time.Hour).Unix() {
continue
}
if task.Status != "" && task.Status != "OK" {
severity := "warning"
if task.Type == "vzdump" {
severity = "critical"
}
add("task-failed-"+task.UPID, severity, "Proxmox", task.Type+": задача завершилась ошибкой", fmt.Sprintf("VMID %s, пользователь %s, статус %s.", task.ID, task.User, task.Status))
}
}
priority := map[string]int{"critical": 0, "warning": 1, "info": 2}
sort.SliceStable(alerts, func(i, j int) bool {