京东云无线宝监工
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 可视化展示
积分推送展示
TODO
1 、一键部署
2 、开发可视化前端 (云监工 web 应用)
3 、修改抓包登陆,直接手机验证码登陆
[download file='' size=''] 点我下载[/download]