Socket
Socket
Sign inDemoInstall

pm2-server-monit

Package Overview
Dependencies
342
Maintainers
3
Versions
31
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 2.5.1 to 2.5.2

.drone.yml

20

lib/actions.js
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');
});
});
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc