4

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

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

我想收集的指标是:

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

7 回答 7

2

我会考虑使用 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 克隆设置就不难了。

于 2012-08-30T14:37:39.790 回答
1

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

于 2012-10-20T12:03:19.313 回答
1

如果您可以为该网络上的单个主机插入防火墙漏洞 (tcp/5666),则可以将该主机用作一种“NRPE 网关”。

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

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

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

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

于 2012-12-19T10:08:02.410 回答
0

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

于 2014-09-24T20:58:51.707 回答
0

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

问候伊沃·约尔丹诺夫

于 2014-05-26T15:43:50.873 回答
0

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

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

干杯。

于 2013-03-16T12:47:40.307 回答