如果您不打算寻找相似之处或模式,那么这也是评估不同配置方法的好时机。并重新开始。
我已经看到很多 Nagios/Icinga1 安装随着时间的推移而增长,而不是“修复”问题,您只需复制例如一个现有的检查命令,给它一个新的名字,然后使用那个。或者死于没有人写过文档的一堆对象技巧。有时,由于核心中的错误,此类配置也“有效”。有些已经在 Icinga 1.x 中修复,但我确实知道 Nagios Core 中的一些在构建配置时仍然非常烦人。
事实证明,如果您为当前环境使用笔、纸和绘图板,您将了解现有的瓶颈,或了解进行检查的新方法。示例:不关心 VM 上的负载和交换?然后不要为您的监控和警报添加检查。
已经有某种配置管理堆栈和使用 Puppet、Ansible、Chef、Salt 的自动化环境?选择一个原生模块,让它根据你的客户事实生成配置。
更喜欢以自动化方式创建对象?使用 Icinga 2 REST API 并在运行时创建对象而无需重新启动。想要将这些对象同步到卫星节点?设置区域属性。有效。
如果您碰巧有 CMDB、NDO 数据库、PuppetDB/Foreman 等,您也可以选择 Icinga Director,它 1) 使用同步规则导入现有事实 2) 与 Icinga 2 API 对话并管理您的配置包.奖励:您还将获得 Icinga 2 的配置 UI。
如您所见,有很多可能性,人们仍然喜欢拥有它们。
在您的用例中,我会通过一些简单的示例来学习新语言。使用贵公司的网络服务器,让它通过 Icinga 2 进行监控。
一旦您获得成功,请寻找替代方案。甚至更好的方法来生成配置对象。
应用规则和申请规则只定义一次。对于服务、通知、依赖项。使用条件(if then else)根据主机自定义属性分配不同的阈值。
使用类似于您从应用规则中知道的 assign where 表达式的组分配。这样你就可以例如匹配您用户的电子邮件属性,并创建一个用户组。在通知应用规则中使用它。
添加/删除主机。它将获取应用规则生成的服务、通知、依赖项。
添加/删除用户。他/她会收到通知(如果电子邮件匹配)。如果用户被删除,则不再有通知。 (当然 - 无需编辑任何主机/服务或联系人组成员)
好吧,我可以整天谈论它。也许你有机会加入我们的 Icinga 夏令营(请查看 https://www.icinga.org 了解公告):-)