linux – 短期运行的短暂服务器的性能数据收集

前端之家收集整理的这篇文章主要介绍了linux – 短期运行的短暂服务器的性能数据收集前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们正在构建一个医疗图像处理软件堆栈,目前托管在各种AWS资源上.作为此应用程序的一部分,我们有一些长期运行的服务器(数据库,负载平衡器,Web应用程序等).在这些服务器上收集性能数据非常简单 – 我的Nagios(用于监控/通知)和Munin(用于收集性能数据和显示趋势)的配方工作正常.

但是 – 作为此应用程序的一部分,我们不断启动并终止EC2上的计算实例.在典型用法中,这些计算实例启动,自行配置,从消息队列接收作业,然后开始处理该作业,这需要15分钟到8小时以上.作业完成后,这些实例将被终止,永远不会再被听到.

在这些短期实例上收集性能数据的体面策略是什么?

我不一定需要对它们进行监控 – 如果它们由于某种原因而失败,我们的应用程序将检测到这一点,并处理在另一个实例上重新启动作业或提升标志,以便管理员可以查看事情.但是,收集cpu(用户,空闲,iowait等),内存使用,网络流量,磁盘读/写数据等信息仍然很有用.在我们的内部数据库中,我们跟踪机器的实例ID运行每个作业,能够查找特定实例ID的性能数据以进行故障排除和分析是非常有帮助的.

Munin似乎不是一个很好的候选者,因为它需要在文本文件中维护一个munin节点列表 – 对于一个流失量大的环境来说远非理想,并且每个节点运行的时间很短,我宁愿无限期地保留全分辨率数据,而不是让RRD随着时间的推移降低数据.

最后,我的猜测是这需要一个监控引擎:

>使用数据库(MySQL,sqlite等)进行配置和数据存储
>公开用于添加/删除主机和服务的API

在评估选项时,还有其他我应该考虑的事情吗?

也许我过度思考这个问题,并且应该在这些短期实例上以1分钟的间隔运行sar并在终止之前收集sar db文件.

解决方法

Zenoss有一个EC2Manager插件,可以自动添加所有EC2实例(即使在开源版本中),并监视EC2的变化.但是,Zenoss可能比你真正想要的更重量级.

猜你在找的Linux相关文章