matt c90f446bcb 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!
2025-11-06 16:05:20 -06:00

87 lines
2.6 KiB
JSON

{
"ConnectionStrings": {
"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.EntityFrameworkCore": "Warning"
}
},
"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"
}
}
}