From f630b3d302cde34fd2413a6fa1383d40d5dbb418 Mon Sep 17 00:00:00 2001 From: Homelab Cursor Date: Sat, 21 Mar 2026 15:25:21 +0100 Subject: [PATCH] fix: Portainer false-positive aus Loki-Fehlerfilter ausschliessen Portainer loggt regelmaessig "flag evaluation succeeded" auf level=info, diese Zeilen enthielten aber keine echten Fehler und wurden faelschlicherweise als Fehler gezaehlt (>300/Tag). Jetzt aus dem regex-Filter ausgeschlossen. --- homelab-ai-bot/core/loki_client.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/homelab-ai-bot/core/loki_client.py b/homelab-ai-bot/core/loki_client.py index 2ec898bd..7ce9d416 100644 --- a/homelab-ai-bot/core/loki_client.py +++ b/homelab-ai-bot/core/loki_client.py @@ -49,9 +49,9 @@ def query_logs(query: str, hours: float = 1, limit: int = 100) -> list[dict]: def get_errors(container: str = None, hours: float = 1, limit: int = 200) -> list[dict]: """Get error-level logs, optionally filtered by container hostname.""" if container: - q = f'{{host="{container}"}} |~ "(?i)(error|fatal|panic|traceback|exception)" !~ "caller=metrics|query_hash=|executing query|scheduler_processor|Aborted connection|systemd-networkd-wait-online|context canceled|AH01630: client denied"' + q = f'{{host="{container}"}} |~ "(?i)(error|fatal|panic|traceback|exception)" !~ "caller=metrics|query_hash=|executing query|scheduler_processor|Aborted connection|systemd-networkd-wait-online|context canceled|AH01630: client denied|flag evaluation succeeded|pluginsAutoUpdate"' else: - q = '{job=~".+"} |~ "(?i)(error|fatal|panic|traceback|exception)" !~ "caller=metrics|query_hash=|executing query|scheduler_processor|Aborted connection|systemd-networkd-wait-online|context canceled|AH01630: client denied"' + q = '{job=~".+"} |~ "(?i)(error|fatal|panic|traceback|exception)" !~ "caller=metrics|query_hash=|executing query|scheduler_processor|Aborted connection|systemd-networkd-wait-online|context canceled|AH01630: client denied|flag evaluation succeeded|pluginsAutoUpdate"' return query_logs(q, hours=hours, limit=limit) @@ -121,7 +121,7 @@ def count_errors(hours: float = 24) -> dict: """Zählt Fehler-Log-Einträge über einen Zeitraum via Loki metric query.""" now = datetime.now(timezone.utc) start = now - timedelta(hours=hours) - q = '{job=~".+"} |~ "(?i)(error|fatal|panic|traceback|exception)" !~ "caller=metrics|query_hash=|executing query|scheduler_processor|Aborted connection|systemd-networkd-wait-online|context canceled|AH01630: client denied"' + q = '{job=~".+"} |~ "(?i)(error|fatal|panic|traceback|exception)" !~ "caller=metrics|query_hash=|executing query|scheduler_processor|Aborted connection|systemd-networkd-wait-online|context canceled|AH01630: client denied|flag evaluation succeeded|pluginsAutoUpdate"' # Loki instant metric query für Gesamtanzahl data = _query("/loki/api/v1/query_range", { "query": q,