Skip to content

故障排查

本指南帮助你诊断和解决 FlowMQ Enterprise 部署中的常见问题。

连接问题

无法连接到 Broker

  • 检查 Broker 进程是否正在运行
  • 确认主机地址和端口配置正确
  • 检查防火墙规则是否放行了相应端口(MQTT: 1883/8883, Kafka: 9092/9093, AMQP: 5672)
  • 验证认证凭据是否正确
  • 检查 TLS 证书配置(如启用了 TLS)

连接频繁断开

  • 检查网络稳定性
  • 确认 keepalive / 心跳设置合理
  • 监控服务器资源(CPU、内存、文件描述符)
  • 检查客户端连接数是否超过限制

消息投递问题

消息未收到

  • 确认消费者订阅的主题/队列名称正确
  • 检查 QoS 设置(MQTT)
  • 确认 Client ID 无冲突
  • 检查访问控制规则(ACL)是否允许订阅

出现重复消息

  • 检查 QoS 设置(QoS 1 允许重复投递)
  • 确认客户端 Clean Session 标志设置
  • 检查客户端重连逻辑是否正确处理了位点提交

性能问题

高延迟

  • 监控系统资源使用情况(CPU、内存、磁盘 I/O)
  • 检查网络延迟
  • 评估消息大小是否合理
  • 优化客户端配置(批量大小、压缩等)

内存使用过高

  • 监控 Broker 堆内存使用
  • 检查消息保留策略
  • 确认队列容量限制配置合理
  • 评估并发连接数

诊断工具

日志分析

bash
# 启用 debug 日志
flowmq --debug

# 查看日志
tail -f /var/log/flowmq/broker.log

连接测试

bash
# 测试 MQTT 连接
mqttx conn -h your-flowmq-host -p 1883

# 测试 Kafka 连接
kafka-broker-api-versions.sh --bootstrap-server your-flowmq-host:9092

性能监控

bash
# 查看系统指标
flowmq stats

# 查看客户端连接
flowmq clients list

错误码

错误码说明
1认证失败
2授权失败
3连接数达到上限
4无效协议
5系统资源耗尽

获取帮助

如果以上步骤无法解决问题:

  • 查阅本文档的其他章节
  • 检查发布说明(Release Notes)中的已知问题(以企业版交付件为准)
  • 联系企业版技术支持团队

FlowMQ