pm2-server-monit
Advanced tools
Comparing version 2.5.1 to 2.5.2
var pmx = require('pmx'); | ||
var cp = require('child_process'); | ||
var exec = require('./exec.js'); | ||
@@ -7,3 +7,3 @@ function initActions() { | ||
pmx.action('top cpu consuming', function(reply) { | ||
var top_cpu_process = cp.exec('ps -eo pcpu,user,args --no-headers | sort -k 1 -n | tail -n 10 | sort -k 1 -nr | cut -c 1-70', { shell: true }, function(err, out) { | ||
var top_cpu_process = exec('ps -eo pcpu,user,args --no-headers | sort -k 1 -n | tail -n 10 | sort -k 1 -nr | cut -c 1-70', function(err, out) { | ||
var result = out.replace(/\n/g, "<br />"); | ||
@@ -16,3 +16,3 @@ return reply(result); | ||
pmx.action('top mem consuming', function(reply) { | ||
var top_mem_process = cp.exec('ps -eo pmem,pid,cmd | sort -k 1 -n | tail -n 10 | sort -k 1 -nr | cut -c 1-70', { shell: true }, function(err, out) { | ||
var top_mem_process = exec('ps -eo pmem,pid,cmd | sort -k 1 -n | tail -n 10 | sort -k 1 -nr | cut -c 1-70', function(err, out) { | ||
var result = out.replace(/\n/g, "<br />"); | ||
@@ -25,3 +25,3 @@ return reply(result); | ||
pmx.action('vmstats', function(reply) { | ||
var vmstats = cp.exec('vmstat -S m', { shell: true }, function(err, out) { | ||
var vmstats = exec('vmstat -S m', function(err, out) { | ||
var result = out.replace(/\n/g, "<br />"); | ||
@@ -35,3 +35,3 @@ return reply(result); | ||
pmx.action('processes/users', function(reply) { | ||
var proc_users = cp.exec('ps hax -o user | sort | uniq -c', { shell: true }, function(err, out) { | ||
var proc_users = exec('ps hax -o user | sort | uniq -c', function(err, out) { | ||
var result = out.replace(/\n/g, "<br />"); | ||
@@ -43,3 +43,3 @@ return reply(result); | ||
pmx.action('disk usage', function(reply) { | ||
var disk_usage = cp.exec('df -h', { shell: true }, function(err, out) { | ||
var disk_usage = exec('df -h', function(err, out) { | ||
var result = out.replace(/\n/g, "<br />"); | ||
@@ -51,3 +51,3 @@ return reply(result); | ||
pmx.action('who', function(reply) { | ||
var who = cp.exec('who', { shell: true }, function(err, out) { | ||
var who = exec('who', function(err, out) { | ||
var result = out.replace(/\n/g, "<br />"); | ||
@@ -59,3 +59,3 @@ return reply(result); | ||
pmx.action('uptime', function(reply) { | ||
var uptime = cp.exec('uptime', { shell: true }, function(err, out) { | ||
var uptime = exec('uptime', function(err, out) { | ||
var result = out.replace(/\n/g, "<br />"); | ||
@@ -67,3 +67,3 @@ return reply(result); | ||
pmx.action('open ports', function(reply) { | ||
var open_ports = cp.exec('lsof -Pni4 | grep ESTABLISHED', { shell: true }, function(err, out) { | ||
var open_ports = exec('lsof -Pni4 | grep ESTABLISHED', function(err, out) { | ||
var result = out.replace(/\n/g, "<br />"); | ||
@@ -75,3 +75,3 @@ return reply(result); | ||
pmx.action('ifconfig', function(reply) { | ||
var open_ports = cp.exec('ifconfig', { shell: true }, function(err, out) { | ||
var open_ports = exec('ifconfig', function(err, out) { | ||
var result = out.replace(/\n/g, "<br />"); | ||
@@ -78,0 +78,0 @@ return reply(result); |
var pmx = require('pmx'); | ||
var cp = require('child_process'); | ||
var exec = require('./exec.js'); | ||
@@ -10,3 +10,3 @@ var probe = pmx.probe(); | ||
function refreshMetrics(conf) { | ||
cp.exec('df -kP', { shell: true }, function(err, out) { | ||
exec('df -kP', function(err, out) { | ||
@@ -32,5 +32,5 @@ if (err || !out || (typeof(out) === 'undefined')) { | ||
if (typeof(main) === 'undefined') | ||
return console.error('disk name invalid and / not found'); | ||
return console.error('disk name invalid and / not found'); | ||
else { | ||
console.log('disk name invalid, using / as default'); | ||
console.error('disk name invalid, using / as default'); | ||
disk_info = main; | ||
@@ -37,0 +37,0 @@ } |
@@ -1,4 +0,5 @@ | ||
var pmx = require('pmx'); | ||
var pmx = require('pmx'); | ||
var os = require('os'); | ||
var cp = require('child_process'); | ||
var exec = require('./exec.js'); | ||
@@ -10,3 +11,3 @@ var Probe = pmx.probe(); | ||
cp.exec('cat /proc/meminfo | head -5', { shell:true }, function(err, out) { | ||
exec('cat /proc/meminfo | head -5', function(err, out) { | ||
var total_mem; | ||
@@ -58,5 +59,7 @@ var free_mem; | ||
var lines = res.split('\n') | ||
lines = lines.filter(x => x !== '') | ||
lines = lines.filter(function (x) { | ||
return x !== '' | ||
}); | ||
lines.forEach(x => { | ||
lines.forEach(function (x) { | ||
var parts = x.split(':') | ||
@@ -78,3 +81,3 @@ var key = parts[0] | ||
var used = (stats.wired + stats.active + stats.inactive) | ||
return { used: used, total: total } | ||
return { used: used/1024, total: total/1024 } | ||
} | ||
@@ -81,0 +84,0 @@ } |
var pmx = require('pmx'); | ||
var probe = pmx.probe(); | ||
var os = require('os'); | ||
var cp = require('child_process'); | ||
var exec = require('./exec.js'); | ||
@@ -10,3 +10,3 @@ var metrics = {}; | ||
function refreshIp(interval) { | ||
cp.exec('ip -s link', { shell: true }, function(err, out) { | ||
exec('ip -s link', function(err, out) { | ||
if (err) { | ||
@@ -81,3 +81,3 @@ refreshIfconfig(interval) | ||
cp.exec('ifconfig', { shell: true }, function(err, out) { | ||
exec('ifconfig', function(err, out) { | ||
if (err) { | ||
@@ -84,0 +84,0 @@ metrics.total.input.set('❌'); |
var pmx = require('pmx'); | ||
var domain = require('domain'); | ||
var fs = require('fs'); | ||
var cp = require('child_process'); | ||
var exec = require('./exec.js'); | ||
var d = domain.create(); | ||
var Probe = pmx.probe(); | ||
@@ -43,3 +41,3 @@ var metrics = {}; | ||
} else if (process.platform == 'darwin') { | ||
cp.exec("sw_vers", { shell: true }, function(err, out) { | ||
exec("sw_vers", function(err, out) { | ||
if (err) { | ||
@@ -59,3 +57,3 @@ return checkLastResort(); | ||
function checkLastResort() { | ||
cp.exec("uname -sr", { shell: true }, function(err, out) { | ||
exec("uname -sr", function(err, out) { | ||
if (!err && out != '') { | ||
@@ -62,0 +60,0 @@ metrics.osRunning.set(out); |
var pmx = require('pmx'); | ||
var os = require('os'); | ||
var cp = require('child_process'); | ||
var exec = require('./exec.js'); | ||
@@ -9,3 +9,3 @@ var metrics = {}; | ||
function refreshMetrics() { | ||
cp.exec("top -bn1 | awk 'NR > 7 && $8 ~ /R|S|D|T/ { print $12 }'", { shell: true }, function(err, out) { | ||
exec("top -bn1 | awk 'NR > 7 && $8 ~ /R|S|D|T/ { print $12 }'", function(err, out) { | ||
if (err || !out) { | ||
@@ -25,3 +25,3 @@ if (os.platform() == 'darwin') { | ||
cp.exec("top -bn1 | awk 'NR > 7 && $8 ~ /Z/ { print $12 }'", { shell: true }, function(err, out, stderr) { | ||
exec("top -bn1 | awk 'NR > 7 && $8 ~ /Z/ { print $12 }'", function(err, out, stderr) { | ||
if (err || stderr) { | ||
@@ -28,0 +28,0 @@ metrics.procZombie.set('❌'); |
var pmx = require('pmx'); | ||
var child_process = require('child_process') | ||
var exec = require('./exec.js'); | ||
@@ -10,3 +10,3 @@ var Probe = pmx.probe(); | ||
var usedMemProc = child_process.exec('who | grep -v localhost | wc -l', { shell: true }, function(err, stdout, stderr) { | ||
var usedMemProc = exec('who | grep -v localhost | wc -l', function(err, stdout, stderr) { | ||
if (err || stderr) { | ||
@@ -13,0 +13,0 @@ metrics.usersConnected.set('❌'); |
{ | ||
"name": "pm2-server-monit", | ||
"version": "2.5.1", | ||
"version": "2.5.2", | ||
"description": "Rack to monitor a server", | ||
@@ -14,3 +14,4 @@ "repository": { | ||
"scripts": { | ||
"start": "node app" | ||
"start": "node app", | ||
"test": "./node_modules/.bin/mocha test" | ||
}, | ||
@@ -17,0 +18,0 @@ "dependencies": { |
@@ -9,2 +9,6 @@ var assert = require('assert'); | ||
var config = { | ||
small_interval: 60 | ||
} | ||
describe('drive', function() { | ||
@@ -35,38 +39,21 @@ after(function() { | ||
return { | ||
metric: function(opt) { | ||
opts.push(opt); | ||
if (opts.length === 1) { | ||
assert.equal(opt.value(), "26.9%", "Available"); | ||
} else if (opts.length === 2) { | ||
assert.equal(opt.value(), "23.7GB / 34.9GB", "Size"); | ||
return done(); | ||
metric: function() { | ||
return { | ||
set: function(opt) { | ||
opts.push(opt); | ||
if (opts.length === 1) { | ||
assert.equal(opt, "26.9%", "Available"); | ||
} else if (opts.length == 2) { | ||
assert.equal(opt, "23.7GB / 34.9GB", "Size"); | ||
return done(); | ||
} | ||
} | ||
} | ||
} | ||
}, | ||
}; | ||
}; | ||
require('../lib/drive'); | ||
require('../lib/drive').init(config); | ||
}); | ||
it('notifies when disk is almost full', function(done) { | ||
childProcess.exec = function(cmd, opt, callback) { | ||
//jshint multistr:true | ||
var stdout = "\ | ||
Filesystem 1K-blocks Used Available Use% Mounted on\n\ | ||
/dev 36580952 33288666 3292286 91% /\n\ | ||
tmpfs 6096496 0 6096496 0% /dev/shm\n\ | ||
/dev/boot 487652 151545 310507 33% /boot\n\ | ||
"; | ||
callback(null, stdout); | ||
}; | ||
var opts = []; | ||
pmx.notify = function(err) { | ||
assert.equal(err.message, "/dev Disk almost full", "Notification"); | ||
return done(); | ||
}; | ||
require('../lib/drive'); | ||
}); | ||
it('returns disk size when Filesystem splits line', function(done) { | ||
@@ -89,8 +76,12 @@ childProcess.exec = function(cmd, opt, callback) { | ||
metric: function(opt) { | ||
opts.push(opt); | ||
if (opts.length === 1) { | ||
assert.equal(opt.value(), "26.9%", "Available"); | ||
} else if (opts.length === 2) { | ||
assert.equal(opt.value(), "23.7GB / 34.9GB", "Size"); | ||
return done(); | ||
return { | ||
set: function(opt) { | ||
opts.push(opt); | ||
if (opts.length === 1) { | ||
assert.equal(opt, "26.9%", "Available"); | ||
} else if (opts.length == 2) { | ||
assert.equal(opt, "23.7GB / 34.9GB", "Size"); | ||
return done(); | ||
} | ||
} | ||
} | ||
@@ -101,27 +92,5 @@ } | ||
require('../lib/drive'); | ||
require('../lib/drive').init(config); | ||
}); | ||
it('notifies when long disk is almost full', function(done) { | ||
childProcess.exec = function(cmd, opt, callback) { | ||
//jshint multistr:true | ||
var stdout = "\ | ||
Filesystem 1K-blocks Used Available Use% Mounted on\n\ | ||
/share/dev/ssd-superdrive\n\ | ||
36580952 33288666 3292286 91% /\n\ | ||
tmpfs 6096496 0 6096496 0% /dev/shm\n\ | ||
/dev/boot 487652 151545 310507 33% /boot\n\ | ||
"; | ||
callback(null, stdout); | ||
}; | ||
var opts = []; | ||
pmx.notify = function(err) { | ||
assert.equal(err.message, "/share/dev/ssd-superdrive Disk almost full", "Notification"); | ||
return done(); | ||
}; | ||
require('../lib/drive'); | ||
}); | ||
}); |
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
117986
19
998
4
5