在我的项目中
目前我们正在使用石墨监测QOS。我们正在存储抓取项目所需的时间。
x.time_taken
这种方法的问题在于,如果只有单个用户受到影响,我们会收到有关QOS的虚假警报。
回答/监控以下几点的正确工具/技术是什么:
我认为石墨和statsd不是正确的工具。什么是回答这两个问题的更好工具?
答案 0 :(得分:0)
您要求的通常称为服务监控。出于很好的理由,您希望了解事件的服务影响,而不仅仅是事件已经发生。
这种方法的优势正如您在要求中所述 - 您可以专注于影响大部分用户群的事件,并且您可以立即获得受影响的用户列表。
主要缺点,恕我直言,服务监控通常比简单的性能或事件/警报监控复杂得多。它也经常依赖于服务模型,根据我的经验,这种服务模式难以构建,甚至更难以保持最新。
例如,如果系统中的服务器显示速度显着减慢或失败,则根据您的体系结构,这可能会影响使用依赖于该服务器的服务的所有用户,或者它可能会影响非常小的子集,甚至没有最初,如果存在负载平衡机制或冗余机制。
您需要在服务监控模型中反映此架构,并在每次更新系统架构或部署时进行更改。
如果您的系统足够静态或足够重要以保证投资,那么这可能值得您花时间。如果没有,那么简单的折衷方案可能只是更新图形和警报,当您在一定数量的用户或服务器上的所有用户上的平均响应时间大幅增加时,您会发出警报。
这可以为您提供大部分的好处,而无需投资于服务监控解决方案的额外复杂性。
如果您一定希望扩展您的监控方法并希望坚持使用开源工具,那么我首先考虑NAGIOS,如果您的重点是基础设施,或者有很多带有免费等级的Web服务监控解决方案作为pingdom: