我需要将具有大量节点和服务的Nagios实例迁移到Icinga2。我遇到了以下文档: http://docs.icinga.org/icinga2/latest/doc/module/icinga2/chapter/migration#migration
它没有提到是否有自动方式将Nagios的所有配置转换为Icinga2配置格式。它说如何手动完成。有没有人通过自动配置转换将Nagios迁移到Icinga2。或者任何以较少痛苦的方式这样做的建议。
由于
答案 0 :(得分:1)
如果您不想找到相似之处或模式,那么也是评估不同配置方法的好时机。然后重新开始。
我见过很多Nagios / Icinga1装置,这些装置随着时间的推移而增长,而不是修复"问题,您只需复制,例如现有的check命令,给它一个新名称,然后使用它。或者死于任何一个对象技巧,没有人写过文档。有时这样的配置也会工作"因为核心存在漏洞。有些已在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的配置界面。
你看到的可能性很多,人们仍然喜欢它们。
在你的用例中,我会用一些简单的例子来学习新语言。拿你公司的网络服务器,让它由Icinga 2进行监控。
一旦获得成功,就寻找替代方案。或者甚至是更好的方法来生成配置对象。
应用仅定义一次的规则和申请规则。用于服务,通知,依赖项。使用条件(如果是其他的话)根据主机自定义属性分配不同的阈值。
使用类似于应用规则中您知道的表达式的分配。这样你就可以匹配您用户的电子邮件属性,并创建一个用户组。在通知应用规则中使用它。
添加/删除主机。它将获取应用规则生成的服务,通知和依赖关系。
添加/删除用户。他/她将收到通知(如果电子邮件匹配)。如果删除了该用户,则不再发送通知。 (当然 - 无需编辑任何主机/服务或联系小组成员)
好吧,我可以整天谈论它。也许你有机会加入我们参加Icinga训练营(看https://www.icinga.org公告): - )
答案 1 :(得分:0)
有一些配置转换器,但我还没有运气好。
我个人不会这样做。合理快速的方法是注意配置中的模式并使用icinga2的程序规则来最小化必要的工作量。困难的部分是那些不属于这些通用规则的单一服务。你的打字方式仍然比nagios少。
如果有必要,可以使用脚本快速模拟配置文件的重复样板代码,这是我所做的。
最终的结果是你以更紧凑的配置结束同样的事情。有各种各样的技术可以让icinga2的功能为您完成大部分繁重的工作。
节省大部分时间的事情是使用带有nagios的Thruk UI,而不是livestatus。它提供了一种查看每个检查的完整命令调用的方法,扩展了所有args,您可以将任何自定义视图导出到csv文件中进行处理。