我有一个无状态服务,用于监听 Service Fabric 中的 EventHub,并且我想要收集性能指标,例如接收延迟以及群集中节点的 CPU 和内存使用情况。最简单的方法是什么?我读了很多相关内容,但我看到的大多数示例都展示了如何使用云服务来实现这一点,我发现这与 Service Fabric 有很大不同。我还了解到 Azure 诊断可用于收集性能计数器,但我没有找到从 Visual Studio 以编程方式执行此操作的明确方法。
最佳答案
您可以使用Application Insighs 。它是在 Build 2017 上发布的(请参阅 the last few minutes ),目前仍处于测试阶段,但它可以让您很好地了解服务的运行情况。
我确实做了一个repo我自己将 Application Insights 与 Service Fabric 集成。通过一些编码,您可以使用我的代码作为指南/示例来连接它。仅对于每个节点的性能计数器而言,这相对容易。
另一个选择是使用 EventFlow收集性能计数器数据并将其发送到您想要的任何地方(内置选项有限,但您自己编写接收器很容易)
我确信还有更多,但我认为 Application Insights 是您最好的选择,因为它支持从性能计数器(每个节点)到请求遥测的所有内容,并且它也是可扩展的。
关于performance - 如何获取 Service Fabric 中的性能计数器/指标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44376909/