الملفات
2026-07-27 03:33:09 +00:00

52 أسطر
993 B
Python

from flask import Flask, send_file, jsonify
import threading
import time
import json
import os
from monitor import collect_metrics
app = Flask(__name__)
def monitor_loop():
while True:
try:
collect_metrics()
print("Metrics updated.")
except Exception as e:
print("Monitor error:", e)
time.sleep(60)
@app.route("/")
def dashboard():
return send_file("dashboard.html")
@app.route("/metrics.json")
def metrics():
if os.path.exists("metrics.json"):
with open("metrics.json") as f:
return jsonify(json.load(f))
return jsonify({
"uptime": 0,
"last_check": {},
"history": [],
"latency_chart": []
})
if __name__ == "__main__":
# Run one check immediately
collect_metrics()
# Start background monitoring
thread = threading.Thread(target=monitor_loop, daemon=True)
thread.start()
# Start Flask
app.run(host="0.0.0.0", port=8080)