京东云无线宝监工

JDC-Monitor 支持收益汇总信息定时推送、 IP 、 CPU 占用、内存使用率、上传下载速度等信息实时监控

简介

本项目使用 Golang 开发,用到时序数据库 influxdb 、可视化工具 grafana 对京东云无线宝矿机信息进行可视化,并支持每天定时推送积分信息至微信。

目前支持采集的数据有:IP 地址、 CPU 占用、内存使用率、 ROM 信息、上传下载速度、在线时长。数据采集为 1 分钟 1 次,可自行在代码中调整,数据采集走的是京东云无线宝 app 的接口,建议采集频率不要太高。

更新日志

2022.04.24

1 、新增 Grafana 模板 (需要替换 MACADDR-1 、 MACADDR-2 、 MACADDR-3 为自己的京东云 MAC 地址)

2022.02.15

1 、升级依赖库版本

2 、修改项目名, 添加 logo

2021.07.23

1 、修复了多用户多协程读写 map 导致程序 panic 的 bug

2 、新增获取路由器离线信息,并且离线之后不再采集数据的功能

3 、新增自动重启功能,每日定时检测每台设备收益,当收益低于设定的阈值即重启路由器 (使用该功能需要使用京东云无线宝作为一级路由器拨号)

2021.04.07

1 、修复了一台路由器离线导致其他设备无法采集数据的 bug

部署

准备工作

1 、部署企业微信推送,参考 https://github.com/myleo1/wechat-work-pusher

如果不使用企业微信推送也可使用 server 酱等第三方推送服务,需自己改动/service/wechat/wechat.go 中的推送代码

2 、部署 influxdb 及 grafana,建议使用 docker 部署,具体部署方法请使用搜索引擎搜索

3 、部署好 influx 后建一个库,并记住库名,后面要用

config.json 配置

1 、修改 project.dir 为项目目录

2 、填写 influxdb 相关信息

3 、使用 charles 或其他抓包工具如 HttpCanary(手机端) 抓取数据包 https://gw.smart.jd.com/f/service/xxxxxxxxx 开头的,请求头 (request header) 中的 tgt 、 pin 参数

如果不会抓包,安卓手机有 root 权限的可以用 ES 文件管理等进入打开"/data/data/com.jdcloud.mt.smartrouter/shared_prefs/jdc_mt_secured_store.xml"文件,找到"loginpin 和 wskey"的值即可。

4 、 config 中的 user 为接收推送信息的微信号,如使用其他推送方式请自行修改

5 、 getZXQC 为是否获取坐享其成打卡天数信息,由于有些设备不是坐享其成机型,可自行关闭

6 、 collect 为是否采集路由器信息,如果只需要积分推送,那么不需要部署 influx 和 grafana,只需要部署好企业微信推送服务并且关闭 collect

7 、 reboot 为自动重启路由器的收益阈值,当收益低于这个阈值时,自动重启路由器,不填写或者填写 0 为关闭自动重启功能

8 、 wechat.api 为微信推送的 api 地址,wechat.token 请参考 https://github.com/myleo1/wechat-work-pusher

Grafana 配置

TODO

效果展示

grafana 可视化展示

image

积分推送展示

image

TODO

1 、一键部署

2 、开发可视化前端 (云监工 web 应用)

3 、修改抓包登陆,直接手机验证码登陆

[download file='' size=''] 点我下载[/download]

THE END