应用故障自动诊断

在EDAS中进入应用总览页面时,会按照您自定义的时间段对该应用的运行情况做一个自动诊断。如果发现问题,则会在应用总览页面上方闪现一个红色盾牌图标诊断报告图标,单击该图标即可弹出故障诊断报告,故障报告上的故障定界和根因分析可以帮助您更好地发现和解决问题。

常见的故障自动诊断场景

RT突增

  • 下游业务导致的本应用的RT突增,您可以联系下游业务的负责人进行排查。

  • 应用变更导致的RT突增,您可以查看此次变更的具体变更进行排查。

  • 应用的某个服务导致RT突增,可以排查以下情况:

    • 服务是否在此时有发生异常。

    • 调用该服务的下游服务是否有出现RT较高的情况。

    • 该服务调用的某服务的RT是否较高。

  • 因为单机的问题导致RT突增:

    • 线程池满,此时故障诊断报告中会给出线程数的时序图。

    • 单机FullGC。

    • 单机磁盘读写异常。

    • 单机OOM。

错误请求或大请求的占比过高

  • 某应用服务的错误请求次数出现突增,导致错误请求占比过高。

  • 某段时间出现的大请求和大响应占比过高,导致序列化和反序列化耗时高。

宿主机负载过高

宿主机的负载过高导致容器提供服务的能力降低。

网络问题

机房发生网络故障导致应用运行异常。

查看故障自动诊断报告

  1. 登录EDAS控制台

  2. 在左侧导航栏,单击应用管理 > 应用列表,在顶部菜单栏选择地域并在页面上方选择所属微服务空间,在集群类型下拉列表,选择K8s集群,然后在页面单击具体的应用名称。

  3. 应用总览页面的概览分析页签右上角选择您的自定义诊断时间。

    重要

    当诊断到自定义时间内应用运行异常,将会在页面上方的应用名称右侧出现红色盾牌图标诊断报告图标。当应用没有被诊断出故障时,不代表应用不存在潜在的问题。

    1. 应用总览页面上方的应用名称右侧单击诊断报告图标

    2. 在弹出的诊断报告中查看故障现象和原因分析。

诊断报告组成

诊断报告主要由4个部分组成:诊断详情、故障定界、根因分析和数据支持。

  • 诊断详情:这一部分主要包含了诊断应用、诊断时间和故障现象等3部分内容。

  • 故障定界:这一部分包含了诊断模型推测出的导致应用故障的浅层原因,一般包含以下3种情况:

    • 应用的某个实例故障导致的整体故障。

    • 应用的某个接口或者服务故障导致的整体故障。

    • 应用的下游应用故障导致本应用故障。

  • 根因分析:这一部分包含了诊断模型推测出来的深层原因,深层原因比较多,根据实际的情况有所不同。

  • 数据支持:这一部分包含了得到推测结论的数据支持,不同故障原因的诊断报告中包含的分析数据将不一样。

图 1. 故障诊断报告示例图-RT诊断RT故障诊断报告示例图