Apusic文档中心
首页
  • 应用服务器 AAS
  • 负载均衡器 ALB
  • 分布式消息队列 ADMQ
  • 分布式缓存 AMDC
  • 分布式配置中心 ADCC
  • Java开发工具包软件 AJDK
  • 搜索引擎 ASE
  • 中间件云平台 ACP
  • 统一管理平台 AUMP
  • 云原生中间件管理 ACMP
  • DevOps平台 ADOP
  • 许可授权中心 ACLS
  • Copilot智能问答系统 ACS
  • 监控平台 AMP
  • 智能日志 AILP
  • 应用性能管理 AAPM
  • 智能告警 AAlarm
  • 主数据管理 AMDM
  • 数据交换平台 ADXP
  • 企业服务总线 AESB
  • 数据智脑 ADPR
  • 服务治理 ASGP
  • 统一身份管理 AIDM
  • 标准模板
  • Markdown教程 (opens new window)
  • VuePress官方社区 (opens new window)
  • 帮助
贡献文档 (opens new window)
首页
  • 应用服务器 AAS
  • 负载均衡器 ALB
  • 分布式消息队列 ADMQ
  • 分布式缓存 AMDC
  • 分布式配置中心 ADCC
  • Java开发工具包软件 AJDK
  • 搜索引擎 ASE
  • 中间件云平台 ACP
  • 统一管理平台 AUMP
  • 云原生中间件管理 ACMP
  • DevOps平台 ADOP
  • 许可授权中心 ACLS
  • Copilot智能问答系统 ACS
  • 监控平台 AMP
  • 智能日志 AILP
  • 应用性能管理 AAPM
  • 智能告警 AAlarm
  • 主数据管理 AMDM
  • 数据交换平台 ADXP
  • 企业服务总线 AESB
  • 数据智脑 ADPR
  • 服务治理 ASGP
  • 统一身份管理 AIDM
  • 标准模板
  • Markdown教程 (opens new window)
  • VuePress官方社区 (opens new window)
  • 帮助
贡献文档 (opens new window)
文档中心
  • 金蝶Apusic应用服务器

  • 金蝶Apusic负载均衡器

  • 金蝶Apusic分布式消息队列

    • 产品白皮书
    • 产品更新说明
    • 统一管控台

    • V2.0.6(最新)

    • V2.0.6_for_kafka

    • V2.0.6_for_rabbitmq

      • 产品简介
      • 功能与技术规格
      • 安装手册
      • 快速使用手册
      • 管控台用户手册
      • 消息引擎用户手册
      • 开发手册
      • 迁移手册
      • 运维手册
      • 性能优化手册
      • 极简运维手册
    • V2.0.6_for_rocketmq

    • V2.0.6_for_MQTT

    • V2.0.5

    • V2.0.4

    • V2.0.3

  • 金蝶Apusic分布式缓存

  • 金蝶Apusic分布式配置中心

  • 金蝶Apusic Java开发工具包软件

  • 金蝶Apusic全文检索

运维手册

# 前言

本文档为金蝶Apusic分布式消息队列for RabbitMQ(Apusic Distributed Message Queue,简称:ADMQ for RabbitMQ)的运维手册,旨在为中间件运维人员提供ADMQ for RabbitMQ标准化运维指南,涵盖安装部署、配置优化、日常运维、故障排查、安全加固等核心场景,确保ADMQ for RabbitMQ产品服务稳定、高效、安全运行。

# 适用对象

本文档适用于IT信息化业务负责人、研发经理、软件项目经理、软件架构师、运维工程师。

# 相关文档

了解更多ADMQ for RabbitMQ产品相关的信息,请参阅以下ADMQ for RabbitMQ产品手册文档集:

