我想编写一个应用程序,用于从Linux机器上绘制各种数据(cpu,ram,disk等)。
在客户端:
数据将通过python script
收集并保存到database
(在远程服务器上),例如:在每一秒中,在mongodb
集合中创建一个条目,其中包含:会话标识符,使用的cpu ,ram,iops及其价值观。这些数据将在几个小时的会话中写入(每个会话约25K-50K条目)
在服务器端:
数据将在'session'
被识别,绘制并保存到cpu graph png/ram graph png
等时进行处理。此外,它将写入mongodb
标识中的单独集合,用于收集和显示此数据在网页中。该页面可以在远程计算机上启动客户端。
这种方法是否最佳?是否有更好但更简单的方法来存储数据?我是否可以构建页面并动态显示会话以用于缩放。 mongo能够存储/保存数亿个这样的条目吗?
我在考虑在服务器和mongodb上使用angular + nodejs
或angular + flask
。我不知道烧瓶或节点,这将更容易用于创建一个简单的REST。
我的技能水平:python高级,javascript / html / css中,angularjs 1初学者。
答案 0 :(得分:0)
我没有看到你的方法有问题,只是因为你有实时数据,我鼓励你采用某种WebSockets方法,比如Node上的Socket.io和前端。我说这是因为替代方法是长轮询,在服务器和客户端之间来回传递大量HTTP流量,这是性能瓶颈。
Angular非常适用于此,因为双向数据绑定,您无需手动更新前端的模型数据。
有很多图表框架和库,如D3.js和HighCharts,可以插入前端来绘制数据图表,根据自己的喜好使用它。