pm2/lib/HttpInterface.js
Alexandre Strzelewicz 3f4262ce9d 0.0.999
2013-05-23 15:44:38 +08:00

49 lines
1.1 KiB
JavaScript

try {
var express = require('express');
}
catch (e) {
console.error('[GOD] In order to use the web interface, Install express');
process.exit(1);
}
var http = require('http');
var os = require('os');
var Satan = require('./Satan');
var app = express();
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.errorHandler());
app.use(express.logger('dev'));
app.get('/', function(req, res) {
var json = [];
Satan.executeRemote('list', {}, function(err, data_proc) {
// Computer API point
var data = {
processes: data_proc,
system_info: { hostname: os.hostname(),
uptime: os.uptime()
},
monit: { loadavg: os.loadavg(),
total_mem: os.totalmem(),
free_mem: os.freemem(),
cpu: os.cpus(),
interfaces: os.networkInterfaces()
}
};
return res.send(data);
});
});
var server = http.createServer(app);
server.listen(4000, function() {
console.log("Web server enabled on port 4000");
});