Add Loki Alloy logging baseline

This commit is contained in:
2026-05-16 13:26:49 +02:00
parent 5ada1ad153
commit a5add937f8
17 changed files with 330 additions and 5 deletions
+33
View File
@@ -0,0 +1,33 @@
#!/usr/bin/env bash
set -euo pipefail
NTFY_SCRIPT="${NTFY_SCRIPT:-/mnt/user/services/homelab-infra/ops/restore-tests/send-ntfy.sh}"
NTFY_TOPIC="${NTFY_TOPIC:-kallilab-critical}"
SEND_NTFY="${SEND_NTFY:-1}"
OUTPUT_PATH="${OUTPUT_PATH:-/mnt/user/services/posture-check/docker-critical-events-last.log}"
EVENT_FILTERS="${EVENT_FILTERS:---filter event=die --filter event=oom --filter event=kill}"
mkdir -p "$(dirname "$OUTPUT_PATH")"
send_event() {
local line="$1"
local timestamp
timestamp="$(date -Iseconds)"
printf '%s %s\n' "$timestamp" "$line" | tee -a "$OUTPUT_PATH" >/dev/null
if [ "$SEND_NTFY" = "1" ] && [ -x "$NTFY_SCRIPT" ]; then
"$NTFY_SCRIPT" "$NTFY_TOPIC" "Docker critical event" "$line" high || true
fi
}
if ! command -v docker >/dev/null 2>&1; then
echo "docker command not found" >&2
exit 127
fi
# shellcheck disable=SC2086
docker events $EVENT_FILTERS --format '{{json .}}' | while IFS= read -r event; do
[ -n "$event" ] || continue
send_event "$event"
done