序号 手册文档 说明
1 金蝶Apusic分布式消息队列for RabbitMQ 快速使用手册 简单介绍了如何快速上手使用ADMQ for RabbitMQ 。
2 金蝶Apusic分布式消息队列for RabbitMQ 安装手册 详细介绍如何在各操作系统上安装ADMQ for RabbitMQ,以及ADMQ for RabbitMQ服务启停等操作。
3 金蝶Apusic分布式消息队列for RabbitMQ 消息引擎用户手册 详细介绍 ADMQ for RabbitMQ 消息引擎相关功能的使用、配置、管理及配套工具的使用方法。
4 金蝶Apusic分布式消息队列for RabbitMQ 管控台用户手册 详细介绍ADMQ for RabbitMQ管控台相关功能的使用和操作说明。
5 金蝶Apusic分布式消息队列for RabbitMQ 开发手册 详细介绍基于各开发语言进行ADMQ for RabbitMQ客户端应用开发的说明。
6 金蝶Apusic分布式消息队列for RabbitMQ 迁移手册 详细介绍从RabbitMQ迁移到ADMQ for RabbitMQ的说明。
7 金蝶Apusic分布式消息队列for RabbitMQ 运维手册 详细介绍ADMQ for RabbitMQ的监控、运维、安全加固等运维说明。
8 金蝶Apusic分布式消息队列for RabbitMQ 性能优化手册 详细介绍ADMQ for RabbitMQ性能调优的说明。

# 技术支持

ADMQ for RabbitMQ产品提供全面的技术支持服务,您可以通过以下方式获得技术支持:

  • 网址:www.apusic.com
  • 电话:400-855-5800
  • 邮箱:support@apusic.com
  • 金蝶云社区:https://vip.kingdee.com/?productId=73&productLineId=14&lang=zh-CN

您在取得技术支持时,请提供如下信息:

  1. 您的姓名
  2. 公司信息与联系方式
  3. 操作系统及其版本
  4. 产品版本号
  5. 出现异常及错误的日志、截图等详细信息

# 日常运维

# 服务管理

# 启动服务

# 启动 RabbitMQ 服务
bin/admq-daemon start rabbitmq server

# 启动应用(bin/admq rabbitmq admin ctl)
bin/admq rabbitmq admin ctl start_app
1
2
3
4
5

# 停止服务

# 停止应用
bin/admq rabbitmq admin ctl stop_app

# 停止 RabbitMQ 服务
bin/admq-daemon stop rabbitmq server
1
2
3
4
5

# 查看服务状态

# 查看服务状态
bin/admq rabbitmq admin status

# 查看节点状态
bin/admq rabbitmq admin ctl status

# 查看集群状态
bin/admq rabbitmq admin ctl cluster_status
1
2
3
4
5
6
7
8

# 重启服务

# 重启服务
bin/admq-daemon restart rabbitmq server
1
2

# 日志管理

# 日志位置

日志类型 路径 说明
服务日志 ./log/rabbitmq/rabbit@hostname.log RabbitMQ 主日志
启动日志 ./log/rabbitmq/rabbit@hostname-sasl.log SASL 日志
管控台日志 ./logs/ 管控台运行日志

# 监控检查

# 日常检查清单

检查项 检查命令 正常标准
节点状态 bin/admq rabbitmq admin ctl status 节点运行正常
集群状态 bin/admq rabbitmq admin ctl cluster_status 所有节点在线
内存使用 bin/admq rabbitmq admin ctl status 低于 vm_memory_high_watermark
磁盘空间 df -h 高于 disk_free_limit
连接数 bin/admq rabbitmq admin ctl list_connections 正常范围内
队列堆积 bin/admq rabbitmq admin ctl list_queues messages 无异常堆积
消费者数 bin/admq rabbitmq admin ctl list_queues consumers 消费者正常在线

# 健康检查脚本

#!/bin/bash

# 节点健康检查
bin/admq rabbitmq admin diagnostics health_check

# 内存检查
bin/admq rabbitmq admin diagnostics memory_breakdown

