在云端操作和自动缩放框时,会遇到某些监控问题。 有时我们可能会监视10个盒子,有时候是100个。机器会根据需求进行放大和缩小。
现在,我认为最好的解决scheme是select一个监视解决scheme,通过调用API实例化目标。 但是,这真的是最好的? 我喜欢dynamic发现的想法,但这也是云中的一个问题,因为看到目标不在同一个子网中。
什么监视解决scheme允许这样的扩展环境? Zabbix目前有一个API草案,但我一直无法为Nagios资助一个类似的API。 Nagios是否有类似的API?
除了Nagios和Zabbix,任何人都有其他build议吗?
声称每周增加数百台服务器的Farmville使用Puppet , Nagios和Munin来处理可扩展的监控系统。 他们可能使用Puppet的事实来填充Nagiosconfiguration文件或设置NRPE 。 有了这么多的服务器,像Puppet这样的configurationpipe理工具实际上是一个需求。
通过search“puppet nagios”发现了几个例子:
http://blog.gurski.org/index.php/2010/01/28/automatic-monitoring-with-puppet-and-nagios/
http://projects.puppetlabs.com/projects/puppet/wiki/Nagios_Patterns
使用Zabbix。 他们即将发布的2.0版本有很多这样的新function。 目前的版本1.8有自动注册。
新function文档讨论这个function:
4.2.2活动代理的自动注册
在Zabbix 1.8中是全新的,可以允许活动的Zabbix代理自动注册,之后服务器可以开始监视它们。 这允许添加新的主机进行监视,而不需要为每个主机configuration任何手动服务器。
该function可能非常方便自动监控新的云节点。 只要在云中有新节点,Zabbix就会自动开始收集主机的性能和可用性数据。
没有任何build议,但是你的逻辑是正确的:在一个dynamic的环境中,比如你在主机出现时描述的dynamic环境,它需要注册任何需要知道它的存在的东西(例如监控系统),以及什么时候它需要closures去注册那些需要知道它正在消失的事情。
我会问的问题是你需要监视你的“主力”服务器吗? 如果他们是计算节点或类似的,并且你知道他们的configuration是稳定的,当他们自己监控云(有多less实例正在运行)可能跟跟踪单个机器一样好,假设你云提供商可让您轻松访问此类统计信息。
如果您使用“cfg_dir”设置nagios来加载configuration文件的目录,则可以在添加或删除节点时简单地添加或删除cfg文件,然后重新启动nagios。 没有真正需要的API,它可以使用几个小的shell脚本和SSH密钥文件来设置。
我没有使用Zabbix的经验,但是我可以推荐Nagios,因为它很容易configuration,运行和定制。
对于zabbix api,有一个命令行工具zabcon( http://trac.red-tux.net/wiki/zbx_api/interactive )。 它还没有完全的function,但它应该支持一些基本的主机和项目的操作 – 也许你可以从这个工作。
虽然我没有使用Zabbix的经验,但是我很确定,如果没有pipe理员干预,Nagios将无法为您做到这一点,更不用说开箱即用了。 问题是当你创build一个configuration文件(添加一个主机)或编辑/删除一个,你需要重新启动Nagios。 重新启动后,需要花费几分钟时间(取决于设置)对该主机上的服务进行首次检查(检查主机本身是否启动应该只需要几秒钟)。 如果这些机器每天增加或删除几次,我预见这是你的第一个问题。
你可以使用一个系统为你做发现,Nagios有这样做的插件,我相信,但我发现,机器生成的cfg文件从来没有手动做的那么好。 实际上,大多数这些自动configuration都在一个文件中,或者只是一些文件。 这使得它成为一个PITA来pipe理…
但是,如果Nagios是开源的,我相信,如果你有所需的知识,你可以编写和实现一个你自己的系统。 我怀疑出现(或下去)的机器是虚拟机,并且他们已经有了NSClient或者您决定使用预先安装的任何代理。 这意味着,如果您可以在计算机启动或closures时运行脚本,则可以创build或删除名为.cfg或.cfg的configuration文件,然后重新加载Nagios。 获取脚本编辑有问题的主机的主机名和IP,你就完成了! 当然,如果我提出的第一个观点对你来说并不重要,
祝你好运
自从我和Zenoss一起玩的时候已经有一段时间了,但我想这可能就是你要找的东西。