注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

星期五

明天不上班

 
 
 

日志

 
 
关于我

一个特立独行的Java程序员,比较宅,上上网,写博客,听音乐,看电影。

网易考拉推荐

NodeJS+WebSocket+FusionWeights(2)  

2011-06-27 21:40:24|  分类: Nodejs |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

根据上篇文章的原理,改用TOP命令完成对CPU的实时监控:(每3秒采样一次,500个采样点,如下图)

  NodeJS+WebSocket+FusionWeights(2) - zhenghaoju700 - zhenghaoju700 的博客
  NodeJS+WebSocket+FusionWeights(2) - zhenghaoju700 - zhenghaoju700 的博客

但是我们有时需要存储历史数据

所以这次我在这个小应用中加入了mongoDB,用于存储时间和top输出。

1.在NodeJS中使用mongoDB,首先使用npm install mongodb 下载mongodb模块

写法:如下图(来自参考资料)

  NodeJS+WebSocket+FusionWeights(2) - zhenghaoju700 - zhenghaoju700 的博客

测试代码:

var mongo = require("mongodb"); //引入模块

var iostat = spawn("top",["-bcisSH"]);

var db = new mongo.Db("myDB",new mongo.Server('localhost',27017,{}),{});

db.open(function(){
        db.collection("monitorData",function(err,collection){
                iostat.stdout.on('data',function(data) {
                        mdata = {"time":new Date(),"data":data};
                        collection.insert(mdata,function(){
                        });
                });
        });
});

查询mongoDB

hjzheng@ubuntu:~/app/mongodb-linux-x86_64-1.6.4/bin$ ./mongo
MongoDB shell version: 1.6.4
connecting to: test
> show dbs
admin
local
myDB
> use myDB
switched to db myDB
> show collections
monitorData
system.indexes
> db.monitorData.find()

{ "time" : "Tue Jun 28 2011 19:52:43 GMT+0800 (CST)", "data" : { ... ... } }

... ... ... ...

参考资料 :http://www.slideshare.net/ggoodale/getting-started-with-mongodb-and-nodejs

                   http://www.zhoumingzhi.com/2011/01/13/nodejs%E5%92%8Cmongodb%E5%88%9D%E4%BD%93%E9%AA%8C/

  评论这张
 
阅读(386)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017