mosquitto查看系统状态信息

客户端可以通过订阅$SYS树来查询broker的信息。标记为statictopic只在客户端订阅时发送一次,其他的topic会每隔sys_interval 秒更新一次, 如果sys_interval 0,则不会发送更新。

注意,如果使用命令行与$SYS topic交互,shell会把$解析为环境变量,所以需要将topic用单引号括起来例如’ $SYS/...’或者使用转义字符,例如 \$SYS/..

下面列出了所有相关的topic

  • $SYS/broker/bytes/received

Broker从启动之后至今接收到的字节总数

The total number of bytes received since the broker started.

  • $SYS/broker/bytes/sent

Broker从启动之后至今发送的字节总数

The total number of bytes sent since the broker started.

  • $SYS/broker/clients/connected,

$SYS/broker/clients/active (不再使用)

当前连接的客户端的总数

The number of currently connected clients.

  • $SYS/broker/clients/expired

The number of disconnected persistent clients that have been expired and removed through the persistent_client_expiration option.

  • $SYS/broker/clients/disconnected,

$SYS/broker/clients/inactive (deprecated)

The total number of persistent clients (with clean session disabled) that are registered at the broker but are currently disconnected.

  • $SYS/broker/clients/maximum

The maximum number of clients that have been connected to the broker at the same time.

  • $SYS/broker/clients/total

The total number of active and inactive clients currently connected and registered on the broker.

  • $SYS/broker/connection/#

When bridges are configured to/from the broker, common practice is to provide a status topic that indicates the state of the connection. This is provided within $SYS/broker/connection/ by default. If the value of the topic is 1 the connection is active, if 0 then it is not active. See the Bridges section below for more information on bridges.

  • $SYS/broker/heap/current size

The current size of the heap memory in use by mosquitto. Note that this topic may be unavailable depending on compile time options.

  • $SYS/broker/heap/maximum size

The largest amount of heap memory used by mosquitto. Note that this topic may be unavailable depending on compile time options.

  • $SYS/broker/load/connections/+

The moving average of the number of CONNECT packets received by the broker over different time intervals. The final "+" of the hierarchy can be 1min, 5min or 15min. The value returned represents the number of connections received in 1 minute, averaged over 1, 5 or 15 minutes.

  • $SYS/broker/load/bytes/received/+

The moving average of the number of bytes received by the broker over different time intervals. The final "+" of the hierarchy can be 1min, 5min or 15min. The value returned represents the number of bytes received in 1 minute, averaged over 1, 5 or 15 minutes.

  • $SYS/broker/load/bytes/sent/+

The moving average of the number of bytes sent by the broker over different time intervals. The final "+" of the hierarchy can be 1min, 5min or 15min. The value returned represents the number of bytes sent in 1 minute, averaged over 1, 5 or 15 minutes.

  • $SYS/broker/load/messages/received/+

The moving average of the number of all types of MQTT messages received by the broker over different time intervals. The final "+" of the hierarchy can be 1min, 5min or 15min. The value returned represents the number of messages received in 1 minute, averaged over 1, 5 or 15 minutes.

  • $SYS/broker/load/messages/sent/+

The moving average of the number of all types of MQTT messages sent by the broker over different time intervals. The final "+" of the hierarchy can be 1min, 5min or 15min. The value returned represents the number of messages send in 1 minute, averaged over 1, 5 or 15 minutes.

  • $SYS/broker/load/publish/dropped/+

The moving average of the number of publish messages dropped by the broker over different time intervals. This shows the rate at which durable clients that are disconnected are losing messages. The final "+" of the hierarchy can be 1min, 5min or 15min. The value returned represents the number of messages dropped in 1 minute, averaged over 1, 5 or 15 minutes.

  • $SYS/broker/load/publish/received/+

The moving average of the number of publish messages received by the broker over different time intervals. The final "+" of the hierarchy can be 1min, 5min or 15min. The value returned represents the number of publish messages received in 1 minute, averaged over 1, 5 or 15 minutes.

  • $SYS/broker/load/publish/sent/+

The moving average of the number of publish messages sent by the broker over different time intervals. The final "+" of the hierarchy can be 1min, 5min or 15min. The value returned represents the number of publish messages sent in 1 minute, averaged over 1, 5 or 15 minutes.

  • $SYS/broker/load/sockets/+

The moving average of the number of socket connections opened to the broker over different time intervals. The final "+" of the hierarchy can be 1min, 5min or 15min. The value returned represents the number of socket connections in 1 minute, averaged over 1, 5 or 15 minutes.

  • $SYS/broker/messages/inflight

