js gurus,
我正在创建我的第一个node.js服务器/客户端报告应用。它通过其他API收集数据以保持我使用的Web服务的脉搏,如CloudFlare.com,UptimeRobot.com等。此外(我需要帮助的地方),我想将我的本地报告node.js服务器连接到我的生产node.js服务器,它将按时间间隔报告CPU负载和可用内存。
从生产服务器开始,这是我到目前为止所拥有的:
(function(){
var status = {load: 0.9, usedMem: 0.5}; //contians this machine's memory usage and average CPU loads, just some basic values here to get things started, no assistance needed with getting those values
///////////////////////////////////
//socket server
///////////////////////////////////
var app = require('express')()
, server = require('http').createServer(app)
, io = require('socket.io').listen(server);
server.listen(3000);
io.sockets.on('connection', function (socket) {
socket.emit('status', status); //NOT SO FAST! I need to authenticate before giving away this stuff!!!
});
})();
这里是'客户端'(虽然客户端将是服务器,它收集并将此数据和其他数据传送到实际的浏览器客户端):
(function(){
var socket = io.connect('http://localhost:3000'); //too easy, right?
socket.on('status', function (data) {
console.log(data);
});
})();
在生产环境中实际使用它会让我感到害怕。关于如何“简单地”收紧这个问题的任何想法?在大多数情况下,只有一台其他机器将/应该有权访问生产服务器的node.js服务器。但是,我可能需要为少数人设置访问权限才能最终访问报告服务器。
提前感谢您提供任何提示和指示。我真的很感激。