Azure Monitor Application Insights 中的 应用程序映射 功能可能无法按预期工作。 本文在某些方案中提供一般建议和特定建议。
一般建议
使用官方支持的软件开发工具包(SDK)。 不受支持的 SDK 或社区 SDK 可能不支持关联。 有关受支持 SDK 的列表,请参阅 Application Insights:语言、平台和集成。
将所有组件都升级到最新 SDK 版本。
通过升级到 Azure Functions V2 来支持 CSharp 的 Azure Functions。
确保已正确配置云角色名称。
方案 1:地图上的节点过多
应用程序映射为请求遥测中的每个唯一云角色名称添加组件节点。 此过程还将为类型、目标和云角色名称的每种唯一组合添加一个依赖项节点。
如果遥测中有超过 10,000 个节点,则应用程序映射无法提取所有节点和链接。 在这种情况下,您的地图结构是不完整的。 如果发生这种情况,查看映射时会显示一条警告消息。
应用程序映射最多可以同时呈现 1,000 个单独的未分组节点。 应用程序映射通过将类型和调用方相同的依赖项分组到一起,降低视觉复杂性。
如果遥测包含过多的唯一云角色名称或依赖项类型,则分组不足,映射无法呈现。
若要解决此问题,请更改您的监控工具,以正确设置云角色名称、依赖项类型和依赖目标字段。 确认应用程序符合以下条件:
每个依赖项目标表示依赖项的逻辑名称。 在许多情况下,此值相当于依赖项的服务器或资源名称。 例如,如果存在 HTTP 依赖项,则此值为主机名。 此值不应包含会在不同的请求中发生变化的唯一 ID 或参数。
每个依赖项类型表示依赖项的逻辑类型。 例如,HTTP、SQL 和 Azure Blob 是典型的依赖项类型。 此值不应包含唯一 ID。
情境 2:智能视图不会突出显示边缘
即使在低敏感度设置下,智能视图可能无法按预期突出显示边缘。 依赖项似乎失败,但模型并不指示问题作为潜在事件。 下面是一些可能的使用场合:
如果依赖项经常故障,模型可能会认为故障是组件的标准状态,而不突出显示边缘。 智能视图侧重于实时解决问题。
如果依赖项对应用程序的整体性能影响极小,智能视图可能会在机器学习建模过程中忽略该组件。
如果你的方案是唯一的,则可以使用“反馈”选项来描述你的体验,并帮助改进未来的模型版本。
方案 3:智能视图突出某一边缘
当智能视图突出显示边缘时,它表示两个组件之间的依赖关系中的性能热点或故障热点。 在此情境中,执行以下操作:
选择突出显示的边缘 >视图详细信息 以在侧窗格中打开详细的遥测数据。
查看依赖项调用中的失败率或高延迟。
如果故障频繁:
- 在侧窗格中选择“ 调查失败” 以检查异常类型和故障率。
- 检查相应的依赖项日志或故障跟踪,以隔离根本原因。
如果延迟较高:
- 选择 “调查性能 ”以检查依赖项响应时间。
- 找出速度缓慢的终结点或服务,然后查看它们最近的部署或配置更改。
对于长期分析,请考虑使用 Application Insights 警报设置依赖项运行状况警报。
方案 4:智能视图不会加载
如果“智能视图”未加载,请将配置的期限设置为六天或更短。
方案 5:智能视图加载需要很长时间
如果 智能视图 的加载时间超过预期,请不要选择 “更新映射组件 ”选项。 仅为单个 Application Insights 资源启用智能视图。