【发布时间】:2016-11-22 01:54:16
【问题描述】:
我想先说我从未参加过网络课程,但我正在工作中学习。我对 TCP/IP 网络之类的东西有相当基本的了解,如果您认为这会妨碍我的尝试,请告诉我。
因此,我手头的任务是:我有一个 Open Stack 网络,其中包含许多可以相互通信的节点,所有节点都运行 CentOS 虚拟机(只是为了简单起见),并在它们之上运行应用程序。任务基本上是找到一种方法来监视每个节点的 ping,并在某种消息(可能通过 http)报告发生的情况时报告。检查实际延迟问题的逻辑不是我正在努力解决的问题,它是完成这项任务的最佳结构。
我正在考虑使用 Nagios 并设置一个分布式监控系统。基本上我的计划是在编写我的插件后在每个节点上安装 nagios(除非它已经提供或存在),一旦它的设置和其他节点 ping 它一旦它已经加入网络,它就会简单地 ping 网络中的所有其他东西被检测到。我不确定这到底有多大的可扩展性,因为如果节点数量增加很多,那么让每个节点 ping 其他每个节点实际上是一件好事吗?最终会不会对网络造成很大压力?
这是个坏主意吗?我知道一个更有效的解决方案是只要检查每个节点(不一定必须让每个节点都连接到每个其他节点)效率更高。将其可视化为具有几个点的图,它将是一个双向图,只有一条路径连接每个点,而不是每个可能的点之间都有边。但我不知道这是否是我应该考虑的水平。
简而言之,我要问的是:如何在一堆 Open Stack 节点之间建立一个 ping 监控系统?
让我知道这个问题是否有意义。谢谢。
【问题讨论】:
-
这听起来很乱。有诸如 NetFlow 和 IP SLA 之类的东西来监控网络上的事物。顺便说一句,ping 只测量 ICMP 的延迟,与实际网络流量无关。
-
好的,但这些是虚拟机,我想检查它们之间的延迟,因此没有任何物理路由器。还有“类似ping”的工具基本上可以测量相同的东西,对吗?像 fping 或者 tcping 等等,这种情况你为什么不去 nagios 呢?
-
NetFlow 和 IP SLA 有多种实现方式。您的虚拟机之间的网络仍在使用第 2 层和第 3 层网络,您可以使用这些工具来测量实际流量。这正是设计这些工具的原因。你只是想重新发明轮子。
-
是的,我可以说感觉就像我在尝试做一些以前肯定做过的事情,唯一让我感到困惑的部分是:监控服务本身是否分布在网络上? (每个节点都有一个守护进程运行它)还是需要一些主机返回并记录所有内容?我假设是后者,但问题是如果那台主机出现故障,就会出现大问题。我认为这是我试图解决的主要问题
-
也感谢您的建议
标签: networking tcp monitoring openstack