【问题标题】:Monitoring application to track performance of .net service in production?监控应用程序以跟踪生产中 .net 服务的性能?
【发布时间】:2010-10-10 20:36:01
【问题描述】:

有没有类似于 appdynamics.com 的东西来跟踪生产中 .net 服务的性能和错误?

我希望有一个易于集成的仪表板进行监控

  • 每分钟通话次数
  • 响应时间
  • CPU / 内存使用率
  • GC 行为
  • 例外情况
  • 如果有任何超出范围的内容(实际响应时间与平均值等),则会发出警报。

【问题讨论】:

  • 我们可以使用更多细节。该产品究竟跟踪什么?
  • 同意,这是一个作为服务运行的应用程序,您可以在应用程序内构建监控逻辑。你在找什么?

标签: .net performance monitoring production


【解决方案1】:

查看AlertGrid,它是一种用于跟踪应用的自定义指标/统计信息并发出警报的工具。您的应用程序必须将事件发送到 AlertGrid(通过简单的 API 非常容易集成),然后您可以可视化在这些事件中发送的指标并创建规则,例如“如果 [3,4,5] 中的指标 A > 30 和 B,则将 SMS 发送到 X 并通过电子邮件发送到 Y”。

【讨论】:

    【解决方案2】:

    JetBrains 的 dotTrace Performance 应该可以做到这一切,也许不是警报,但它是商业软件,除非您运行开源软件。我开始学习了。 http://www.jetbrains.com/profiler/

    【讨论】:

    • 我们在开发和测试期间使用 dotTrace,但您不能在生产中使用分析器。我也不需要方法/行的准确性,我对事务/远程方法调用监控更感兴趣
    【解决方案3】:

    您可以创建自己的custom performance counters 并使用它们。

    也可以使用您自己的处理性能计数器方面的日志工具和logs the exceptions in the appropriate windows event log 来处理所有异常。

    据我所知,当我们实施它时,这并不是一项艰巨的任务,从那时起,您几乎可以使用任何工具来收集和分析数据,找到计数器之间的相关性等。(很高兴拥有例如 CPU /磁盘/网络利用率和方法调用信息在 perflog 中的同一图表上。)

    至于方法调用时间,如果您有远程解决方案,则可以通过在自定义接收器中使用QueryPerformanceCounter 来实现;如果您正在使用 WCF,则可以使用一些自定义绑定。

    我想您可以轻松找到有关所有主题的大量资源 - 创建自定义性能计数器、使用 QPF 对方法调用进行计时、使用自定义源在系统日志中创建条目、使用自定义绑定用于各种目的等等 - 有一些研究。

    【讨论】:

      【解决方案4】:

      AppDynamics 现在支持 .NET:http://appdynamics.com/solutions-dot-net-monitoring.php

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-03-18
        • 1970-01-01
        • 2011-02-28
        • 2014-02-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多