我在 Service Fabric 上运行多个服务。我想添加 Application Insight 进行日志记录。我只是想知道是否必须为每个微服务添加 Application Insight 资源,还是只有一个对所有微服务都是通用的。最佳实践是什么?
最佳答案
没有这样的最佳实践。这确实取决于。一些注意事项:
- 定价:根据级别(基本或企业),您将免费获得一定量的数据/包含在基本价格中。请参阅docs 。因此,在某些情况下,根据流量的大小,您可以通过为每个服务配备专用的 AI 资源来降低成本。对于发送低于 AI 定价计划阈值的数据的服务,AI 资源将(几乎)免费。
- 查询:如果您针对每个 AI 资源拆分服务,则很难获得整个系统的概览,因为目前您无法创建跨多个 AI 资源的查询。
- 职责:如果您有多个团队负责多项服务,则可以选择为每个团队分配一个 AI 资源,以便他们仅对自己负责的部分有深入的了解。
如果您决定使用共享 AI 资源,可以使用自定义遥测初始化程序等选项来包含自定义数据,以进一步识别哪个 ASF 应用程序或服务正在发送数据(如果默认情况下未包含)。
另请参阅Add Application Insight to a existing Azure Service Fabric cluster了解有关如何集成人工智能的更多信息。
现在,当涉及到将数据整合在一起时,您确实有一些额外的选项,这些选项可能需要也可能不需要额外的服务或配置。例如:
- PowerBi:您可以使用仪表板可视化 AI 资源的数据,请参阅 https://learn.microsoft.com/en-us/azure/application-insights/app-insights-export-power-bi
- OMS:运营管理套件,请参阅 https://blogs.technet.microsoft.com/msoms/2016/09/26/application-insights-connector-in-oms/ 。正如杰西提到的,你可以链接多个人工智能资源
- 自定义仪表板:使用 rest api您可以创建自己的解决方案来显示一个或多个 AI 资源的数据。
关于适用于 Service Fabric 的 Azure 应用程序见解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45386898/