41 lines
1.1 KiB
Bash
Executable File
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 ""
|