diff --git a/.gitignore b/.gitignore index 8e2b702..940422c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,7 @@ # Per-Use special Files and Directories /persistance/*.db +/persistance/*.db-shm +/persistance/*.db-wal /logs/*.log *.env /wwwroot/downloads/sqlite/*.sql diff --git a/Watcher/Controllers/MonitoringController.cs b/Watcher/Controllers/MonitoringController.cs index 8cd61e6..e52a760 100644 --- a/Watcher/Controllers/MonitoringController.cs +++ b/Watcher/Controllers/MonitoringController.cs @@ -231,22 +231,22 @@ public class MonitoringController : Controller return NotFound(); } - [HttpPost("cpu-usage")] + [HttpGet("cpu-usage")] public async Task GetCpuUsageData() { var oneDayAgo = DateTime.UtcNow.AddDays(-1); - var data = await _context.Metrics - .Where(m => m.Timestamp >= oneDayAgo) - .OrderBy(m => m.Timestamp) - .Select(m => new - { - // Hier die Formatierung anpassen - // 'o' ist der Standard-Formatbezeichner für ISO 8601-Format mit Zeitzone - Timestamp = m.Timestamp.ToUniversalTime().ToString("o"), // Wichtig: ToUniversalTime() für Konsistenz - CpuUsage = m.CPU_Load - }) - .ToListAsync(); + var data = await _context.Metrics + .Where(m => m.Timestamp >= oneDayAgo) + .OrderBy(m => m.Timestamp) + .Select(m => new + { + // Hier die Formatierung anpassen + // 'o' ist der Standard-Formatbezeichner für ISO 8601-Format mit Zeitzone + label = m.Timestamp.ToUniversalTime().ToString("o"), // Wichtig: ToUniversalTime() für Konsistenz + data = m.CPU_Load + }) + .ToListAsync(); - return Ok(data); + return Ok(data); } } \ No newline at end of file diff --git a/Watcher/Controllers/ServerController.cs b/Watcher/Controllers/ServerController.cs index 831feb9..1968514 100644 --- a/Watcher/Controllers/ServerController.cs +++ b/Watcher/Controllers/ServerController.cs @@ -6,6 +6,7 @@ using Watcher.Models; using Watcher.ViewModels; [Authorize] +[Route("Server")] public class ServerController : Controller { private readonly AppDbContext _context; @@ -18,6 +19,7 @@ public class ServerController : Controller _logger = logger; } + [HttpGet("Overview")] public async Task Overview() { var vm = new ServerOverviewViewModel @@ -126,7 +128,7 @@ public class ServerController : Controller } // GET: Server/Details/5 - [HttpGet] + [HttpGet("Details")] public async Task Details(int id) { @@ -153,6 +155,7 @@ public class ServerController : Controller return View(vm); } + [HttpGet("ServerCardPartial")] public async Task ServerCardsPartial() { var servers = _context.Servers.ToList(); @@ -166,17 +169,11 @@ public class ServerController : Controller return PartialView("_ServerCard", servers); } - public async Task ServerDetailsPartial() + [HttpGet("ServerDetailPartial")] + public IActionResult ServerDetailPartial() { - var servers = _context.Servers.ToList(); - - foreach (var server in servers) - { - server.IsOnline = (DateTime.UtcNow - server.LastSeen).TotalSeconds <= 120; - await _context.SaveChangesAsync(); - } - - return PartialView("_ServerDetails", servers); + _logger.LogInformation("Server Detail Seite neu geladen"); + return PartialView("_ServerDetails"); } diff --git a/Watcher/Views/Server/Details.cshtml b/Watcher/Views/Server/Details.cshtml index fb9bdcd..0a99e82 100644 --- a/Watcher/Views/Server/Details.cshtml +++ b/Watcher/Views/Server/Details.cshtml @@ -4,31 +4,135 @@ }
- @await Html.PartialAsync("_ServerDetails") + + +
+
+
+
+ Serverdetails: @Model.Name +
+ + + @(Model.IsOnline ? "Online" : "Offline") + +
+
+
+
ID
+
@Model.Id
+ +
IP-Adresse
+
@Model.IPAddress
+ +
Typ
+
@Model.Type
+ +
Erstellt am
+
@Model.CreatedAt.ToLocalTime().ToString("dd.MM.yyyy HH:mm")
+ +
Zuletzt gesehen
+
@Model.LastSeen.ToLocalTime().ToString("dd.MM.yyyy HH:mm")
+
+
+ +
+ +
+
CPU Last
+
+ +
+
+ +
+ @section Scripts { - - } \ No newline at end of file diff --git a/Watcher/Views/Server/_ServerDetails.cshtml b/Watcher/Views/Server/_ServerDetails.cshtml index 5b52f4a..e69de29 100644 --- a/Watcher/Views/Server/_ServerDetails.cshtml +++ b/Watcher/Views/Server/_ServerDetails.cshtml @@ -1,74 +0,0 @@ -
-
-
-
- Serverdetails: @Model.Name -
- - - @(Model.IsOnline ? "Online" : "Offline") - -
-
-
-
ID
-
@Model.Id
- -
IP-Adresse
-
@Model.IPAddress
- -
Typ
-
@Model.Type
- -
Erstellt am
-
@Model.CreatedAt.ToLocalTime().ToString("dd.MM.yyyy HH:mm")
- -
Zuletzt gesehen
-
@Model.LastSeen.ToLocalTime().ToString("dd.MM.yyyy HH:mm")
-
-
- -
- - -
-
Uptime letzte 24h
-
- -
-
- -
-
CPU Last
-
- -
-
- -
-
RAM Last
-
- -
-
- - - - - - - - diff --git a/Watcher/Views/Server/overview.cshtml b/Watcher/Views/Server/overview.cshtml index ab41c7d..18b7c22 100644 --- a/Watcher/Views/Server/overview.cshtml +++ b/Watcher/Views/Server/overview.cshtml @@ -17,13 +17,10 @@ @section Scripts { - - -