Alerta pvemini-down nu mai recomanda failover manual pe pveelite. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KddsXCqEbKMhdFJDYbAsx8
59 lines
2.2 KiB
Bash
Executable File
59 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
# Alertă când pvemini e unreachable — rulează pe pveelite din cron 1 min
|
|
# Deployed la /opt/scripts/pvemini-down-alert.sh pe pveelite
|
|
# Stateful: alertează o dată după 2 minute consecutive DOWN, reset la UP
|
|
set -euo pipefail
|
|
|
|
# Cron rulează cu PATH minimal (/usr/bin:/bin). ha-manager e în /usr/sbin, deci
|
|
# fără linia asta secțiunea "HA status" din alertă iese goală, tăcut:
|
|
# /opt/scripts/pvemini-down-alert.sh: line 38: ha-manager: command not found
|
|
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
|
|
|
PRIMARY_IP=10.0.20.201
|
|
STATE=/var/run/pvemini-down-alert.state
|
|
MAIL_TO=mmarius28@gmail.com
|
|
THRESHOLD=2 # min consecutive
|
|
|
|
COUNT=0
|
|
[[ -f "$STATE" ]] && COUNT=$(cat "$STATE")
|
|
|
|
if ping -c 2 -W 2 "$PRIMARY_IP" &>/dev/null; then
|
|
if [[ "$COUNT" -ge "$THRESHOLD" ]]; then
|
|
# Recovery
|
|
echo "pvemini revenit online la $(date)" | \
|
|
mail -r 'ups@romfast.ro' -s "[OK] pvemini UP" "$MAIL_TO"
|
|
fi
|
|
echo 0 > "$STATE"
|
|
exit 0
|
|
fi
|
|
|
|
COUNT=$((COUNT + 1))
|
|
echo "$COUNT" > "$STATE"
|
|
|
|
# Alertează o singură dată când atingem threshold
|
|
if [[ "$COUNT" -eq "$THRESHOLD" ]]; then
|
|
{
|
|
echo "pvemini (10.0.20.201) NU răspunde la ping de $THRESHOLD minute"
|
|
echo "Timp: $(date)"
|
|
echo
|
|
echo "Stare cluster:"
|
|
pvecm status 2>&1 | head -20 || true
|
|
echo
|
|
echo "HA status:"
|
|
ha-manager status 2>&1 || true
|
|
echo
|
|
echo "=========================================="
|
|
echo "Guest-urile HA (inclusiv VM 201 si CT 108) se muta AUTOMAT"
|
|
echo "dupa prioritatea grupurilor HA (VM 201 -> pve1) si revin singure"
|
|
echo "pe pvemini cand acesta e din nou stabil (nofailback=0)."
|
|
echo
|
|
echo "NU porni manual guest-uri HA pe alt nod: intra in conflict cu HA."
|
|
echo "Scripturile vechi failover-vm201/recover-vm201 sunt arhivate"
|
|
echo "(proxmox/cluster/failover/arhiva/)."
|
|
echo
|
|
echo "De urmarit: ssh root@10.0.20.202 ha-manager status"
|
|
echo "Backup-uri Oracle, daca pica si pveelite: dashboard -> Infrastructura"
|
|
echo "=========================================="
|
|
} | mail -r 'ups@romfast.ro' -s "[CRITIC] pvemini DOWN $THRESHOLD min" "$MAIL_TO"
|
|
fi
|