关于nagios:远程节点监控建议

remote node monitoring recommendations

我正在寻找一种解决方案来监控多个(至少 50 个)远程节点。这些远程节点位于防火墙后面,因此我无法从中央服务器轮询信息。

连接需要来自节点 -> 中央服务器。我以前使用过 ganglia 和 nagios,但它们都来自 Server-> 节点。感谢是否有人可以提供一些开源建议。远程节点和中央服务器都是基于 linux 的系统。

我想收集的指标是:

  • 正常运行时间
  • 健康监视器(如果节点没有在可配置的时间内与服务器通信,则通过发送电子邮件发出警报)
  • CPU/内存/网络/磁盘使用率
  • 进程监视器(例如 apache 或 ssh)
  • 像 puppet 这样的配置管理将是一个额外的好处,但也是一个很棒的功能。

  • 我会考虑使用 NSCA 或 NRDP 对 Nagios 使用被动检查。这两种方法都可以让您将结果从远程机器推送到中央服务器。

    http://nagios.sourceforge.net/docs/3_0/passivechecks.html

    或者您可以使用 NRDP,它通过标准 http 和 https 协议进行通信。
    http://assets.nagios.com/downloads/nagiosxi/docs/NRDP_Overview.pdf

    一旦您使用其中任何一种设置了一个系统,使用 puppet 甚至 rsync 克隆设置就不难了。


  • 如果您的防火墙允许 HTTP(S),您可以尝试使用 Nagira API (RESTful) 提交被动检查。
    有几个使用它实现的设置示例。
    请检查 http://dmytro.github.com/nagira

  • 您也可以使用相同的 API 来轮询客户端。如果您的防火墙允许传出 HTTP(S)。


  • 如果您可以访问防火墙后面的单个服务器,则可以使用 Mod-Gearman 对该远程主机上的特定主机组运行检查。


    如果您可以为该网络上的单个主机设置防火墙漏洞 (tcp/5666),则可以将该主机用作某种"NRPE 网关"。

    然后您可以使用 check_nrpe 让该主机针对防火墙后面的其他 50 个左右的节点执行所有检查(包括将 check_nrpe 链接在一起以进行"内部"检查)。

    如果您走这条路,请确保为所有这些服务建立服务依赖关系(考虑使用服务组),以依赖"网关"上的 NRPE。


    看看 Uptime,一个用 Node.js 和 MongoDB 编写的开源远程监控工具:https://github.com/fzaninotto/uptime。可能非常适合您的需求。


    您可以使用 Pandora FMS 来监控此服务器。为此,您可以在每台机器上安装软件代理,在防火墙中为触手协议配置一个例外,并将信息发送回 Pandora 服务器。您可以使用本地模块监控上面提到的所有参数。对于 puppet,pandora fms 博客站点中有一篇特定的文章,您可以在其中逐步阅读有关如何监控 puppet 的信息。更多关于pandora fms的信息,您可以访问以下网站:Pandora FMS Unified Monitoring ToolL

    问候
    伊沃·约尔丹诺夫


    现在回答这个问题可能为时已晚。
    然而,

  • 需要监控的 nodeJs 服务器在每台机器上实现一组集群节点(更好地控制目标机器以采取正确的措施,而不仅仅是监控。)。
  • 单个 nodejs 服务器接收来自多个节点的输入,这些节点通过 html 文档中的 socket.io 等库进行简单连接。
  • 干杯。