added stuff + monitoring (to logfile)

This commit is contained in:
Rens Pastoor
2025-10-28 15:00:32 +01:00
parent aa32f81e97
commit 3dda7d01a0
8 changed files with 407 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
from flask import Flask, request, jsonify
from datetime import datetime
import json
app = Flask(__name__)
@app.route('/collect', methods=['POST'])
def collect():
data = request.get_json()
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
with open("collected_data.log", "a") as f:
f.write(f"{timestamp} - {json.dumps(data)}\n")
print(f"[{timestamp}] Data received from {data.get('hostname', 'unknown')}")
return jsonify({"status": "success"}), 200
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)

View File

@@ -0,0 +1 @@
2025-10-28 14:55:03 - {"hostname": "hp-arch", "os": "Linux", "cpu_percent": 1.9, "memory_percent": 30.8, "disk_usage": 85.2, "time": "2025-10-28T14:55:03.021372"}

View File

View File

@@ -0,0 +1,32 @@
import psutil
import platform
import requests
import socket
from datetime import datetime
SERVER_URL = "http://localhost:5000/collect" # change this!
def collect_metrics():
data = {
"hostname": socket.gethostname(),
"os": platform.system(),
"cpu_percent": psutil.cpu_percent(interval=1),
"memory_percent": psutil.virtual_memory().percent,
"disk_usage": psutil.disk_usage('/').percent,
"time": datetime.now().isoformat()
}
return data
def send_data(data):
try:
response = requests.post(SERVER_URL, json=data, timeout=5)
if response.status_code == 200:
print("Data sent successfully")
else:
print("Server returned:", response.status_code)
except Exception as e:
print("Error sending data:", e)
if __name__ == "__main__":
metrics = collect_metrics()
send_data(metrics)