diff options
Diffstat (limited to 'genesis_agg.sh')
-rwxr-xr-x | genesis_agg.sh | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/genesis_agg.sh b/genesis_agg.sh new file mode 100755 index 0000000..6971234 --- /dev/null +++ b/genesis_agg.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +# Configuration +TG_BOT_TOKEN="${TG_BOT_TOKEN:7277705363:AAGSw5Pmcbf7IsSyZKMqU6PJ4VsVwdKLRH0}" +TG_CHAT_ID="${TG_CHAT_ID:-1559582356}" + +declare -A NODES +NODES=( + ["genesis-east"]="root@198.74.58.14" + ["genesis-midwest"]="root@45.56.126.90" + ["genesis-west"]="root@172.232.172.119" +) + +REMOTE_SCRIPT="/root/genesis_routewatch.sh" +CRITICAL=0 +OUTPUT="" + +send_telegram_alert() { + local message="$1" + curl -s -X POST "https://api.telegram.org/bot${TG_BOT_TOKEN}/sendMessage" \ + -d chat_id="${TG_CHAT_ID}" \ + -d parse_mode="Markdown" \ + -d text="$message" > /dev/null +} + +for region in "${!NODES[@]}"; do + HOST="${NODES[$region]}" + echo "🌐 Probing $region ($HOST)..." + + OUTPUT_SEGMENT=$(ssh -o ConnectTimeout=10 "$HOST" "bash $REMOTE_SCRIPT" 2>&1) + OUTPUT+="🛰️ $region Output:\n$OUTPUT_SEGMENT\n\n" + + if echo "$OUTPUT_SEGMENT" | grep -q "Status: CRITICAL"; then + CRITICAL=1 + fi +done + +# Display results +echo -e "$OUTPUT" + +if [ $CRITICAL -eq 1 ]; then + ALERT_MSG="🚨 *GenesisRouteWatch Multi-Region Alert* 🚨\n\n$OUTPUT" + send_telegram_alert "$ALERT_MSG" +fi |