Nimo
Nimo the Deamon! Nimo is a server monitoring tool. It periodically polls the system and posts stats on server performance to a server monitoring application
Install
Nimo is a node js package. It only requires node to be installed with its package manager npm (which is included by default)
1. install node
You need to install node on the server you wish to monitor. For debian follow the instructions here: https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager Otherwise: http://nodejs.org/download/
2. Install
Install Nimo globally
[sudo] npm install nimo -g
Then:
nimo --help
Should show you a list of available commands if the install was successful.
3. Configure nimo for your device.
To set up Mysql, mongo and other specific monitoring you will have to update your config file to view the current config you can run:
nimo config
To change a config option you can use
nimo setconfig <option> <value>
For Example changing the mysql host option to localhost:
nimo setconfig mysql.host localhost
4. Run it!
nimo start
nimo start will start the service and post the stats back to the server every 60 seconds. (this is a parameter that can be configured). You can also call "nimo post" to trigger a post and display the results immediately.
5. Test
You can test the output generated by Nimo at any time by running:
nimo test
Which would give something similar to:
{
system: {
platform: 'linux',
hostname: 'newicon.default.newicon.uk0.bigv.io',
arch: 'x64',
release: '2.6.32-5-amd64',
uptime: 6031512.655309854,
totalmem: 1002.94140625,
freemem: 114.67578125,
device: 'newicon.default.newicon.uk0.bigv.io'
},
loadAvrgs: {
'1': 0.357421875,
'5': 0.1748046875,
'15': 0.1162109375
},
mongo: {
mongo: 'data'
},
apache: {
reqPerSec: 0,
bytesPerSec: 996.021,
busyWorkers: 1,
idleWorkers: 9,
bytesPerReq: 4868.8
},
diskUseage: [
/// ['file', 'size Gib', 'used Gib', 'avail Gib', 'used %', 'avail %', 'mounted on']
['/dev/vda2', 24995960, 12.03, 10.60, 54, 46, '/'],
['tmpfs', 513504, 0, 0.48, 0, 100 '/lib/init/rw'],
['udev', 507768,0.00,0.48, 1, 99, '/dev'],
['tmpfs', 513504, 0.00, 0.49, 1, 99, '/dev/shm' ],
['/dev/vda1', 1010808, 0.031, 0.88, 4, 96, '/boot' ],
['total', 12.064, 12.95, 49, 50, '-']
],
processes: [
*** large array of processes ***
]
memory: {
physFree: 112.8046875,
physUsed: 890.13671875,
cached: 270.13671875,
swapFree: 821.31640625,
swapUsed: 202.67578125
},
networkTraffic: {},
mysql: {
mysqlVersion: ['5', '1', '73'],
connections: 0,
maxUsedConnections: 50,
openFiles: 3,
tableLocksWaited: 9,
threadsConnected: '2'
},
ioStats: {
vda: {
'rrqm/s ': '0.00',
'wrqm/s ': '0.00',
'r/s ': '0.00',
'w/s ': '0.00',
'rkB/s ': '0.00',
'wkB/s ': '0.00',
'avgrq-sz ': '0.00',
'avgqu-sz ': '0.00',
'await ': '0.00',
'svctm ': '0.00',
'%util': '0.00'
}
}
}