This commit is contained in:
m8in
2025-06-21 00:33:44 +02:00
parent 446ecb3744
commit d40f52b6d1
5 changed files with 197 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
#!/bin/bash
TMP="$(mktemp)"
(
HOSTNAME="$(hostname)"
HOSTOWNER="$(cat /invra/hostowner)"
MAX_BEHIND=0
CURRENT_UNIXTIME=$(date -u +%s)
echo "OK#Checks running"
for CONTAINER_PATH in /invra/state/${HOSTOWNER}/containers/*; do
grep -E "^${HOSTNAME}$" "${CONTAINER_PATH}/standby-hosts" &> /dev/null || continue;
CONTAINER_NAME="$(basename "$CONTAINER_PATH")";
TS=$(zfs list -o name -r -t snapshot "zpool1/persistent/${CONTAINER_NAME}-BACKUP" | grep "@SYNC_${HOSTNAME}" | head -n1 | grep -oP "\\d{4}-\\d{2}-\\d{2}_\\d{2}:\\d{2}:\\d{2}")
LAST_SNAPSHOT_TIME="$(echo "${TS}" | sed "s/_/ /g")"
LAST_SNAPSHOT_UNIXTIME=$(date -u --date="TZ=\"UTC\" ${LAST_SNAPSHOT_TIME}" +%s)
SECONDS_BEHIND=$[ $CURRENT_UNIXTIME - $LAST_SNAPSHOT_UNIXTIME ]
if [ "$SECONDS_BEHIND" -gt "$MAX_BEHIND" ]; then
MAX_BEHIND="$SECONDS_BEHIND"
fi
if [ "$SECONDS_BEHIND" -gt 30 ]; then
echo "LAGGING_SYNC_${CONTAINER_NAME}_${HOSTNAME}?FAIL#${SECONDS_BEHIND} behind"
fi
done
echo $CURRENT_UNIXTIME
) > "$TMP"
chmod 655 "$TMP"
mkdir -p /var/www/html/monitoring &>/dev/null
mv "$TMP" /var/www/html/monitoring/synccontainer.check.txt