Refactor: Container-Erkennung zentralisiert, SMART-Check auf LXC überspringen

Neues Modul services/platform_info.py prüft systemd-detect-virt einmalig
beim Start (statt pro Request). SMART-Abfragen werden in Containern
übersprungen, da /dev/sdX dort meist nicht verfügbar ist.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-15 20:37:14 +02:00
parent b941c5db51
commit 12248afa3a
3 changed files with 32 additions and 9 deletions
+3 -9
View File
@@ -10,6 +10,8 @@ import platform
from typing import Dict, Any, Optional
from datetime import datetime
from services.platform_info import IS_CONTAINER
logger = logging.getLogger(__name__)
@@ -297,16 +299,8 @@ def get_network_traffic() -> Dict[str, Any]:
return {"error": str(e)}
def _is_container() -> bool:
try:
r = subprocess.run(["/usr/bin/systemd-detect-virt"], capture_output=True, text=True, timeout=3)
return r.returncode == 0 and r.stdout.strip() not in ("none", "")
except Exception:
return False
def get_disk_io() -> Dict[str, Any]:
if _is_container():
if IS_CONTAINER:
return {"disks": []}
try:
with open("/proc/diskstats", "r") as f: