【问题标题】:Remote monitoring of system stats with node.js使用 node.js 远程监控系统状态
【发布时间】:2012-10-08 15:41:57
【问题描述】:

我们在 node.js 中实现了一个监控解决方案,它对数据库完整性和 API 正常运行时间进行一些基本检查。我们想扩展这个系统来收集我们 Linux 服务器的基本系统统计信息,比如 CPU 和磁盘使用情况。其中一些服务器位于我们无法控制的防火墙后面,只打开了一些非常基本的端口(ssh、ftp、http、https)。

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

【问题讨论】:

  • 我对restful API一无所知,我只会使用ssh(假设你在linux上运行)使用基于密钥/主机的身份验证通过node.js进行系统调用并执行各种命令并解析 stdout/stderr 输出 - 并通过 node.js 公开结果。
  • @jcolebrand:Nagios 听起来不错,以前不知道。感谢您的提示,我会看看它。
  • 所以你的问题基本上是“我如何远程监控系统统计数据?”
  • 是的,但如果已经有针对 node.js 量身定制的解决方案,我会更喜欢。

标签: linux node.js monitoring


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    因此,有大量可用的解决方案可用于监控系统统计信息:Nagios、Zabbix、Scout、Cacti。甚至还有一些托管的,例如 ServerDensity。

    所有这些系统都应涵盖顶级统计信息:CPU、RAM、磁盘 IO 和网络。它们都有一个插件基础架构,因此您可以发送自定义统计信息(API 正常运行时间、数据库可用性)并将它们与常规统计信息一起发送。

    如果您在某处的云基础架构上运行,其中许多都提供“开箱即用”的信息,通常在您的帐户仪表板中(请参阅 Joyent 或 Azure 之类的人)。

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

    【讨论】:

      【解决方案3】:

      使用 Nagios 的 NRPE 作为您要监控的盒子的客户端。它的设置相当简单,并且它的 API 已记录在案。 http://exchange.nagios.org/directory/Addons/Monitoring-Agents/NRPE--2D-Nagios-Remote-Plugin-Executor/details

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-06-13
        • 1970-01-01
        • 2021-03-21
        • 2023-02-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多