将应用程序部署到生产环境后,监视会提供有关应用程序性能和使用模式的信息,以便可以识别、缓解或解决问题。
监视目标
监视的一个目标是通过最大程度地减少按时间衡量的关键指标来实现高可用性:
- 检测时间 (TTD):当出现性能或其他问题时,有关问题的丰富诊断数据将通过自动监视反馈给开发团队。
- 缓解 时间(TTM):DevOps 团队会处理信息以尽快缓解问题,以便用户不再受到影响。
- 修正时间 (TTR):测量分辨率时间,团队会随着时间的推移而努力改进。 缓解后,团队将努力解决根本原因的问题,以便它们不会再次出现。
监视的第二个目标是通过跟踪使用情况来启用 经过验证的学习 。 验证学习的核心概念是,每个部署都是跟踪支持或减少导致部署的假设的实验结果的机会。 通过跟踪版本之间的使用情况和差异,团队可以衡量变更的影响并推动业务决策。 如果假设减少,团队可能会 快速失败 或 透视。 如果支持假设,团队可以翻倍或 坚持。 这些数据明智的决策会导致积压工作的新假设和优先级。
重要概念
遥测 是用于从监视收集数据的机制。 遥测可以使用安装在部署环境中的代理、依赖于插入源代码的标记、服务器日志记录或这些标记的组合的 SDK。 通常,遥测将区分针对实时警报和仪表板优化的数据管道,以及故障排除或使用情况分析所需的更高卷数据。
综合监视 使用一组一致的事务来评估性能和可用性。 综合事务是可预测的测试,具有允许以高度可预测的方式从发布到发布的比较的优势。 另一方面,实际用户监视(RUM)从用户的浏览器、移动设备或桌面测量体验。 它考虑到了手机网络、Internet 路由和缓存等 最后一英里 的情况。 与合成不同,RUM 通常不会随时间推移提供可重复的度量。
监视通常用于 在生产环境中进行测试。 经过良好监视的部署流式传输有关其运行状况和性能的数据,以便可以立即发现生产事件。 与 持续部署发布管道相结合,监视将检测新的异常,并允许进行提示缓解。 这允许发现无法在预生产环境中预见到的应用程序行为中的 未知情况 。
有效的监视对于让 DevOps 团队能够快速交付、从生产获取反馈以及提高客户满意度、获取和保留率至关重要。
后续步骤
详细了解 Azure Monitor 的监视功能。
了解如何设置和使用 Application Insights 进行监视。