找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 1070|回复: 2

[小米AX5400/AX6000] [折腾] 使用 MQTT / Python / Grafana 实现小米路由器网速查看与统计

[复制链接]
发表于 2023-6-27 12:03 | 显示全部楼层 |阅读模式
本帖最后由 mm6751 于 2023-6-27 18:33 编辑

小米 AX6000 路由器虽然身形巨大无比,但自带的网速查看功能却十分简陋,约等于没有。幸好系统是基于 OpenWrt 的,可以自己动手实现一个

Step 1: 寻找数据

命令:
  1. ubus call trafficd hw '{"debug": true}'
复制代码


简单的命令却寻觅最久,机缘巧合之下才发现... 使用时加入 debug 参数以获得更多信息。

Step 2:加工处理

有了数据源就好做了,定时采样加工处理再展示即可。小米路由器自带了一部分 MQTT 工具,因此使用 MQTT 将数据源转发给电脑处理并入库,再使用 Grafana 做展示。即使电脑不一直开机也没关系,通过配置,MQTT broker 可持久化暂存未处理消息。

2.1 安装 Mosquitto broker 2.0

小强系统自带了 MQTT client ,只需安装支持 MQTT v5 的 broker 即可。手动下载 ipk 文件,解压后获得可执行文件(.\data.tar.gz\.\usr\sbin\mosquitto),将其上传到路由器中并注册为服务。如果 opkg 可用更佳。

Cortex-A53: mosquitto-nossl_2.0.15-1_aarch64_cortex-a53.ipk

更多: https://mirrors.aliyun.com/openwrt/releases/22.03-SNAPSHOT/packages/

创建配置文件:

/etc/mosquitto.conf:
  1. # log_dest file /tmp/log/mosquitto.log
  2. user root
  3. bind_address 0.0.0.0
  4. allow_anonymous true
复制代码

/etc/init.d/mosquitto-2:
  1. #!/bin/sh /etc/rc.common

  2. START=50

  3. start() {
  4.     /data/cz/bin/mosquitto-2 -c /etc/mosquitto.conf -d
  5.     return 0
  6. }
复制代码

2.2 定时采样

创建 cron job 实现定时采样,可结合 sleep 实现分钟内采样。
  1. * * * * * ubus -S call trafficd hw '{"debug": true}' | mosquitto_pub -t 'home/router-stat' -q 2 -i client_pub -l -D publish user-property timestamp $(date +%s) >/dev/null 2>&1
复制代码

2.3 编写程序解析数据并入库

使用 Python 编写 MQTT 消费者程序,解析数据并写入数据库。如果是 Windows 可以使用 nssm 将其注册为服务

配置在 config.py 中,表的结构在 data.py 中。


2.4 安装 Grafana 并创建监控面板

有了数据就可以用 Grafana 自由的创建监控面板了~

比如创建一个 Time series 面板来查看上传下载总速度:
  1. select sum(rx_rate) as rx_rate, sum(tx_rate) as tx_rate, unix_timestamp(timestamp) as time from home.router_stat where $__timeFilter(timestamp) group by timestamp
复制代码

Screenshot:








本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 2恩山币 +2 收起 理由
derhsien + 1 一看就是觉得高端、大气、上档次!.
keke1023 + 1 有才

查看全部评分

发表于 2023-6-27 12:48 | 显示全部楼层
強,必需給詵
回复 支持 反对

使用道具 举报

发表于 2023-7-19 17:19 | 显示全部楼层
大哥nb
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-7-7 19:58

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表