admin_system/zyhs_admin_java/rabbitmq_verify.sh

111 lines
2.9 KiB
Bash
Raw Normal View History

2026-03-13 08:26:58 +00:00
#!/bin/bash
# RabbitMQ验证脚本
# 用于检查RabbitMQ是否安装成功并正常运行
# 基本信息
RABBITMQ_USER="admin"
RABBITMQ_PASS="a7c73c9a"
HOSTNAME="mq.zyihs.com"
AMQP_PORT=5671
MANAGEMENT_PORT=15672
echo "===== RabbitMQ 服务验证 ====="
# 1. 检查RabbitMQ服务状态
echo -e "\n1. 检查 RabbitMQ 服务状态:"
systemctl status rabbitmq-server | grep -E "Active:|running"
if [ $? -eq 0 ]; then
echo "✅ RabbitMQ 服务运行正常"
else
echo "❌ RabbitMQ 服务未运行"
exit 1
fi
# 2. 检查RabbitMQ进程
echo -e "\n2. 检查 RabbitMQ 进程:"
ps aux | grep -v grep | grep rabbitmq
if [ $? -eq 0 ]; then
echo "✅ RabbitMQ 进程存在"
else
echo "❌ RabbitMQ 进程不存在"
fi
# 3. 检查端口监听
echo -e "\n3. 检查端口监听:"
echo "检查 AMQP SSL 端口 (5671):"
netstat -tuln | grep 5671
if [ $? -eq 0 ]; then
echo "✅ AMQP SSL 端口 (5671) 已开放"
else
echo "❌ AMQP SSL 端口 (5671) 未开放"
fi
echo "检查管理界面端口 (15672):"
netstat -tuln | grep 15672
if [ $? -eq 0 ]; then
echo "✅ 管理界面端口 (15672) 已开放"
else
echo "❌ 管理界面端口 (15672) 未开放"
fi
# 4. 检查管理员用户
echo -e "\n4. 检查管理员用户:"
rabbitmqctl list_users | grep $RABBITMQ_USER
if [ $? -eq 0 ]; then
echo "✅ 管理员用户 $RABBITMQ_USER 存在"
else
echo "❌ 管理员用户 $RABBITMQ_USER 不存在"
fi
# 5. 测试创建队列和交换机
echo -e "\n5. 测试创建队列和交换机:"
# 创建临时测试队列
echo "创建测试队列..."
rabbitmqctl eval 'rabbit_amqqueue:declare({resource, <<"/">>, queue, <<"test_queue">>}, true, false, [], none, "test").'
if [ $? -eq 0 ]; then
echo "✅ 测试队列创建成功"
else
echo "❌ 测试队列创建失败"
fi
# 删除测试队列
echo "删除测试队列..."
rabbitmqctl delete_queue test_queue
if [ $? -eq 0 ]; then
echo "✅ 测试队列删除成功"
else
echo "❌ 测试队列删除失败"
fi
# 6. 检查SSL配置
echo -e "\n6. 检查SSL配置:"
grep -E "ssl_options|listeners.ssl" /etc/rabbitmq/rabbitmq.conf
if [ $? -eq 0 ]; then
echo "✅ SSL 配置存在"
else
echo "❌ SSL 配置不存在"
fi
# 7. 检查Web管理界面可访问性
echo -e "\n7. 检查Web管理界面可访问性:"
curl -I -s -u $RABBITMQ_USER:$RABBITMQ_PASS http://$HOSTNAME:$MANAGEMENT_PORT/api/overview | grep "200 OK"
if [ $? -eq 0 ]; then
echo "✅ Web管理界面可以访问"
else
echo "❌ Web管理界面无法访问"
fi
# 8. 检查SSL连接
echo -e "\n8. 检查SSL连接:"
echo | openssl s_client -connect $HOSTNAME:$AMQP_PORT 2>/dev/null | grep "CONNECTED"
if [ $? -eq 0 ]; then
echo "✅ SSL连接成功"
else
echo "❌ SSL连接失败"
fi
echo -e "\n===== 验证完成 ====="
echo "如果上述大部分检查都通过则RabbitMQ安装配置成功"
echo "管理界面: http://$HOSTNAME:$MANAGEMENT_PORT"
echo "AMQP SSL端口: $AMQP_PORT"