From 940ff800adc52e4f4afd32106e20d1c8f6d6695b Mon Sep 17 00:00:00 2001 From: sorcier Date: Thu, 5 Nov 2026 19:37:43 +0100 Subject: [PATCH] fix(cluster): update Asterisk CLI health check command to core show uptime --- scripts/cluster/check_asterisk.sh | 6 +++--- scripts/nexus-cluster | 2 +- src/ClusterManager.php | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/scripts/cluster/check_asterisk.sh b/scripts/cluster/check_asterisk.sh index 6966ff3..86ac16a 100755 --- a/scripts/cluster/check_asterisk.sh +++ b/scripts/cluster/check_asterisk.sh @@ -10,9 +10,9 @@ if ! pidof asterisk >/dev/null 2>&1; then exit 1 fi -# 2. Teste si Asterisk répond aux requêtes CLI (core ping) -PING_RESP=$(/usr/sbin/asterisk -rx "core ping" 2>/dev/null || true) -if echo "$PING_RESP" | grep -q "Pong"; then +# 2. Teste si Asterisk répond aux requêtes CLI (core show uptime) +RESP=$(/usr/sbin/asterisk -rx "core show uptime" 2>/dev/null || true) +if echo "$RESP" | grep -qi "uptime"; then exit 0 fi diff --git a/scripts/nexus-cluster b/scripts/nexus-cluster index 86b398f..306d735 100755 --- a/scripts/nexus-cluster +++ b/scripts/nexus-cluster @@ -65,7 +65,7 @@ case "$CMD" in ;; check) - if pidof asterisk >/dev/null 2>&1 && /usr/sbin/asterisk -rx "core ping" 2>/dev/null | grep -q "Pong"; then + if pidof asterisk >/dev/null 2>&1 && /usr/sbin/asterisk -rx "core show uptime" 2>/dev/null | grep -qi "uptime"; then echo "HEALTHY" else echo "DEGRADED" diff --git a/src/ClusterManager.php b/src/ClusterManager.php index 4de3f50..fbadf7d 100644 --- a/src/ClusterManager.php +++ b/src/ClusterManager.php @@ -239,10 +239,10 @@ class ClusterManager $asteriskRunning = trim((string)shell_exec('pidof asterisk 2>/dev/null')) !== ''; $asteriskPing = false; if ($asteriskRunning) { - $pingOut = shell_exec("asterisk -rx 'core ping' 2>/dev/null") - ?: shell_exec("sudo -n /usr/sbin/asterisk -rx 'core ping' 2>/dev/null") - ?: ''; - $asteriskPing = str_contains($pingOut, 'Pong'); + $cliOut = shell_exec("sudo -n /usr/sbin/asterisk -rx 'core show uptime' 2>/dev/null") + ?: shell_exec("/usr/sbin/asterisk -rx 'core show uptime' 2>/dev/null") + ?: ''; + $asteriskPing = str_contains($cliOut, 'uptime') || str_contains($cliOut, 'System'); } // 3. Test de connectivité vers le nœud pair (Peer Ping)