Service Status im Dashboard

Dieser Commit ist enthalten in:
2025-06-21 19:16:47 +02:00
Ursprung e2b5247e84
Commit 3d02c7a111
5 geänderte Dateien mit 127 neuen und 298 gelöschten Zeilen

Datei anzeigen

@@ -182,57 +182,6 @@ def live_dashboard():
error_message='Fehler beim Laden des Dashboards',
details=str(e))
@monitoring_bp.route('/system-status')
@login_required
def system_status():
"""System status showing service health"""
services = []
# Check each service
service_checks = [
{'name': 'License Server', 'url': 'http://license-server:8443/health', 'port': 8443},
{'name': 'PostgreSQL', 'check': 'database'},
]
for service in service_checks:
status = {'name': service['name'], 'status': 'unknown', 'response_time': None}
try:
if service.get('check') == 'database':
# Check database
start = datetime.now()
conn = get_db_connection()
conn.close()
status['status'] = 'healthy'
status['response_time'] = (datetime.now() - start).total_seconds() * 1000
elif service.get('url'):
# Check HTTP service
start = datetime.now()
response = requests.get(service['url'], timeout=2)
if response.status_code == 200:
status['status'] = 'healthy'
else:
status['status'] = 'unhealthy'
status['response_time'] = (datetime.now() - start).total_seconds() * 1000
except Exception as e:
status['status'] = 'down'
logging.error(f"Health check failed for {service['name']}: {str(e)}")
services.append(status)
# Get Prometheus metrics if available
prometheus_data = None
try:
response = requests.get('http://prometheus:9090/api/v1/query',
params={'query': 'up'}, timeout=2)
if response.status_code == 200:
prometheus_data = response.json()
except:
pass
return render_template('monitoring/system_status.html',
services=services,
prometheus_data=prometheus_data)
@monitoring_bp.route('/alerts')
@login_required