序
influxdb+grafana 监控CPU使用情况
需求
想看看玩minecraft的时候电脑CPU和服务器CPU使用率的曲线到底是什么样的, 怎么这么卡
很早以前便听说过influxdb时序数据库, grafana仪表盘,最近玩MC的时候电脑风扇似乎很累,牛羊稍微养多一点就开始卡服了,一直开着glances看cpu使用似乎不是很靠谱,并且只能看最近很短一段时间内的,而且是均值,所以决定动手做一个监控
当我怀揣着想法上网搜解决方案的时候,发现我能想到的别人早就想到了 :) (这一条果然是永恒的真理) 很多用这两个组合显示数据的例子
不过自己动手,丰衣足食,最后我还是花了一个多小时把这个demo弄出来了
效果如图(效果图不是玩MC的时候截的)
绿色是笔记本,黄色是服务器 :)
需要的环境
- influxdb
- grafana
- docker
使用方法
- 存数据库的服务器上
1
docker-compose up -d
-
需要监控的服务器上
1 2
pip3 install -r requirements.txt python3 main.py
为了方便部署,把封装的文件合成了一个文件,小脚本还是怎么方便怎么来 :) 下面这个脚本更方便一点
1
python3 get-usage-and-upload.py
-
grafana默认账户密码admin admin, 登录进去鼠标点点点点点点点设定data source
- 添加折线图设定一番即可
缺点
本来就带不动游戏了,现在还需要带influxdb和grafana, 可行的解决方案是把这俩货放在其他服务器上,把clinet丢到mc服上面。
跋
开源万岁,感谢这些开源项目的作者。
需求是第一生产力?
代码见github, 仓库地址 https://github.com/IanSmith123/cpu-monitor
话说以前福星老师让我做这个的时候咋个那么久都没弄出来,说到底还是太菜了
Les1ie
2018年9月29日20:16:25
refer:
-
https://github.com/influxdata/influxdb-python
-
https://github.com/nicolargo/docker-influxdb-grafana/blob/master/docker-compose.yml