虽然听起来很蹩脚:
我正在尝试为我们的生产系统配置监控,该系统由 2 个硬件盒组成,每个硬件盒上都有 ESXi 和多个虚拟机。所有这些都隐藏在防火墙后面,我们可以根据需要自行配置。
我的选择是 Munin(我已经有使用经验)或 Zabbix。
我希望保持生产系统尽可能干净,并且(对我而言)合理的方法是将主服务器出去生产,因此:
- 不会消耗任何可能的任务关键型资源
- 即使整个系统由于某种原因无法访问,也会提供数据(因此至少从数据中可以看到发生了什么以及何时发生)
- 当整个生产系统无法访问时将发送警报
但是从文档中我发现 Zabbix 和 Munin 都不支持这种设置。实际上,使用 Munin 可以做到这一点,但我需要创建单独的 fw 端口转发规则对于每个节点我需要监控,这听起来有点过分,而且给设置带来了复杂性。同时,似乎只有 Munin 提供开箱即用的节点和主节点之间的加密流量,而 Zabbix 没有。尽管有所有这些可能性,但整个设置(除了 fw 规则)对于 Munin 来说仍然非常不简单。
无法通过 VPN 连接生产系统(在这个国家,在 IDC 中使用 VPN 存在法律问题)
因此我的问题是:有没有更好的方法来实现我的目标?或者有没有我不知道的其他工具可以做到这一点?
答案1
由于我是 Munin 的长期用户,因此我可以给你一些关于使用它的快速想法:
- 使用 SSH 隧道(这也是违法的吗?)来绕过防火墙。
- 您提到的明显的端口转发。
- 如果您已经公开了受监控机器的 SSH,则可以使用 Munin 的 SSH 支持来访问这些机器。
- 您可以使用防火墙后面的一个非常轻量级的节点,运行
munin-async
,进行收集,并通过 SSH 访问该节点。
使用 Munin 的缺点:
- 据我所知,Munin 本身并不太适合用于更改。对于警报,最好使用 nagios 之类的东西。实际上,Munin 最初是作为 nagios 绘制和轮询资源的更好方法而构建的。
- 由于它为每个民意调查启动多个进程(不同语言的脚本),所以它可能不符合您的#2。
关于监控软件的重要信息来源是网络监控系统比较维基百科页面。