diff --git a/hwmonDaemon.py b/hwmonDaemon.py index 6d35342..15f39dc 100644 --- a/hwmonDaemon.py +++ b/hwmonDaemon.py @@ -3163,9 +3163,11 @@ class SystemHealthMonitor: hostname = health_report.get('hostname', socket.gethostname()) metrics = [] - # Helper to format labels + # Helper to format labels with proper Prometheus escaping def labels(**kwargs) -> str: - pairs = [f'{k}="{v}"' for k, v in kwargs.items() if v is not None] + def escape(value): + return str(value).replace('\\', '\\\\').replace('"', '\\"').replace('\n', '\\n') + pairs = [f'{k}="{escape(v)}"' for k, v in kwargs.items() if v is not None] return '{' + ','.join(pairs) + '}' if pairs else '' # === System Info ===