什么是监视?

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

显示监视如何指示应用程序性能和使用情况的图形图像。

监视目标

监视的一个目标是通过最大程度地减少按时间衡量的关键指标来实现高可用性:

  • 检测 (TTD) 的时间:当出现性能或其他问题时,通过自动监视将有关问题的丰富诊断数据反馈给开发团队。
  • 缓解 TTM) (时间:DevOps 团队会处理信息,以便尽快缓解问题,以便用户不再受到影响。
  • 修正 (TTR) 的时间:测量解决时间,团队可随着时间的推移改进。 缓解后,团队将介绍如何在根本原因上修正问题,以便它们不会递归。

监视的第二个目标是通过跟踪使用情况来启用 经过验证的学习 。 验证学习的核心概念是,每个部署都是跟踪支持或减少导致部署的假设的实验结果的机会。 跟踪版本之间的使用情况和差异使团队能够衡量更改的影响并推动业务决策。 如果假设减少,团队可能会 快速失败透视。 如果支持假设,团队可以翻倍或 坚持。 这些数据明智的决策会导致积压工作的新假设和优先级。

关键概念

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

综合监视 使用一组一致的事务来评估性能和可用性。 综合事务是可预测的测试,其优势在于允许以高度可预测的方式将不同版本进行比较。 另一方面,实际用户监视 (RUM) 从用户的浏览器、移动设备或桌面测量体验。 它考虑到了手机网络、Internet 路由和缓存等 最后一英里 的情况。 与合成不同,RUM 通常不会随时间推移提供可重复的度量。

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

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

后续步骤

详细了解 Azure Monitor 的监视功能。

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