- 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!
87 lines
2.6 KiB
JSON
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"
|
|
}
|
|
}
|
|
} |