feat: Phase 6 - System Health & Monitoring complete
- Added SystemHealthController with 6 monitoring endpoints - Created System Health Dashboard (Index) with real-time metrics - Implemented Database Performance monitoring with query analysis - Added API Performance tracking with endpoint usage stats - Created Server Resources monitoring (CPU/Memory/Disk/Network) - Implemented Activity Feed with player/combat/purchase/admin events - Added Error Tracking with trend analysis and stack traces - Fixed navigation routing from System to SystemHealth controller - All views use real data from database and system diagnostics - Dark theme styling consistent across all monitoring pages - Chart.js visualizations for trends and metrics Phase 6 Complete - Admin Dashboard fully functional!
This commit is contained in:
@@ -1,12 +1,87 @@
|
||||
{
|
||||
"ConnectionStrings": {
|
||||
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=aspnet-ShadowedRealms.Admin-6edaa4c8-3d68-44fa-8032-b753cd9ade75;Trusted_Connection=True;MultipleActiveResultSets=true"
|
||||
"DefaultConnection": "Host=209.25.140.218;Port=5432;Database=ShadowedRealms;Username=admin;Password=EWV+UMbQNMJLY5tAIKLZIJvn0Nx40k3PJLcO4Tmkns0=;SSL Mode=Prefer;Trust Server Certificate=true",
|
||||
"GameDatabase": "Host=209.25.140.218;Port=5432;Database=ShadowedRealms;Username=admin;Password=EWV+UMbQNMJLY5tAIKLZIJvn0Nx40k3PJLcO4Tmkns0=;SSL Mode=Prefer;Trust Server Certificate=true"
|
||||
},
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft.AspNetCore": "Warning"
|
||||
"Microsoft.AspNetCore": "Warning",
|
||||
"Microsoft.EntityFrameworkCore": "Warning"
|
||||
}
|
||||
},
|
||||
"AllowedHosts": "*"
|
||||
}
|
||||
"AllowedHosts": "*",
|
||||
"DefaultAdmin": {
|
||||
"Email": "admin@shadowedrealms.com",
|
||||
"Password": "SuperAdmin123!"
|
||||
},
|
||||
"AdminSettings": {
|
||||
"RequireEmailConfirmation": false,
|
||||
"SessionTimeoutMinutes": 120,
|
||||
"MaxFailedLoginAttempts": 3,
|
||||
"LockoutDurationMinutes": 30,
|
||||
"EnableAuditLogging": true,
|
||||
"EnableRealTimeUpdates": true,
|
||||
"DashboardRefreshIntervalSeconds": 30
|
||||
},
|
||||
"MonitoringSettings": {
|
||||
"HealthCheckIntervalSeconds": 60,
|
||||
"AlertThresholds": {
|
||||
"DatabaseResponseTimeMs": 1000,
|
||||
"ApiResponseTimeMs": 500,
|
||||
"ErrorRate24h": 0.01,
|
||||
"CpuUsagePercent": 80,
|
||||
"MemoryUsagePercent": 85,
|
||||
"DiskUsagePercent": 90
|
||||
},
|
||||
"RetentionDays": {
|
||||
"ActivityLogs": 90,
|
||||
"PerformanceMetrics": 30,
|
||||
"Alerts": 180
|
||||
}
|
||||
},
|
||||
"AnalyticsSettings": {
|
||||
"CacheExpirationMinutes": 15,
|
||||
"TrendAnalysisDays": 30,
|
||||
"HeavyQueryCacheMinutes": 60,
|
||||
"RealTimeMetricsCacheSeconds": 30
|
||||
},
|
||||
"SecuritySettings": {
|
||||
"EnableIpWhitelist": false,
|
||||
"AllowedIpAddresses": [],
|
||||
"RequireTwoFactorAuth": false,
|
||||
"AuditAllActions": true,
|
||||
"SessionSecurityLevel": "High"
|
||||
},
|
||||
"GameIntegrationSettings": {
|
||||
"GameApiBaseUrl": "https://localhost:7001/api/",
|
||||
"GameApiTimeout": 30,
|
||||
"EnableDirectDatabaseAccess": true,
|
||||
"KingdomScopedQueries": true
|
||||
},
|
||||
"Serilog": {
|
||||
"Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ],
|
||||
"MinimumLevel": "Information",
|
||||
"WriteTo": [
|
||||
{
|
||||
"Name": "Console",
|
||||
"Args": {
|
||||
"outputTemplate": "[{Timestamp:HH:mm:ss} {Level:u3}] {SourceContext}: {Message:lj}{NewLine}{Exception}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "File",
|
||||
"Args": {
|
||||
"path": "Logs/admin-{Date}.log",
|
||||
"rollingInterval": "Day",
|
||||
"retainedFileCountLimit": 30,
|
||||
"outputTemplate": "[{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} {Level:u3}] {SourceContext}: {Message:lj}{NewLine}{Exception}"
|
||||
}
|
||||
}
|
||||
],
|
||||
"Enrich": [ "FromLogContext", "WithMachineName" ],
|
||||
"Properties": {
|
||||
"Application": "ShadowedRealms.Admin"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user