pm2-server-monit
Advanced tools
Comparing version 2.4.1 to 2.5.0
var pmx = require('pmx'); | ||
var shelljs = require('shelljs'); | ||
var fs = require('fs'); | ||
@@ -48,3 +47,3 @@ var path = require('path'); | ||
drive.init(conf); | ||
users.init(); | ||
users.init(conf); | ||
lsof.init(conf); | ||
@@ -51,0 +50,0 @@ mem.init(conf); |
var pmx = require('pmx'); | ||
var shelljs = require('shelljs'); | ||
var cp = require('child_process'); | ||
@@ -7,3 +7,3 @@ function initActions() { | ||
pmx.action('top cpu consuming', function(reply) { | ||
var top_cpu_process = shelljs.exec('ps -eo pcpu,user,args --no-headers | sort -k 1 -n | tail -n 10 | sort -k 1 -nr | cut -c 1-70', { async : true, silent:true}, function(err, out) { | ||
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 result = out.replace(/\n/g, "<br />"); | ||
@@ -16,3 +16,3 @@ return reply(result); | ||
pmx.action('top mem consuming', function(reply) { | ||
var top_mem_process = shelljs.exec('ps -eo pmem,pid,cmd | sort -k 1 -n | tail -n 10 | sort -k 1 -nr | cut -c 1-70', { async : true, silent:true}, function(err, out) { | ||
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 result = out.replace(/\n/g, "<br />"); | ||
@@ -25,3 +25,3 @@ return reply(result); | ||
pmx.action('vmstats', function(reply) { | ||
var vmstats = shelljs.exec('vmstat -S m', { async : true, silent:true}, function(err, out) { | ||
var vmstats = cp.exec('vmstat -S m', { shell: true }, 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 = shelljs.exec('ps hax -o user | sort | uniq -c', { async : true, silent:true}, function(err, out) { | ||
var proc_users = cp.exec('ps hax -o user | sort | uniq -c', { shell: true }, 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 = shelljs.exec('df -h', { async : true, silent:true}, function(err, out) { | ||
var disk_usage = cp.exec('df -h', { shell: true }, function(err, out) { | ||
var result = out.replace(/\n/g, "<br />"); | ||
@@ -51,3 +51,3 @@ return reply(result); | ||
pmx.action('who', function(reply) { | ||
var who = shelljs.exec('who', { async : true, silent:true}, function(err, out) { | ||
var who = cp.exec('who', { shell: true }, function(err, out) { | ||
var result = out.replace(/\n/g, "<br />"); | ||
@@ -59,3 +59,3 @@ return reply(result); | ||
pmx.action('uptime', function(reply) { | ||
var uptime = shelljs.exec('uptime', { async : true, silent:true}, function(err, out) { | ||
var uptime = cp.exec('uptime', { shell: true }, 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 = shelljs.exec('lsof -Pni4 | grep ESTABLISHED', { async : true, silent : true }, function(err, out) { | ||
var open_ports = cp.exec('lsof -Pni4 | grep ESTABLISHED', { shell: true }, 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 = shelljs.exec('ifconfig', { async : true, silent : true }, function(err, out) { | ||
var open_ports = cp.exec('ifconfig', { shell: true }, function(err, out) { | ||
var result = out.replace(/\n/g, "<br />"); | ||
@@ -83,2 +83,2 @@ return reply(result); | ||
module.exports.initActions = initActions; | ||
module.exports.initActions = initActions; |
var pmx = require('pmx'); | ||
var shelljs = require('shelljs'); | ||
var cp = require('child_process'); | ||
@@ -10,3 +10,3 @@ var probe = pmx.probe(); | ||
function refreshMetrics(conf) { | ||
shelljs.exec('df -kP', { async : true, silent : true }, function(err, out) { | ||
cp.exec('df -kP', { shell: true }, function(err, out) { | ||
@@ -13,0 +13,0 @@ if (err || !out || (typeof(out) === 'undefined')) { |
var pmx = require('pmx'); | ||
var shelljs = require('shelljs'); | ||
var os = require('os'); | ||
var cp = require('child_process'); | ||
@@ -10,3 +10,3 @@ var Probe = pmx.probe(); | ||
var usedMemProc = shelljs.exec('cat /proc/meminfo | head -5', { async : true, silent:true}, function(err, out) { | ||
cp.exec('cat /proc/meminfo | head -5', { shell:true }, function(err, out) { | ||
var total_mem; | ||
@@ -17,2 +17,7 @@ var free_mem; | ||
free_mem = os.freemem() / 1024; | ||
if (os.platform() == 'darwin') { | ||
var mem = darwinMem.memory(); | ||
total_mem = mem.total; | ||
free_mem = mem.total - mem.used; | ||
} | ||
} else { | ||
@@ -34,2 +39,45 @@ var result_memory = (out.match(/\d+/g)); | ||
var darwinMem = { | ||
PAGE_SIZE: 4096, | ||
physicalMemory: function() { | ||
var res = cp.execSync('sysctl hw.memsize').toString() | ||
res = res.trim().split(' ')[1] | ||
return parseInt(res) | ||
}, | ||
vmStats: function() { | ||
var mappings = { | ||
'Anonymous pages' : 'app', | ||
'Pages wired down' : 'wired', | ||
'Pages active' : 'active', | ||
'Pages inactive' : 'inactive', | ||
'Pages occupied by compressor' : 'compressed' | ||
} | ||
var ret = {} | ||
var res = cp.execSync('vm_stat').toString() | ||
var lines = res.split('\n') | ||
lines = lines.filter(x => x !== '') | ||
lines.forEach(x => { | ||
var parts = x.split(':') | ||
var key = parts[0] | ||
var val = parts[1].replace('.', '').trim() | ||
if (mappings[key]) { | ||
var k = mappings[key] | ||
ret[k] = val * darwinMem.PAGE_SIZE | ||
} | ||
}) | ||
return ret | ||
}, | ||
memory: function() { | ||
var total = darwinMem.physicalMemory() | ||
var stats = darwinMem.vmStats() | ||
// This appears to be contested | ||
// not clear what apple is using for "Memory Used" in app | ||
var used = (stats.wired + stats.active + stats.inactive) | ||
return { used: used, total: total } | ||
} | ||
} | ||
function initMetrics() { | ||
@@ -36,0 +84,0 @@ metrics.freeMem = Probe.metric({ |
var pmx = require('pmx'); | ||
var probe = pmx.probe(); | ||
var shelljs = require('shelljs'); | ||
var os = require('os') | ||
var os = require('os'); | ||
var cp = require('child_process'); | ||
@@ -10,3 +10,3 @@ var metrics = {}; | ||
function refreshIp(interval) { | ||
shelljs.exec('ip -s link', { async : true, silent : true }, function(err, out) { | ||
cp.exec('ip -s link', { shell: true }, function(err, out) { | ||
if (err) { | ||
@@ -81,3 +81,3 @@ refreshIfconfig(interval) | ||
shelljs.exec('ifconfig', { async : true, silent : true }, function(err, out) { | ||
cp.exec('ifconfig', { shell: true }, function(err, out) { | ||
if (err) { | ||
@@ -84,0 +84,0 @@ metrics.total.input.set('❌'); |
var pmx = require('pmx'); | ||
var shelljs = require('shelljs'); | ||
var fs = require('fs'); | ||
@@ -4,0 +3,0 @@ |
var pmx = require('pmx'); | ||
var shelljs = require('shelljs'); | ||
var domain = require('domain'); | ||
var fs = require('fs') | ||
var fs = require('fs'); | ||
var cp = require('child_process'); | ||
@@ -41,3 +41,3 @@ var d = domain.create(); | ||
} else if (process.platform == 'darwin') { | ||
shelljs.exec("sw_vers", { async : true, silent:true}, function(err, out) { | ||
cp.exec("sw_vers", { shell: true }, function(err, out) { | ||
if (err) throw err; | ||
@@ -50,3 +50,3 @@ var version = out.match(/[\n\r].*ProductVersion:\s*([^\n\r]*)/)[1]; | ||
} else { | ||
shelljs.exec("uname -sr", { async: true, silent: true}, function(err, out) { | ||
cp.exec("uname -sr", { shell: true }, function(err, out) { | ||
if (!err && out != '') { | ||
@@ -53,0 +53,0 @@ metrics.osRunning.set(out); |
var pmx = require('pmx'); | ||
var shelljs = require('shelljs'); | ||
var os = require('os'); | ||
var cp = require('child_process'); | ||
@@ -8,4 +9,10 @@ var metrics = {}; | ||
function refreshMetrics() { | ||
var allProc = shelljs.exec("top -bn1 | awk 'NR > 7 && $8 ~ /R|S|D|T/ { print $12 }'", { async : true, silent:true}, function(err, out) { | ||
cp.exec("top -bn1 | awk 'NR > 7 && $8 ~ /R|S|D|T/ { print $12 }'", { shell: true }, function(err, out) { | ||
if (err || !out) { | ||
if (os.platform() == 'darwin') { | ||
var nb = cp.execSync('ps -A').toString() | ||
nb = nb.split('\n') | ||
metrics.procRunning.set(nb.length - 1); | ||
return; | ||
} | ||
metrics.procRunning.set('❌'); | ||
@@ -18,4 +25,4 @@ return; | ||
var zombieProc = shelljs.exec("top -bn1 | awk 'NR > 7 && $8 ~ /Z/ { print $12 }'", { async : true, silent:true}, function(err, out) { | ||
if (err) { | ||
cp.exec("top -bn1 | awk 'NR > 7 && $8 ~ /Z/ { print $12 }'", { shell: true }, function(err, out, stderr) { | ||
if (err || stderr) { | ||
metrics.procZombie.set('❌'); | ||
@@ -22,0 +29,0 @@ return; |
var pmx = require('pmx'); | ||
var shelljs = require('shelljs'); | ||
var child_process = require('child_process') | ||
var Probe = pmx.probe(); | ||
var metrics = {}; | ||
var REFRESH_INTERVAL = 10000; | ||
@@ -11,8 +10,7 @@ | ||
var usedMemProc = shelljs.exec('who | grep -v localhost | wc -l', { async : true, silent:true}, function(err, out) { | ||
if (err) { | ||
return pmx.notify('Fail: could not retrieve user metrics', err); | ||
var usedMemProc = child_process.exec('who | grep -v localhost | wc -l', { shell: true }, function(err, stdout, stderr) { | ||
if (err || stderr) { | ||
metrics.usersConnected.set('❌'); | ||
} | ||
var users_connected = out; | ||
metrics.usersConnected.set(users_connected); | ||
metrics.usersConnected.set(stdout); | ||
}); | ||
@@ -33,9 +31,9 @@ } | ||
function init() { | ||
function init(conf) { | ||
initMetrics(); | ||
refreshMetrics(); | ||
setInterval(refreshMetrics.bind(this), REFRESH_INTERVAL); | ||
setInterval(refreshMetrics, conf.small_interval * 1000); | ||
} | ||
module.exports.init = init; |
{ | ||
"name": "pm2-server-monit", | ||
"version": "2.4.1", | ||
"version": "2.5.0", | ||
"description": "Rack to monitor a server", | ||
@@ -17,4 +17,3 @@ "repository": { | ||
"dependencies": { | ||
"pmx": "latest", | ||
"shelljs": "*" | ||
"pmx": "latest" | ||
}, | ||
@@ -21,0 +20,0 @@ "apps": [ |
Floating dependency
QualityPackage has a dependency with a floating version range. This can cause issues if the dependency publishes a new major version.
Found 1 instance in 1 package
115053
1
862
1
9
- Removedshelljs@*
- Removedbalanced-match@1.0.2(transitive)
- Removedbrace-expansion@1.1.11(transitive)
- Removedconcat-map@0.0.1(transitive)
- Removedfs.realpath@1.0.0(transitive)
- Removedfunction-bind@1.1.2(transitive)
- Removedglob@7.2.3(transitive)
- Removedhasown@2.0.2(transitive)
- Removedinflight@1.0.6(transitive)
- Removedinherits@2.0.4(transitive)
- Removedinterpret@1.4.0(transitive)
- Removedis-core-module@2.13.1(transitive)
- Removedminimatch@3.1.2(transitive)
- Removedonce@1.4.0(transitive)
- Removedpath-is-absolute@1.0.1(transitive)
- Removedpath-parse@1.0.7(transitive)
- Removedrechoir@0.6.2(transitive)
- Removedresolve@1.22.8(transitive)
- Removedshelljs@0.8.5(transitive)
- Removedsupports-preserve-symlinks-flag@1.0.0(transitive)
- Removedwrappy@1.0.2(transitive)