如何为本地 Service Fabric 设置 Application Insights?

How to setup Application Insights for on-premise Service Fabric?

是否可以为托管在本地版本的 Service Fabric 上的 Web api 添加应用程序洞察?

到目前为止,我已尝试将应用程序洞察添加到我的项目中,并想知道将其发送到何处进行监控。当应用程序也在云端时,这很容易。

我相信没有本地应用程序洞察服务,所以即使网络 api 是通过服务结构在本地托管的;必须使用云版应用洞察服务,对吗?在那种情况下,谁能告诉我如何设置?

没有 "on premise" application insights,但只要您的本地服务有权发送出站数据,您就可以在您的网站上使用 application insights。您将无法使用某些功能,例如网络测试,因为应用程序洞察无法调用进入您的站点。

设置与往常一样,在 azure 中创建应用程序洞察资源,然后在 visual studio 中对其进行配置,或者在 applicationinsights.config 中手动设置检测密钥(或通过代码)你的应用程序。

如果您需要配置出站防火墙规则或任何让 AI 发送数据的信息,这些信息都在这里:https://docs.microsoft.com/en-us/azure/application-insights/app-insights-ip-addresses

A​​pp Insights 仅托管在 Azure 中。如果您正在寻找本地解决方案,最好考虑使用 ELK 堆栈(Elastic Search、Logstash 和 Kabana)之类的东西。

尽管如此,即使您的集群是在本地托管的,使用 Asure App Insights 仍然是一个非常有效的方案(假设您的 IT 组织对此没有问题)。

假设您对 Application Insights 没问题,我强烈建议您看看 App Insights Service Fabric。它适用于:

  • 发送错误和异常信息
  • 使用您的所有服务及其依赖项(包括数据库)填充应用程序映射
  • 报告应用性能指标,以及
  • 端到端跟踪服务调用依赖关系,
  • 与本机和非本机 SF 应用程序集成

然而,上面无法解决的一件事是提供整体集群健康信息 - 例如when/how 节点经常 up/down,单个节点上消耗了多少 CPU/Memory 和磁盘 IO。为此,您可以尝试 MS EventFlow or a custom windows service