mirror of
https://github.com/Buriburizaem0n/nezha_domains.git
synced 2026-11-04 16:40:21 +00:00
fix(tsdb): survive low disk space
This commit is contained in:
1 parent
1155c17573
commit
06d387779d
6 files changed
+341
-14
No files matched your search
@@ -1,6 +1,7 @@
|
||||
package singleton
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"log"
|
||||
"time"
|
||||
|
||||
@@ -10,6 +11,8 @@ import (
|
||||
|
||||
var TSDBShared *tsdb.TSDB
|
||||
|
||||
var openTSDB = tsdb.Open
|
||||
|
||||
func InitTSDB() error {
|
||||
config := &tsdb.Config{
|
||||
RetentionDays: 30,
|
||||
@@ -44,11 +47,21 @@ func InitTSDB() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
var err error
|
||||
TSDBShared, err = tsdb.Open(config)
|
||||
TSDBShared = nil
|
||||
db, err := openTSDB(config)
|
||||
if err != nil {
|
||||
if errors.Is(err, tsdb.ErrDiskFull) {
|
||||
log.Printf("NEZHA>> Warning: TSDB is unavailable because its disk is full; dashboard and alerts will continue without TSDB writes: %v", err)
|
||||
if DB != nil {
|
||||
if migrateErr := DB.AutoMigrate(model.ServiceHistory{}); migrateErr != nil {
|
||||
log.Printf("NEZHA>> Warning: failed to prepare SQLite service history fallback: %v", migrateErr)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
return err
|
||||
}
|
||||
TSDBShared = db
|
||||
|
||||
log.Println("NEZHA>> TSDB initialized successfully")
|
||||
|
||||
|
||||
Reference in new issue
Block a user