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.4.1 to 2.5.0

3

app.js
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": [

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