什么是监视?

一旦将应用程序部署到生产环境中,监视将提供有关应用程序性能和使用模式的信息,以便您能够识别、缓解或解决问题。

Image of graph that shows how monitoring can indicate application performance and usage.

监视目标

监视的一个目标是通过最小化以时间衡量的关键指标来实现高可用性:

  • 检测时间 (TTD):当出现性能或其他问题时,有关问题的丰富诊断数据会通过自动监视反馈给开发团队。
  • 缓解时间 (TTM):DevOps 团队根据信息尽快缓解问题,使用户不再受到影响。
  • 修正时间 (TTR):测量解决时间,团队会随着时间的推移进行改进。 在缓解之后,团队研究如何从根本上解决问题,使其不再发生。

监视的第二个目标是通过跟踪使用情况来实现经过验证的学习。 验证学习的核心概念是,每一次部署都是跟踪支持或减少导致部署的假设的实验结果的机会。 通过跟踪版本之间的使用情况和差异,团队可以衡量更改的影响并推动业务决策。 如果假设降低,团队可以快速失败转向。 如果假设得到支持,那么团队可以强调或坚持。 这些以数据为依据的决策导致了新的假设和积压工作的优先次序。

关键概念

遥测是从监视中收集数据的机制。 遥测可以使用安装在部署环境中的代理、依赖于插入到源代码中的标记的 SDK、服务器日志记录或这些的组合。 通常,遥测将区分为实时警报和仪表板优化的数据管道和故障排除或使用分析所需的更大容量数据。

综合监视使用一组一致的事务来评估性能和可用性。 综合事务是可预测的测试,其优点是允许以高度可预测的方式在不同版本之间进行比较。 另一方面,真实用户监视 (RUM) 测量用户浏览器、移动设备或桌面的体验。 它考虑了最后一英里的条件,如蜂窝网络、互联网路由和缓存。 与 Synthetics 不同,RUM 通常不提供随时间推移的可重复测量。

监视通常用于生产中的测试。 监视良好的部署会流式传输有关其运行状况和性能的数据,以便您能够立即发现生产事故。 结合持续部署发布管道,监测将检测到新的异常情况,并允许及时缓解。 这允许发现在预生产环境中无法预见的应用程序行为中的未知未知因素

有效的监视对于 DevOps 团队快速交付、从生产中获得反馈以及提高客户满意度、获取和保留至关重要。

后续步骤

阅读有关 Azure Monitor 监视功能的更多信息。

了解如何设置和使用 Application Insights 进行监视