我正在按以下方式设置分布式 Icinga 设置。我们有 6 个站点,所以我在 2 个节点中的每一个上监视 3 个站点,外加一个中央服务器。
站点 a、b、c 由节点 1 主动监控
节点 2 主动监控站点 d、e、f
节点 1 和 2 向中央服务器提交被动检查
我遇到的问题是中央服务器打算成为这里的主服务器,正如人们所期望的那样。出于这个原因,它应该了解整个网络的可达性。我不知道该怎么做是将两个节点的主机在状态图上链接在一起,从而达到可达性。下面的一个例子:
Icinga(中央节点)在站点 (a) 的 vSphere 服务器上的 Ubuntu 虚拟机上运行。为了从中央节点到达站点 (d),逻辑路径由 vSphere 服务器、交换机、另一台交换机和路由器组成。该路由器连接到站点 (d) 中的另一台路由器,然后切换并最终成为主机。
我的问题是我无法将节点 2 上的主机(在本例中为站点 (d) 中的路由器)设置为具有节点 2 上不存在的父节点(其可访问性的“父节点”应该是路由器在站点 (a))。
这……难以置信地难以解释。有没有解决的办法?我曾尝试在节点 2 上再次声明站点 (a) 路由器,希望中央服务器会忽略重复项,但节点会使用这些重复项,但无济于事。我希望我的中央状态图能够被逻辑地查看,而不是每个站点都只是不合逻辑地产生 Icinga 实例。
实际上,我刚刚发现这主要是我自己的方法的问题。我尝试过的解决方案会起作用,而不是我这样做的方式:
在节点 1 和中央定义了路由器,具有正确的父节点
在节点 2 中定义了路由器,没有父节点
这样,没有一个 Icinga 实例会看到重复项,中央服务器现在可以正确处理它。