Adds pvecm_quorum_check.sh probe script and wires it into the checkdefaults system as a new 'quorum' monitoring kind on proxmox-host entities. Runs every 60s via ssh-script, surfaces unhealthy signal when cluster loses quorum. Closes the monitoring blind spot that let the 2026-08-12 3.5h corosync flapping outage go undetected (ping passed, cluster was non-quorate). Changes: - seeds/ontology.yaml: proxmox-host declares monitoring: [quorum] - internal/checkdefaults/defaults.go: KindQuorum builder - internal/checkdefaults/build_test.go: 2 new test cases - checks/pvecm_quorum_check.sh: new probe (deployed to hubris + strong) - VERSION: 0.30.2 -> 0.31.0
12 lines
432 B
Bash
12 lines
432 B
Bash
#!/usr/bin/env bash
|
|
# pvecm_quorum_check.sh — Proxmox cluster quorum status.
|
|
# Runs on a PVE host. Fails if the node is not quorate.
|
|
set -euo pipefail
|
|
|
|
# pvecm status exit code is non-zero on non-quorate nodes
|
|
# (e.g. "Quorate: No — Activity blocked")
|
|
if pvecm status 2>/dev/null | grep -q 'Quorate.*Yes'; then
|
|
echo '{"health":"healthy","metrics":{"quorate":1}}'
|
|
else
|
|
echo '{"health":"unhealthy","metrics":{"quorate":0}}'
|
|
fi |