fix(logs): Zeitbudget im journal-tail (exec timed out bei grossem Journal)

This commit is contained in:
mm committed 2026-09-13 22:29:55 +02:00
1 parent 8990124c2b
commit b49f9ccbfd
2 files changed
+8 -2

No files matched your search

+7 -1
View File
@@ -21,6 +21,10 @@
set -u
PRIORITY="${JOURNAL_PRIORITY:-warning}" # warning|err|info|debug
# Hartes Zeitbudget: Telegraf bricht den exec sonst ab (timeout 25s bei
# interval 30s). Wir lesen nie laenger als BUDGET Sekunden pro Aufruf — der
# Cursor macht den Rest beim naechsten Lauf.
BUDGET="${JOURNAL_BUDGET:-15}"
SINCE="${JOURNAL_SINCE:-}" # optional, nur beim Erstanlauf
MAX_LINES="${JOURNAL_MAX_LINES:-500}" # Schutz vor Flut pro Lauf
STATE_DIR="${JOURNAL_STATE_DIR:-/var/lib/telegraf-journal}"
@@ -39,7 +43,9 @@ fi
last_cursor=""
journalctl "${args[@]}" 2>/dev/null | while IFS= read -r line; do
# --no-pager + hartes Zeitlimit: journalctl kann bei viel Aufkommen laenger
# brauchen als Telegrafs timeout erlaubt.
timeout -k 2 "$BUDGET" journalctl "${args[@]}" 2>/dev/null | while IFS= read -r line; do
case "$line" in \{*) ;; *) continue ;; esac
# Felder aus dem JSON ziehen (jq-frei, damit kein Extra-Paket nötig ist)