可观测系统的功能

可观测系统提供了完成以下类型任务的工具:

  • 记录有关系统中发生的事件的信息

  • 获取系统在单个时间点和一段时间内的性能指标

  • 追踪请求在系统中的流动路径

  • 确保系统操作人员了解系统的状态

  • 预测系统的未来性能

  • 发现系统中观察到的问题的根本原因

借助遥测解决方案,可捕获日志、指标和追踪。 监控解决方案通过提供仪表盘以及在系统运行超出预定义阈值时向管理员发出警报,来提高对遥测数据的感知能力。 完全可观测的系统扩展了遥测和监控解决方案,以实现预测和根本原因分析。

预测

预测是指利用您拥有的关于系统过去和当前性能的信息来确定其未来的可能性能。 预测可以帮助制定有关系统变更的决策。 例如,如果您预测对地图服务的请求数量将大幅增加,您可能会决定在 ArcGIS Server 站点中添加附加计算机,以免用户因资源限制而察觉到性能下降。

观察遥测数据中的模式或趋势可以帮助进行预测。 例如,通过分析指标的周期性模式,可以预测这些指标的峰值和谷值出现的时间。 通过强劲的上升或下降趋势,您能够在假设趋势将继续的前提下预测未来的数值。

虽然管理员仍可进行预测性分析,但日益精进的人工智能 (AI) 功能正赋予系统自我分析与相应响应的可能。 拥有遥测数据访问权限、系统变更权限以及用于确定相应操作的强大训练模型的 AI 代理,或许能够在最大限度减少人为直接干预的情况下保持系统稳定。 与任何类型的 AI 一样,在考虑实施自动响应系统时需要谨慎操作,以确保其与您的优先事项和价值观保持一致。

根本原因分析

如果您的系统出现故障,您需要了解问题的根本原因以实施相应解决方案。 例如,服务延迟增加可能需要昂贵的基础设施升级才能解决,或者只需简单地重新配置服务即可解决。

根本原因分析包含 6 个步骤:

  1. 检测问题。 例如,监控解决方案可能会提醒您,某个服务的响应时间已超过预定阈值。 对于监控解决方案未能预料到的问题,您可能会收到用户关于系统未按预期运行的报告。

  2. 对问题进行分类处理。 确定问题是仅限于单个服务,还是影响多个服务的系统性问题。 在此阶段,监控工具(如仪表盘、服务地图和健康检查)对于确定问题的范围非常有用。

  3. 利用遥测数据调查问题。

    • 指标有助于标识异常或阈值突破,例如 500 错误突然激增或吞吐量下降。

    • 在日志中搜索错误 error 消息、堆栈追踪和警告。 结构化日志记录有助于将日志条目与特定请求 ID 或时间戳相关联,从而帮助缩小相关日志消息的搜索范围。

    • 追踪可以精确定位请求出现延迟或失败的位置。 例如,追踪可能显示数据库查询缓慢或 API 调用失败。

  4. 关联数据并将其置于特定情境中。 结合指标、日志和追踪以构建观察到的事件的时间线。 例如,追踪中显示的缓慢数据库查询可能与数据库计算机上的 CPU 利用率指标出现峰值同时发生。 诸如 OpenTelemetry、Jaeger 或 Datadog APM 等第三方工具对于关联不同的数据源非常有用。

  5. 标识根本原因。 查找系统中可能解释您所观察到的关联性的变更。 一些常见原因包括:

    • 最近的部署或配置变更

    • 资源耗尽,如内存泄漏

    • 外部依赖项失败,例如第三方 API 响应失败

    • 网络问题,例如防火墙规则变更

  6. 解决问题。 根据对根本原因的标识,实施相应修复措施。 例如,您可能需要回滚最近的配置变更、修补软件或者扩展您的服务。 但是,仅仅解决当前问题是不够的。 记录问题、您的分析和解决方案,以便其他人未来更容易解决类似问题。 添加警报、仪表盘或自动化测试,以帮助防止问题再次发生。

Top