使用node.js远程监视系统状态

我们在node.js中实现了一个监控解决scheme,它对数据库完整性和API运行时间进行了一些基本的检查。 我们希望扩展这个系统来收集我们的Linux服务器的基本系统统计数据,如CPU和光盘使用率。 其中一些服务器位于防火墙之外,只有一些非常基本的端口可以打开(ssh,ftp,http,https)。

如何在node.js中收集这些服务器的系统信息 是否有通过(安全)RESTful API公开这些信息的监控系统?

所以有很多监控系统统计数据的解决scheme:Nagios,Zabbix,Scout,Cacti。 甚至有一些托pipe的像ServerDensity。

所有这些系统应该覆盖顶级统计:CPU,RAM,磁盘IO和networking。 他们都有一个插件基础设施,以便您可以发送自定义统计信息(API正常运行时间,数据库可用性),并将其与常规统计数据一起发送。

如果您正在某个云计算基础架构上运行,其中很多会提供“开箱即用”的信息,通常位于您的帐户仪表板中(请参阅Joyent或Azure等人)。

这里最大的问题是“你还需要什么”

我用javascript编写的这个ssh客户端取得了很大的成功: https : //github.com/mscdex/ssh2

从Nagios使用NRPE作为您要监控的盒子上的客户端。 这是相当简单的设置和API的文件。 http://exchange.nagios.org/directory/Addons/Monitoring-Agents/NRPE–2D-Nagios-Remote-Plugin-Executor/details