介绍

已完成

本单元介绍监视 Java 应用程序的概念。

为什么要监视?

在任何环境中,跟踪用户使用系统的方式,跟踪资源使用情况,并常规监视系统的运行状况和性能都很重要。 可以使用本文中的信息作为诊断辅助,来检测和更正问题,同时帮助找出潜在的问题并避免其发生。

监视窗体

监视通常采用四种形式:

  • 日志:如果不是完整数据库,则是以一致的表格格式存储的事件的永久不变记录。 事件可能表示许多条件中的一个条件,包括

    • 所监视组件状态的更改(例如,从“繁忙”更改为“可用”)。
    • 完成任务或指令序列。
    • 通过网络进行数据处理的里程碑或网络中单元的可用性。
    • 在此上下文中,错误是系统或应用程序尚未编程以处理或缓解的行为。
  • 指标 :表示服务或应用程序或承载其的基础结构的相对运行状况、稳定性和可用性的值。

  • 跟踪 :程序和服务的执行路径记录(特别是在高度分布式系统中),指示可能已触发(直接或间接)事件的指令序列。

  • 警报:当发现基础结构或应用程序出现问题时,警报会主动通知你。 有了警报,你就可以在系统的用户注意到问题之前确定和解决这些问题。

Azure 监视平台

Azure 支持 Azure Monitor,其中包括一组服务,开发人员和管理员可以使用这些服务收集、分析和处理有关应用程序性能以及托管应用程序的基础结构的遥测数据。

Log Analytics 是 Azure 门户中的工具,用于根据 Azure Monitor 日志收集的数据编辑和运行日志查询,并交互式分析其结果。 可以使用 Log Analytics 查询来检索符合特定条件的记录、确定趋势、分析模式,并提供对数据的各种见解。

作为 Azure Monitor 中的一个功能,Application Insights 是面向开发人员和 DevOps 专业人员的一项可扩展的应用程序性能管理 (APM) 服务。 它会自动检测性能异常,并包含分析工具来帮助诊断问题,了解用户在你的应用中实际执行了哪些操作。

Azure Monitor 警报:还可以将监视数据发送到其他位置以支持某些方案,某些资源可能会写入其他位置,然后才能收集到日志或指标中。

  • “指标”警报在超过指定阈值时使用警报触发器。 例如,当 CPU 使用率大于 95% 时,指标警报会通知你。
  • 日志警报基于写入日志文件的数据。 例如,当 Web 服务器返回了许多 404 或 500 响应时,日志警报会通知你。

可以使用你选择的任意监视系统(例如 Elastic Stack、Splunk、New Relic、Dynatrace 和 AppDynamics)监视 Azure 应用程序、服务和基础结构。 尽管在本模块中,将重点介绍 Azure Monitor、Log Analytics 和 Application Insights。