45 lines
1.1 KiB
Bash
Executable File
45 lines
1.1 KiB
Bash
Executable File
#!/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
|