我为IT服务提供商工作 – 我们在客户网站上支持一系列Windows和Linux服务器/ PC。 我正在寻找一种方法来监视这些设备上的基本信息(例如,磁盘空间使用情况,CPU利用率,正常运行时间等)并将数据收集在一个中央接口中。
我看过Zabbix,在Nagios上读过。 但是,两者似乎都要求我们的客户有一个静态的外部IP地址,并且在客户的防火墙上打开一个特定的端口以允许双向通信。 对于大多数客户来说这是不可能的。
有没有办法configurationZabbix或Nagios从他们的Windows代理发送数据到我们的中央服务器(打开相关的传入端口),而不需要在客户防火墙上打开端口的双向通信? 我尝试了潘多拉FMS,它能够做到这一点,但我不喜欢整体产品。 据我所知,这将需要代理预先configuration他们应该发送的数据,但我不是100%肯定从阅读文档。
在此先感谢您的任何build议,
马特
zabbix提供给你的选项:
使用活性剂。 本机zabbix代理可以在大多数平台上运行,包括linux和windows。 在主动模式下,他们连接到服务器端口10051,要求事物检查,然后发送任何收集的数据。 没有从服务器到代理的连接。
使用zabbix代理。 在这种情况下,专用系统将收集所有数据并将其传输到zabbix服务器。 在正常的主动模式下,只有zabbix代理连接到zabbix服务器(同样在端口10051上) – 所以不需要允许来自所有zabbix代理的连接,只能从代理连接。 另外的好处是可以监视无代理系统,如交换机,路由器,打印机和其他任何东西。
从zabbix 1.8.3开始,如果相反的方向是不可能的,你也可以selectzabbix服务器连接到zabbix代理(仍然是端口10051)。
在你的情况下,主动zabbix代理将可能是最好的select,因为它也保留收集的数据本地,如果networking连接到zabbix服务器closures。 代理只能在类Unix系统上运行,所以你可能有几个select – 在现有的Linux机器上安装代理,或者设置一个专用的代理。
鉴于这些是客户的系统,我会build议去一个专门的系统。 你可以有一个小型的embedded式系统运行zabbix代理。 您可以将它们作为监控设备交给客户,他们只需将其插入,允许通过端口10051从代理向外发送到zabbix服务器 – 就这样了。 在代理端不需要更多的configuration。
作为一种可以让您使用任何代理软件的解决scheme,您可以考虑使用VPN技术来启动从客户networking到您的监控networking的连接。 由于连接将源自客户的防火墙后面,因此不需要转发的外部端口。 同样,由于客户正在启动连接,客户端不需要静态IP地址或dynamicDNS。
你可以用OpenVPN相当简单便宜地做这样的事情。 您可以select每个客户networking上的单个主机作为监控VPN网关,并在客户的边缘路由器中放置一个路由,以便将pipe理stream量发送到该VPN网关主机。
在您的头端,您可以使用防火墙规则将来自客户站点的stream量限制在您的监控/pipe理stream量(因为您的客户可能会从他们的局域网开始在您的pipe理networking中徘徊)。 使用像iptables这样的状态防火墙可以允许你连接到来自pipe理networking内部的客户networking,同时拒绝来自客户networking内部的非pipe理相关主机/端口的连接尝试。
假设你使用不同的IP子网向你的所有客户的局域网发送消息(当我为“pipe理服务”式公司工作时,我总是这样做),你可以做任何我在这里描述的东西,而不需要任何有趣的NAT游戏等等。
Zabbix代理有一个活动模式,他们主动连接到服务器发送数据。 这不是很好的文件,但值得一试。 所有configuration都在代理configuration文件上完成。 这里是相关configuration选项的链接 。 您仍然必须在zabbix服务器上configuration主机名。
编辑 :显然它只适用于Linux代理:\
编辑2 : Zabbix代理也似乎是一个很好的解决scheme,如果你至less可以让一台机器运行在客户端的networking内。