admin_system/zyhs_admin_java/rabbitmq_verify.sh

111 lines
2.9 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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"