# 告警队列检查
bin/admq rabbitmq admin ctl list_queues name messages consumers | awk '$2 > 10000 {print "WARNING: Queue "$1" has "$2" messages"}'

# 连接数检查
CONN_COUNT=$(bin/admq rabbitmq admin ctl list_connections | wc -l)
if [ $CONN_COUNT -gt 1000 ]; then
    echo "WARNING: Connection count $CONN_COUNT exceeds threshold"
fi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# 配置管理

# 配置文件

# rabbitmq.conf

主配置文件,位于 ./config/rabbitmq.conf。

# 网络配置
listeners.tcp.default = 5672
listeners.ssl.default = 5671

# 内存配置
vm_memory_high_watermark.relative = 0.4
vm_memory_high_watermark_paging_ratio = 0.5

# 磁盘配置
disk_free_limit.relative = 2.0

# 心跳配置
heartbeat = 60

# 通道配置
channel_max = 2047

# 队列配置
queue_master_locator = min-masters
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# 动态配置

# 查看运行时参数
bin/admq rabbitmq admin ctl list_parameters

# 设置运行时参数
bin/admq rabbitmq admin ctl set_parameter federation-upstream my-upstream '{"uri":"amqp://remote-host"}'

# 清除运行时参数
bin/admq rabbitmq admin ctl clear_parameter federation-upstream my-upstream

# 查看策略
bin/admq rabbitmq admin ctl list_policies

# 设置策略
bin/admq rabbitmq admin ctl set_policy ha-all "^" '{"ha-mode":"all"}' --priority 0 --apply-to queues

# 清除策略
bin/admq rabbitmq admin ctl clear_policy ha-all
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# 故障排查

# 常见问题及解决方案

# 服务无法启动

现象 可能原因 解决方案
端口被占用 5672/15672 端口被其他进程占用 查找并停止占用进程,或修改监听端口
Erlang Cookie 不一致 集群节点 Cookie 不匹配 同步 .erlang.cookie 文件
内存不足 系统内存不足 增加内存或降低 vm_memory_high_watermark
磁盘空间不足 磁盘空间低于 disk_free_limit 清理磁盘空间或调整 disk_free_limit
配置错误 rabbitmq.conf 格式错误 检查配置文件语法

# 消息消费异常

现象 可能原因 解决方案
消息堆积 消费者处理速度过慢或消费者离线 增加消费者数量或优化消费逻辑
消息丢失 未启用持久化或手动确认 启用消息持久化和手动确认
重复消费 消费者确认超时后重新投递 优化消费者处理逻辑,确保及时确认
消费延迟 网络延迟或消费者性能问题 检查网络状况,优化消费者代码

# 集群异常

现象 可能原因 解决方案
节点离线 网络故障或服务异常 检查网络连通性,重启服务
脑裂 网络分区导致集群分裂 使用 bin/admq rabbitmq admin ctl forget_cluster_node 清理
镜像队列不同步 网络延迟或节点故障 检查网络状况,等待自动同步
队列不可用 队列所在节点离线 使用镜像队列或 Quorum Queue

# 故障排查命令

# 查看节点详细信息
bin/admq rabbitmq admin ctl status

# 查看集群状态
bin/admq rabbitmq admin ctl cluster_status

# 查看连接详情
bin/admq rabbitmq admin ctl list_connections peer_host peer_port state channels

# 查看通道详情
bin/admq rabbitmq admin ctl list_channels connection pid consumer_count messages_unacknowledged

# 查看队列详情
bin/admq rabbitmq admin ctl list_queues name pid slave_pids synchronised_slave_pids messages consumers memory

# 查看消费者详情
bin/admq rabbitmq admin ctl list_consumers queue_name channel_pid ack_required prefetch_count

# 查看内存使用详情
bin/admq rabbitmq admin diagnostics memory_breakdown

# 查看进程信息
bin/admq rabbitmq admin diagnostics processes

