Service Status im Dashboard
Dieser Commit ist enthalten in:
@@ -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
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren