fix(logs): State-Dir default /tmp + laute Warnung wenn nicht beschreibbar (stiller Totalausfall)
This commit is contained in:
1 parent
c67600f147
commit
d7149075a2
1 file changed
+14
-2
+14
-2
@@ -43,9 +43,21 @@ read_head() {
|
||||
|
||||
FILES="${SYSLOG_FILES:-/hostfs/var/log/syslog /hostfs/var/log/kern.log}"
|
||||
MAX_LINES="${SYSLOG_MAX_LINES:-500}"
|
||||
STATE_DIR="${SYSLOG_STATE_DIR:-/var/lib/telegraf-syslog}"
|
||||
# Default /tmp: als Dienst-Benutzer (uid 999 im Container) immer schreibbar.
|
||||
# /var/lib scheitert dort mit "Permission denied" — und ohne schreibbaren State
|
||||
# kann der Offset nie gespeichert werden, wodurch das Script bei JEDEM Lauf im
|
||||
# Erstanlauf-Zweig landet und dann still NICHTS ausgibt.
|
||||
STATE_DIR="${SYSLOG_STATE_DIR:-/tmp/telegraf-syslog}"
|
||||
|
||||
mkdir -p "$STATE_DIR" 2>/dev/null || true
|
||||
if ! mkdir -p "$STATE_DIR" 2>/dev/null; then
|
||||
echo "syslog-tail: State-Verzeichnis $STATE_DIR nicht anlegbar" >&2
|
||||
fi
|
||||
if ! touch "$STATE_DIR/.wtest" 2>/dev/null; then
|
||||
echo "syslog-tail: WARNUNG $STATE_DIR nicht beschreibbar - es werden KEINE Logs geliefert" >&2
|
||||
echo "syslog-tail: SYSLOG_STATE_DIR auf ein schreibbares Verzeichnis setzen" >&2
|
||||
else
|
||||
rm -f "$STATE_DIR/.wtest" 2>/dev/null
|
||||
fi
|
||||
|
||||
for f in $FILES; do
|
||||
[ -r "$f" ] || continue
|
||||
|
||||
Reference in new issue
Block a user