# 查看网络连接
bin/admq rabbitmq admin diagnostics connections

# 收集诊断信息
bin/admq rabbitmq admin diagnostics gather_auth_context
bin/admq rabbitmq admin diagnostics quorum_status "queue_name"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

# 备份与恢复

# 配置备份

# 导出配置定义
bin/admq rabbitmq admin ctl export_definitions /backup/definitions.json

# 导入配置定义
bin/admq rabbitmq admin ctl import_definitions /backup/definitions.json
1
2
3
4
5

# 数据备份

# Mnesia 数据库备份

# 备份 Mnesia 数据库
bin/admq rabbitmq admin ctl eval 'rabbit_mnesia:backup("/backup/mnesia.backup").'

# 恢复 Mnesia 数据库
bin/admq rabbitmq admin ctl eval 'rabbit_mnesia:restore("/backup/mnesia.backup").'
1
2
3
4
5

# 安全加固

# 网络安全

# 防火墙配置

# 开放必要端口
firewall-cmd --permanent --add-port=5672/tcp    # AMQP
firewall-cmd --permanent --add-port=5671/tcp    # AMQP over SSL
firewall-cmd --permanent --add-port=15672/tcp   # Management HTTP
firewall-cmd --permanent --add-port=15671/tcp   # Management HTTPS
firewall-cmd --permanent --add-port=25672/tcp   # Erlang Distribution
firewall-cmd --reload
1
2
3
4
5
6
7

# SSL/TLS 配置

# rabbitmq.conf
listeners.ssl.default = 5671
ssl_options.cacertfile = /path/to/ca_certificate.pem
ssl_options.certfile = /path/to/server_certificate.pem
ssl_options.keyfile = /path/to/server_key.pem
ssl_options.verify = verify_peer
ssl_options.fail_if_no_peer_cert = false
ssl_options.versions.1 = tlsv1.2
ssl_options.versions.2 = tlsv1.3
1
2
3
4
5
6
7
8
9

# 访问控制

# 修改默认用户

# 修改 guest 用户密码
bin/admq rabbitmq admin ctl change_password guest newpassword

# 删除默认 guest 用户(推荐)
bin/admq rabbitmq admin ctl delete_user guest

# 创建新管理员用户
bin/admq rabbitmq admin ctl add_user admin strongpassword
bin/admq rabbitmq admin ctl set_user_tags admin administrator
bin/admq rabbitmq admin ctl set_permissions -p / admin ".*" ".*" ".*"
1
2
3
4
5
6
7
8
9
10

# 最小权限原则

# 为业务用户分配最小权限
bin/admq rabbitmq admin ctl add_user app_user apppassword
bin/admq rabbitmq admin ctl set_user_tags app_user none
bin/admq rabbitmq admin ctl set_permissions -p /app_vhost app_user "^app-.*" "^app-.*" "^app-.*"
1
2
3
4

# 性能监控

# 监控指标

指标 说明
rabbitmq_connections 连接数
rabbitmq_channels 通道数
rabbitmq_queues 队列数
rabbitmq_queue_messages_ready 可消费消息数
rabbitmq_queue_messages_unacked 未确认消息数
rabbitmq_queue_messages 总消息数
rabbitmq_node_mem_used 内存使用量
rabbitmq_node_disk_free 磁盘剩余空间
rabbitmq_node_cpu_user CPU 用户态使用率

# 运维最佳实践

  1. 定期检查:建立日常检查机制,及时发现潜在问题
  2. 监控告警:配置完善的监控和告警体系
  3. 备份策略:制定定期备份策略,确保数据安全
  4. 文档记录:记录所有运维操作和变更
  5. 容量规划:定期评估集群容量,提前扩容
  6. 安全更新:及时更新安全补丁
  7. 灾难演练:定期进行故障恢复演练
编辑页面 (opens new window)
#运维手册

← 迁移手册 性能优化手册→

  • 浅色模式