我将运行数十个 Amazon Web Service竞价实例。它们的价格会根据市场价格上下波动,非常适合那些更关心成本而非速度的工作负载。我想监控它们的性能,跟踪通用系统指标以及我的作业的一些特定指标。
我熟悉的监控包需要手动配置每个实例,并且要求系统始终处于运行状态。我希望机器能够将自己添加到监控集中,如果它自动终止,我不希望这被视为问题。我还想要一些汇总统计数据,例如所有机器每小时完成的任务总数。
对于这个服务器可能只存在几个小时的美丽新世界,我应该关注哪些监控包?
答案1
看一下 Ganglia (http://ganglia.sourceforge.net/)。配置文件对于您的所有实例都是相同的(“通过 UDP 将指标发送到主机 abcd”)。您可以立即获得各种基本系统指标,而且收集新指标非常容易(有一个“gmetric”命令行工具可以执行此操作,您还可以通过 Python 模块与指标收集守护程序交互)。您无需在服务器端进行任何配置即可接受新指标;它就是有效。
请注意,Ganglia 是一个指标收集工具;它不进行任何类型的警报(但如果您需要这种功能,它可以很容易地与 Nagios 集成)。
如果 Ganglia 认为您的主机已关闭,它可能会停止显示(针对该主机的)指标,但当服务器重新上线时,它们都会恢复。您可以使用 gmetric 工具的欺骗功能来伪造它(即,让它认为主机在关闭时处于运行状态)。
Ganglia 在后端使用 rrdtool。
答案2
不知道每小时完成的总任务数。您可能想要创建一个插件来实现这一点。我建议您查看 Nagios Exchange。您会看到很多示例,其中一个将是一个很好的起点。问题是,使用 Nagios 和类似方法时,您的上传/下载要求会很麻烦。您需要 Nagios 插件提供的自定义功能,但要在云监控模型中。不确定 Cacti 或 Ganglia 是否合适。很确定 appfirst 可以做到这一点。