erp-java/rocketmq/status.sh

41 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
# RocketMQ 集群状态检查脚本
echo "=========================================="
echo " RocketMQ 集群状态检查"
echo "=========================================="
echo ""
# 检查容器状态
echo "容器状态:"
docker ps --filter "name=rocketmq" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
echo ""
echo "NameServer状态:"
for port in 9876 9877; do
result=$(curl -s -m 3 "http://localhost:$port" 2>/dev/null || echo "不可用")
if [[ "$result" != "不可用" ]]; then
echo " localhost:$port - 正常"
else
echo " localhost:$port - 异常"
fi
done
echo ""
echo "Broker集群状态:"
for broker in master-1 master-2 slave-1 slave-2; do
container="rocketmq-broker-$broker"
if docker ps --filter "name=$container" --format "{{.Names}}" | grep -q "$container"; then
echo " $broker - 运行中"
else
echo " $broker - 已停止"
fi
done
echo ""
echo "Dashboard状态:"
dashboard=$(curl -s -m 3 "http://localhost:8080" 2>/dev/null && echo "正常" || echo "不可用")
echo " http://localhost:8080 - $dashboard"
echo ""