emqtt 试用(六)系统主题

时间:2022-06-14 12:58:55

$SYS-系统主题

EMQ 消息服务器周期性发布自身运行状态、MQTT 协议统计、客户端上下线状态到 $SYS/ 开头系统主题。

$SYS 主题路径以 “$SYS/brokers/{node}/” 开头,’${node}’ 是 Erlang 节点名称:

$SYS/brokers/emqttd@127.0.0.1/version

$SYS/brokers/emqttd@host2/uptime

注解

默认只允许 localhost 的 MQTT 客户端订阅 $SYS 主题,可通过 etc/acl.config 修改访问控制规则。

$SYS 系统消息发布周期,通过 etc/emq.conf 配置:

## System Interval of publishing broker $SYS Messages
mqtt.broker.sys_interval = 60

服务器版本、启动时间与描述消息

主题 说明
$SYS/brokers 集群节点列表
$SYS/brokers/${node}/version EMQ 服务器版本
$SYS/brokers/${node}/uptime EMQ 服务器启动时间
$SYS/brokers/${node}/datetime EMQ 服务器时间
$SYS/brokers/${node}/sysdescr EMQ 服务器描述

MQTT 客户端上下线状态消息

$SYS 主题前缀: $SYS/brokers/${node}/clients/

主题(Topic) 数据(JSON) 说明
${clientid}/connected
{ipaddress: “127.0.0.1”, username: “test”,
session: false, version: 3, connack: 0, ts: 1432648482}
Publish when a client connected
| ts: 1432648482} | |
username: “test”, ts: 1432749431} | |

‘connected’ 消息 JSON 数据:

{
ipaddress: "127.0.0.1",
username: "test",
session: false,
protocol: 3,
connack: 0,
ts: 1432648482
}

‘disconnected’ 消息 JSON 数据:

{
reason: normal,
ts: 1432648486
}

Statistics - 系统统计消息

系统主题前缀: $SYS/brokers/${node}/stats/

Clients - 客户端统计

主题(Topic) 说明
clients/count 当前客户端总数
clients/max 最大客户端数量

Sessions - 会话统计

主题(Topic) 说明
sessions/count 当前会话总数
sessions/max 最大会话数量

Subscriptions - 订阅统计

主题(Topic) 说明
subscriptions/count 当前订阅总数
subscriptions/max 最大订阅数量

Topics - 主题统计

主题(Topic) 说明
topics/count 当前 Topic 总数(跨节点)
topics/max Max number of topics

Metrics - 收发流量/报文/消息统计

系统主题(Topic)前缀: $SYS/brokers/${node}/metrics/

收发流量统计

主题(Topic) 说明
bytes/received 累计接收流量
bytes/sent 累计发送流量

MQTT报文收发统计

主题(Topic) 说明
packets/received 累计接收 MQTT 报文
packets/sent 累计发送 MQTT 报文
packets/connect 累计接收 MQTT CONNECT 报文
packets/connack 累计发送 MQTT CONNACK 报文
packets/publish/received 累计接收 MQTT PUBLISH 报文
packets/publish/sent 累计发送 MQTT PUBLISH 报文
packets/subscribe 累计接收 MQTT SUBSCRIBE 报文
packets/suback 累计发送 MQTT SUBACK 报文
packets/unsubscribe 累计接收 MQTT UNSUBSCRIBE 报文
packets/unsuback 累计发送 MQTT UNSUBACK 报文
packets/pingreq 累计接收 MQTT PINGREQ 报文
packets/pingresp 累计发送 MQTT PINGRESP 报文
packets/disconnect 累计接收 MQTT DISCONNECT 报文

MQTT 消息收发统计

主题(Topic) 说明
messages/received 累计接收消息
messages/sent 累计发送消息
messages/retained Retained 消息总数
messages/dropped 丢弃消息总数

Alarms - 系统告警

系统主题(Topic)前缀: $SYS/brokers/${node}/alarms/

主题(Topic) 说明
${alarmId}/alert 新产生告警
${alarmId}/clear 清除告警

Sysmon - 系统监控

系统主题(Topic)前缀: $SYS/brokers/${node}/sysmon/

主题(Topic) 说明
long_gc GC 时间过长警告
long_schedule 调度时间过长警告
large_heap Heap 内存占用警告
busy_port Port 忙警告
busy_dist_port Dist Port 忙警告