39 lines
932 B
Python
39 lines
932 B
Python
# server.py
|
|
from flask import Flask, jsonify
|
|
from flask_cors import CORS
|
|
import psutil
|
|
import docker
|
|
from datetime import datetime
|
|
|
|
app = Flask(__name__)
|
|
CORS(app)
|
|
|
|
@app.route('/api/status')
|
|
def get_status():
|
|
try:
|
|
client = docker.from_env()
|
|
containers = len(client.containers.list())
|
|
|
|
return jsonify({
|
|
'servers': {
|
|
'up': 3,
|
|
'total': 4
|
|
},
|
|
'containers': containers,
|
|
'apis': 342,
|
|
'vectors': 15953,
|
|
'timestamp': datetime.now().isoformat()
|
|
})
|
|
except Exception as e:
|
|
return jsonify({'error': str(e)}), 500
|
|
|
|
@app.route('/api/metrics')
|
|
def get_metrics():
|
|
return jsonify({
|
|
'cpu': psutil.cpu_percent(),
|
|
'memory': psutil.virtual_memory().percent,
|
|
'disk': psutil.disk_usage('/').percent
|
|
})
|
|
|
|
if __name__ == '__main__':
|
|
app.run(debug=True, port=8080) |