应用程序洞察SDK - 映射资源间依赖性

时间:2017-02-21 21:00:13

标签: azure-application-insights

我正在尝试使用Application Insights创建端到端的应用程序地图。请注意,使用SDK捕获并发送所有依赖项和指标。

采取以下方案: Windows服务(批处理)> (调用)WebAPI> (查询db)

我有2个Application Insight资源 - Windows服务和WebAPI。两者都是捕获指标但孤立无援。如何在资源1(即服务)和资源2(即WebAPI)之间使用SDK创建依赖关系?我需要能够查看资源1的应用程序映射,并能够看到Windows服务的整个端到端视图>网络服务>分贝。

我目前只能看到Windows服务> WebApi(App Map资源1)或WebApi> db(应用程序地图资源2)。需要以某种方式将两者结合在一起吗?

3 个答案:

答案 0 :(得分:0)

我的建议是为Windows服务和Web API使用相同的Application Insights资源(例如工具密钥)。
您可以通过添加指示您发出的所有遥测的服务的自定义属性来分离这两种服务的遥测。最简单的方法是实现遥测初始化程序(有关文档,请参阅here)。

答案 1 :(得分:0)

今天不可能。可能的方法 -

  • 使用单个InstrumentationKey并通过自定义属性进行标识(如 @ EranG
  • 建议
  • 导出两个应用的数据并做自己的事情

请对此uservoice进行投票。产品团队已在考虑将来实施此功能。

答案 2 :(得分:0)

Application Insights sdk仅自动为HTTP依赖项收集依赖项。此外,它仅在应用程序洞察探查器在计算机上运行时才有效(通常通过Application Insights Extension安装在azure网站上)。

如果您碰巧遇到新的beta sdk没有为您收集依赖项的情况之一。您可以自己编写一些代码来自己完成。

sdk的自动收集代码是开源的,您可以使用它来指导您如何跟踪这些依赖关系。该想法是将依赖性遥测目标字段附加到目标组件的检测密钥的散列,并将依赖性类型设置为" Application Insights"。

以下是如何计算哈希:Compute Hash

以下是如何将其添加到目标字段并在依赖关系遥测对象上设置正确的依赖关系类型:Add component correlation to DependencyTelemetryTarget

有点谨慎。可能很快会对捕获目标字段的格式/依赖关系类型的名称进行更改(请参阅this discussion)。如果发生这种情况,那对你来说也是一个很容易的改变。