我想听听您监控在 EC2 中运行的 Linux 实例的方法。我非常习惯于使用 Nagios 来监控基于 Web 的应用程序生态系统的各个方面,但它的模型似乎并不特别适合经常被破坏和重新创建的机器。我的 EC2 实例由 RightScale 提供中介,它有自己的监控方案,我发现它没有多大用处——尽管我确实计划进一步研究它们的监控。
有问题的实例运行正常的开源东西:MySQL、Apache、Passenger、Rails。
提前谢谢了。
我想听听您监控在 EC2 中运行的 Linux 实例的方法。我非常习惯于使用 Nagios 来监控基于 Web 的应用程序生态系统的各个方面,但它的模型似乎并不特别适合经常被破坏和重新创建的机器。我的 EC2 实例由 RightScale 提供中介,它有自己的监控方案,我发现它没有多大用处——尽管我确实计划进一步研究它们的监控。
有问题的实例运行正常的开源东西:MySQL、Apache、Passenger、Rails。
提前谢谢了。
可以在脚本中使用 ec2 工具来动态生成 nagios 配置。如果所有 EC2 实例都需要相同的服务,那么您将服务与主机组而不是主机相关联,并使用通过 cron 运行的脚本动态生成主机/主机组定义。然后您可以执行 kill -HUP(或 /etc/init.d/nagios reload 或 svcadm nagios refresh)并让 nagios 重新加载新配置。这是一个轻量级操作(不需要重新启动),因此可以经常完成。该脚本必须读取活动实例及其地址的列表,并为每个实例生成一个主机定义。
您想监控每个EC2 实例或整体正常运行时间和性能吗?
我们并不真正关心每个实例的作用,而是监控我们的整体 Web 应用程序响应时间和功能。有一些工具可以做到这一点。我们喜欢AlertFox,它每 15 分钟为我们运行一次非常复杂的基于 iMacros 的事务监控脚本。
cloudkick 可能值得一看。这将取决于您需要执行的监控类型,但它是专门为 EC2 设计的:
https://www.cloudkick.com/
我使用 Ganglia 来监控我的集群:
http://ganglia.info/
只需确保将其配置为使用单播并在一段时间后丢弃死主机。