你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
监视 Azure Spring Apps 登陆区域加速器的操作
本文提供 Azure Spring Apps 中部署的 Spring Boot 应用程序的可观测性注意事项和建议。
组织可以提供由所有工作负载共享的集中式监视,或者为每个工作负载提供专用的 Azure Monitor Log Analytics 工作区。 如果依赖于集中式资源,请确保应用程序团队成员可以使用其 Azure 基于角色的访问控制 (RBAC) 角色访问日志。
有关平台设计的信息,请参阅 工作负载管理和监视。
可以预配自己的监视资源。 此方法为应用程序团队提供了更大的自主权,并简化了应用程序的整体管理。 权衡可能会增加管理开销。 Azure Spring Apps 登陆区域加速器和以下指南基于此方法。
设计注意事项
日志和指标。 收集从应用程序和资源发出的日志和指标。 日志提供对工作负荷操作的见解。 指标定期收集,并提供近乎实时的见解。 日志和指标有助于调查与资源的运行状况和利用率相关的调查。
指标是缩放决策的关键。 可以允许应用根据指标阈值进行缩放,也可以允许应用在特定时间范围内缩放。
应考虑存储此数据以供将来分析。 保持可视化数据的能力,以便快速发现趋势。
检测。 设置检测以从应用程序生成更多可观测性数据。 若要收集检测信息,请使用应用程序性能管理 (APM) 工具,例如 Azure 应用程序 Insights Java 代理。 将平台诊断与此信息相结合,以提供增强的监视功能。
分布式跟踪。 实现分布式跟踪,以获得 Azure Spring Apps 生态系统中不同服务的可观测性。
警报。 应用程序团队必须收到有关对工作负荷很重要的事件的通知。 可以设置警报,以基于指标(例如存储、请求速率和数据使用情况)监视资源。
运行状况探测。 可以设置运行状况探测来检测后端服务的运行状况。 查看运行状况探测的设置方式,以便将请求路由到正常的实例,并确保应用程序在后端服务不可用时正常终止。
设计建议
使用 Azure Monitor 指标将从受监视的资源发出的指标收集到时序数据库中。
对于 Azure Spring Apps,查看每个应用程序概述页和常见指标页中的图表。
使用 Azure Spring Apps 中的“诊断设置”页为应用配置所需的诊断设置组合。
注意
日志在存储帐户、事件中心或 Log Analytics 中出现延迟。 如果在此期间删除或移动 Spring 应用实例,则应删除诊断设置,以确保具有相同资源 ID 的另一个应用不会重复使用相同的诊断设置。
在所有应用程序组件中使用 Application Insights 作为一致的应用程序性能监视 (APM) 工具,以收集应用程序日志、指标和跟踪。 它可以从所有依赖项和跟踪收集数据,并能够可视化端到端事务。
Azure Spring Apps 允许将 Spring Cloud Resilience4J 指标收集到 Application Insights 中。 启用 Java In-Process 代理并配置维度集合以启用此功能。
Azure Spring Apps 将 Spring Cloud Sleuth 和 Zipkin 与 Application Insights 集成。
选择允许快速发现和注册应用实例的服务发现机制。 选项因 Azure Spring Apps 层而异。
结合使用就绪情况和运行情况探测,以便从服务发现功能中删除不正常的应用实例。
如果应用程序的启动时间较长,请将总超时
initialDelaySeconds + periodSeconds * failureThreshold
调整为比应用程序的启动时间更长的值。 此调整有助于避免探测失败并强制重启应用程序。将运行状况探测配置为根据特定于应用程序的命令、TCP 套接字连接或 HTTP 请求执行操作。
对于 Spring Boot 应用,请利用 Spring Boot 执行器运行状况指示器来配置运行状况探测。