Add persistent thresholds and seven-day metrics history

This commit is contained in:
maxim
2026-07-31 21:32:55 +03:00
parent ec20550c3b
commit 99dc3b76d0
12 changed files with 490 additions and 42 deletions

16
main.go
View File

@@ -13,6 +13,9 @@ import (
)
const defaultAddress = ":9105"
const defaultDatabasePath = "/var/lib/proxmox-dashboard/dashboard.db"
var version = "dev"
func main() {
address := os.Getenv("DASHBOARD_ADDR")
@@ -24,15 +27,24 @@ func main() {
if err != nil {
log.Fatalf("Не удалось запустить сборщик CPU: %v", err)
}
databasePath := os.Getenv("DASHBOARD_DB_PATH")
if databasePath == "" {
databasePath = defaultDatabasePath
}
store, err := openStore(databasePath)
if err != nil {
log.Fatalf("Не удалось открыть базу данных: %v", err)
}
defer store.Close()
server := &http.Server{
Addr: address,
Handler: routes(collector),
Handler: routes(collector, store),
ReadHeaderTimeout: 5 * time.Second,
}
go func() {
log.Printf("Proxmox CPU Dashboard запущен на http://0.0.0.0%s", address)
log.Printf("Proxmox Dashboard %s запущен на http://0.0.0.0%s", version, address)
if err := server.ListenAndServe(); !errors.Is(err, http.ErrServerClosed) {
log.Fatalf("Ошибка веб-сервера: %v", err)
}