4

我有一个在 .NET 和 IIS 7.5 上运行的 SaaS 应用程序。我想监控平均服务器响应时间,并在超过给定阈值时发送警报。有哪些优雅的方法可以做到这一点?

我已经想到了一些方法,但我想在开始任何这些轨道之前获得其他人的意见。

  1. 某种服务器日志解析器。似乎是最明显的,但提取我正在寻找的指标可能有些困难。

  2. NuGet .NET HTTP 模块。是否有任何实现响应时间监控和警报的 NuGet 包?我找不到一个。

  3. 自定义 .NET HTTP 模块。监控页面渲染时间,如果超过阈值则发送电子邮件。这可能是最灵活的解决方案,但需要一些实施工作。

  4. 性能计数器。似乎应该有一个性能计数器,但我从来没有使用性能监视器很幸运。具体来说,我不喜欢每次启动它时都重新添加所有指标。我也不能真正让性能监视器自动发送电子邮件。

还有其他我没有想到的吗?哪种方法似乎最容易实施和维护?你自己试过吗?

4

1 回答 1

0

我会选择#2。HTTP模块可用于存储请求开始和请求结束并将其存储到数据库中。

然后我会有一个单独的工作,每 X 分钟读取一次数据库,平均数据并发送报告。既然您的数据库中有数据,您就可以玩得开心并创建各种报告(例如一天中的忙碌时间、运行时间最长的请求、请求最密集的客户端等……)

恕我直言,这比性能计数器更好,因为它可以为您提供更精确的数据,而且您不需要每次都设置它。

于 2013-04-05T08:42:07.877 回答