5

目前我有一个服务器 - Amazon EC2 实例类型。通过 AWS 控制台,我们可以监控我们的实例(服务器)CPU 利用率、磁盘读取等。

有什么方法可以监控我的应用程序服务——比如 tomcat、mysql、apache 等。基本上,每当tomcat 或 mysql 停止时,我都需要来自 Amazon 的电子邮件警报。对于 CPU 利用率,我能够成功。但是,如何通过 AWS 监控我的应用程序服务状态。

请问有什么建议吗?如果我们不能通过 AWS 做,有没有其他方法可以监控它们?

谢谢你。

4

2 回答 2

4

亚马逊本身仅提供您可以在其中运行服务的基本平台。因此,亚马逊没有现有的预构建解决方案可用于监控服务。

但是,有一些替代方案需要考虑:

所有这些解决方案都需要您进行安装或编程。

于 2013-04-29T09:19:57.453 回答
2

我认为在实施解决方案之前,您需要非常仔细地考虑您的要求。即使您选择的解决方案是开源且“免费”的,您也将投入大量时间使其工作,并且您将继续投入时间使其随着您的应用程序和环境的变化而正常工作。

现在您已经提出了一个乍一看似乎很简单的要求,即了解某些关键服务是否已启动并正在运行。但是跑步是什么意思?运行是否意味着它没有停止或崩溃?或者运行是否意味着正常数量的数据流入和流出服务?这是您无法通过商品或免费工具确定的。

更进一步。运行是否意味着服务的性能与应有的一样好?您想使用什么性能定义?服务正在使用正常数量的资源(易于衡量),或者流入服务的事务正在以可接受的响应时间进行处理(再次超出商品或免费工具的范围)。

最重要的是,就像所有东西一样,你得到你所支付的。如果您想真正知道它正在工作并且工作包括事务响应时间,那么您将需要一个商业级 APM 工具。这些分为两类:

1)从应用程序容器(New Relic、AppDynamics 等)内部监视您的应用程序的那些

2) 从操作系统内部监视您的应用程序的那些(AppEnsure、BlueStripe、Correlsense 等)

如果您的应用程序在本地运行,并且您可以将设备连接到您的交换机,那么您还有第三种选择,即使用来自 ExtraHop 等供应商的网络深度数据包检查。

于 2013-05-04T13:27:28.547 回答