Thomas
Thomas

Reputation: 10669

Remote monitoring of system stats with node.js

We have implemented a monitoring solution in node.js, which does some basic checks for database integrity and API up-time. We want to expand this system to collect basic system stats of our Linux servers like CPU and disc usage. Some of these servers are behind a firewall which is out of our control, with only some very basic ports open (ssh,ftp,http,https).

How can I gather the system information of these servers in node.js. Are there monitoring systems which expose these information through a (secured) RESTful API?

Upvotes: 2

Views: 4284

Answers (3)

EllisGL
EllisGL

Reputation: 125

Use NRPE from Nagios as a client on the box you want to monitor. It's fairly simple to set up and it's API is documentented. http://exchange.nagios.org/directory/Addons/Monitoring-Agents/NRPE--2D-Nagios-Remote-Plugin-Executor/details

Upvotes: 0

adkatrit
adkatrit

Reputation: 153

I've had a lot of success with this ssh client written in javascript: https://github.com/mscdex/ssh2

Upvotes: 1

Gates VP
Gates VP

Reputation: 45287

So there tons of available solutions for monitoring system stats: Nagios, Zabbix, Scout, Cacti. There are even some hosted ones like ServerDensity.

All of these systems should cover the top-level stats: CPU, RAM, Disk IO & Network. They all have a plug-in infrastructure so that you can send custom stats (API uptime, DB availability) and send them along with the regular stats.

If you're running on a cloud infrastructure somewhere, many of these provide information "out of the box", generally in your account dashboard (see guys like Joyent or Azure).

Big question here is "what else do you need"?

Upvotes: 0

Related Questions