111 lines
2.9 KiB
Bash
111 lines
2.9 KiB
Bash
|
|
#!/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"
|