The number of messages with QoS>0 that are awaiting acknowledgments.

  • $SYS/broker/messages/received

The total number of messages of any type received since the broker started.

  • $SYS/broker/messages/sent

The total number of messages of any type sent since the broker started.

  • $SYS/broker/publish/messages/dropped

The total number of publish messages that have been dropped due to inflight/queuing limits. See the max_inflight_messages and max_queued_messages options in mosquitto.conf(5) for more information.

  • $SYS/broker/publish/messages/received

The total number of PUBLISH messages received since the broker started.

  • $SYS/broker/publish/messages/sent

The total number of PUBLISH messages sent since the broker started.

  • $SYS/broker/retained messages/count

The total number of retained messages active on the broker.

  • $SYS/broker/store/messages/count,

$SYS/broker/messages/stored (deprecated)

The number of messages currently held in the message store. This includes retained messages and messages queued for durable clients.

  • $SYS/broker/store/messages/bytes

The number of bytes currently held by message payloads in the message store. This includes retained messages and messages queued for durable clients.

  • $SYS/broker/subscriptions/count

The total number of subscriptions active on the broker.

  • $SYS/broker/version

The version of the broker. Static.

### 在 AlmaLinux 上安装和配置 Mosquitto MQTT Broker #### 1. 更新系统包管理器 在开始之前,确保系统的软件包是最新的。运行以下命令更新系统: ```bash sudo dnf update -y ``` #### 2. 安装 EPEL 软件源 AlmaLinux 默认不包含某些第三方库,因此需要启用 EPEL (Extra Packages for Enterprise Linux) 软件源来获取更多可用的软件包。 ```bash sudo dnf install epel-release -y ``` #### 3. 安装 Mosquitto 通过 DNF 包管理工具安装 Mosquitto 软件包: ```bash sudo dnf install mosquitto -y ``` 这一步会自动下载并安装 Mosquitto 及其依赖项[^1]。 #### 4. 启动并设置 Mosquitto 服务开机自启 启动 Mosquitto 服务并将它设置为随系统启动而自动运行: ```bash sudo systemctl start mosquitto sudo systemctl enable mosquitto ``` 验证服务状态以确认其正常工作: ```bash sudo systemctl status mosquitto ``` 如果显示 `active (running)` 则表示服务已成功启动[^2]。 #### 5. 配置防火墙规则 为了允许外部设备连接到 Mosquitto 服务器,默认端口为 `1883`(未加密)和 `8883`(TLS 加密)。打开这些端口以便客户端可以访问: ```bash sudo firewall-cmd --add-port=1883/tcp --permanent sudo firewall-cmd --reload ``` 对于 TLS 加密支持,则需额外开放 `8883` 端口: ```bash sudo firewall-cmd --add-port=8883/tcp --permanent sudo firewall-cmd --reload ``` #### 6. 修改默认配置文件 Mosquitto 的主要配置位于 `/etc/mosquitto/mosquitto.conf` 文件中。编辑此文件可调整各种参数,例如监听端口、日志记录级别以及用户认证等选项: ```bash sudo nano /etc/mosquitto/mosquitto.conf ``` 一些常用的配置条目如下所示: - 设置监听端口: ```conf listener 1883 ``` - 开启密码保护功能(假设已经创建了密码文件): ```conf allow_anonymous false password_file /etc/mosquitto/passwd ``` 保存更改后重启服务使新设定生效: ```bash sudo systemctl restart mosquitto ``` #### 7. 创建用户账户(可选) 若希望实现基本的身份验证机制,可以通过以下方式新增用户名与对应密码存储至指定路径下的哈希格式文本文件里: ```bash sudo mosquitto_passwd -c /etc/mosquitto/passwd your_username ``` 按照提示输入两次相同的内容作为登录凭证即可完成操作[^3]。 --- ### 使用 Docker 部署 Mosquitto (备选方案) 除了直接安装外,还可以利用容器化技术快速搭建环境。以下是基于官方镜像构建实例的方法: 拉取最新版本镜像资源: ```bash docker pull eclipse-mosquitto:latest ``` 定义好数据卷映射关系之后执行下面语句启动容器进程: ```yaml version: '3' services: mqtt-broker: image: eclipse-mosquitto container_name: mqtt_broker ports: - "1883:1883" - "9001:9001" volumes: - ./config:/mosquitto/config - ./data:/mosquitto/data - ./log:/mosquitto/log restart: always ``` 上述 YAML 文件描述了一个简单的 Compose 模板用于简化多组件协作流程[^4]。 最后应用该模板初始化整个架构体系结构: ```bash docker-compose up -d ``` ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值