Skip to content

管理 API

TMQTT 提供 HTTP REST API,用于查看 Broker 运行状态、管理客户端会话、触发热重载等操作。


基础信息

项目说明
默认监听地址0.0.0.0:8080
协议HTTP
数据格式JSON
鉴权当配置 api.auth_token 后,所有接口(除 /healthz)需在请求头中携带 Authorization: Bearer <token>

接口列表

健康检查

接口方法说明
/healthzGET健康检查端点,无需鉴权,用于负载均衡健康探测

节点管理

接口方法说明
/api/v1/node/statusGET获取当前节点运行状态,包括节点 ID、运行时间、连接数、消息统计等

会话管理

接口方法说明
/api/v1/sessionsGET获取所有活跃会话列表
/api/v1/sessions/{client_id}GET获取指定客户端的会话详情,包括订阅主题列表、Inflight 消息数、连接时间等
/api/v1/sessions/{client_id}DELETE踢出指定客户端(主动断开连接),可用于故障排查或强制下线

保留消息

接口方法说明
/api/v1/retainedGET获取所有保留消息列表
/api/v1/retained/{topic}DELETE删除指定主题的保留消息

配置管理

接口方法说明
/api/v1/config/reloadPOST触发配置文件热重载,修改 config.toml 后无需重启即可生效

集群管理

接口方法说明
/api/v1/cluster/stateGET获取集群整体状态,包括成员列表、各节点角色和运行状态
/api/v1/cluster/membersGET获取所有集群成员信息
/api/v1/cluster/members/{node_id}GET获取指定节点的详细信息
/api/v1/cluster/members/{node_id}/drainPOST将指定节点设为 Drain 模式,停止接受新连接(用于维护或升级)
/api/v1/cluster/members/{node_id}/leavePOST将指定节点从集群中移除
/api/v1/cluster/forwardPOST将请求转发到指定节点

消息桥接

接口方法说明
/api/v1/bridge/rulesGET获取所有桥接规则列表
/api/v1/bridge/rulesPOST创建新的桥接规则
/api/v1/bridge/rules/{id}GET获取指定规则详情
/api/v1/bridge/rules/{id}PUT更新指定规则
/api/v1/bridge/rules/{id}DELETE删除指定规则
/api/v1/bridge/rules/{id}/sinksGET获取规则关联的所有 Sink 状态
/api/v1/bridge/rules/{id}/sinks/{name}GET获取指定 Sink 详情(连接状态、成功率、熔断状态等)
/api/v1/bridge/rules/{id}/sinks/{name}/dlqGET查看指定 Sink 的死信队列消息
/api/v1/bridge/rules/{id}/sinks/{name}/dlq/retryPOST重新投递死信队列中的消息

鉴权说明

当配置文件中设置了 api.auth_token 时,除 /healthz 外的所有接口需要携带鉴权头:

Authorization: Bearer <你的token>

未携带 Token 或 Token 错误的请求将返回 401 状态码。

建议:生产环境务必配置 auth_token,防止 API 被未授权访问。


使用示例

查看节点状态

bash
curl http://localhost:8080/api/v1/node/status

查看所有会话

bash
curl http://localhost:8080/api/v1/sessions

踢出指定客户端

bash
curl -X DELETE http://localhost:8080/api/v1/sessions/bad-client-id

触发配置重载

bash
curl -X POST http://localhost:8080/api/v1/config/reload

Copyright (c) 2026 桃子 TaoZi.Pub https://taozi.pub | MIT License