ARMS业务监控以代码无侵入的方式,可视化定义业务请求,提供贴合业务的丰富性能指标与诊断能力。在完成接入业务监控的操作后,您可以开始使用业务监控,包括创建业务监控任务和查看业务监控数据等。

适用场景

业务监控的适用场景如下所示:

  • 业务人员需要监控所关注的业务,但已有的监控系统无法表达业务语义。
  • 应用系统包含很多业务语义,运维人员需要快速配置并监控各个业务的流量数据。
  • 新业务接口上线后,接口不稳定导致出现异常或错误,开发人员需要针对此接口的每个调用分析定位问题。
  • 业务负责人需要梳理某个业务的依赖情况,并基于业务依赖进行相关业务优化,保障重点业务的稳定性。

其中,业务监控的典型场景如下所示。

在某电商中台化架构中,交易中心服务负责支撑所有上层业务的下单处理逻辑。不同类目的商品交易处理逻辑可能有很大差异,导致业务链路也完全不同。随着业务发展复杂度的增加,依靠传统的人力方式很难快速梳理出相关业务的交易链路。此外,由于不同类目的商品交易量存在差距,例如业务A今日的交易流量明显下跌,但业务A占整体交易流量的比重较低,所以单纯从整体交易下单的监控流量变化无法准确发现某些业务的问题。

在此场景下,您可借助ARMS业务监控,在交易中心的下单入口处配置按照商品类目分组的业务监控,例如按照女装类目和家电类型分组,即可监控任意类目的商品交易情况,以及快速梳理某一类目商品的交易链路。

dg_business_typical_case

限制条件

  • 您需要接入业务监控的应用是Java应用,并且已接入应用监控,详情请参见准备工作概述
  • 只有2.6.2+ 版本的应用探针支持ARMS业务监控功能。

操作流程

dg_business_workflow
说明 目前业务监控处于公测阶段,因此在您准备接入业务监控前,需要先加入钉钉答疑群:30004969,并告知工作人员您的阿里云账号ID和应用名称。工作人员在后台为您配置白名单后,您可以开始安装或升级探针的操作。扫描以下二维码图片加入钉钉答疑群。
dg__business_dingding

创建业务监控任务

  1. 登录ARMS控制台
  2. 在左侧导航栏单击业务监控,在业务监控页面的右上角单击创建业务监控
  3. 新建业务监控页面,填写基础信息后,单击保存
    dg_business_create_btask
    参数 描述 示例
    业务名称 业务监控任务的名称,必填。 下单入口。
    入口应用 入口应用列表显示所有已安装应用监控探针的Java应用,必选。选中所需应用后,ARMS自动检测其应用探针的版本号。
    说明 应用探针升级至2.6.2+ 版本才能使用业务监控功能,若检测到探针版本非2.6.2+ 时,请您先升级探针,详情请参见为Java应用安装探针
    demo-order-center。
    服务类型 目前仅支持HTTP入口,必选。 HTTP入口
    服务名称 即应用提供的接口名称,必填。ARMS会根据您设置的入口应用自动匹配出该应用最近提供的接口列表以便您选择。如果推荐的接口不满足需求时,您也可以编辑修改。
    服务名称的匹配模式支持以下4种类型:
    • 等于:完全匹配服务名称的业务接口,默认匹配模式。
    • 开始等于:匹配以服务名称为前缀的业务接口。若您需要监控具备相同前缀的业务接口时,可选择此模式。
    • 包含:匹配包含服务名称的业务接口。若您的应用提供大量业务接口时,可选择此模式快速监控您所需的业务接口。
    • 结束等于:匹配以服务名称为后缀的业务接口。以“.do”和“.action”配置结尾的典型Web框架比较适合使用此模式。
    等于 /api/buy。
    过滤规则关系 可以选择同时满足下述规则满足下述一条规则 同时满足下述规则
    过滤规则 对配置的业务接口进一步筛选过滤,选填。过滤规则需要设置匹配参数(ParameterCookieHeader)、匹配Key值、匹配方式(==!=contains)和阈值。

    支持设置多条过滤规则,多条过滤规则之间逻辑关系由您设置的过滤规则关系决定。

    假设您的应用提供 /api/buy?brand=*** 这样的URL,您希望监控brand=Alibaba的接口调用时,可在表单中设置服务名称等于 /api/buy,过滤规则Parameter brand == Alibaba。
    分组规则 对配置的业务接口进一步细化统计并分组,必填。分组规则需要设置匹配参数(ParameterCookieHeader)和匹配Key值。

    分组规则仅支持设置单条规则,可与过滤规则同时设置。

    注意 分组规则设置的Key值须是枚举类型。如果Key值无法枚举,则运行时会增加应用内存占用率。常见的无法枚举的字段例如某个业务模型的ID字段。
    假设您的应用提供 /api/buy?brand=*** 这样的URL,您希望对接口 /api/buy的调用按brand分别统计时,可在表单中设置服务名称等于 /api/buy,分组规则Parameter brand。

查看监控数据

  1. 登录ARMS控制台
  2. 在左侧导航栏单击业务监控,在业务监控页面的业务监控任务列表中,单击目标任务右侧的点击展开,查看对应应用业务的响应时间请求数错误数的时序曲线图。
  3. 业务监控页面的业务监控任务列表中,单击任务名称。
  4. 业务监控详情页面,查看该应用的详细调用拓扑。您还可以按照接口条件进一步筛选过滤。
    dg_business_detail_overview

    您可在业务监控详情页面进行以下操作:

    • 单击SQL分析页签,查看SQL请求列表。借助此标签页,您可以找出是哪一个SQL造成某个服务过慢。您还可以单击某个SQL中的接口快照查看此SQL执行逻辑所处的完整代码链路。
    • 单击异常分析页签,查看应用抛出的Java异常。您还可以单击某个异常中的接口快照查看异常堆栈所处的完整代码链路。
    • 单击错误分析页签,查看应用的错误数和HTTP状态码统计数据。您还可以单击TraceId查看调用链路相关信息。
    • 单击链路上游链路下游页签,查看应用上游或下游的接口及其调用性能指标。
    • 单击接口快照页签,查看接口调用的快照,可帮助您根据接口名称查找历史调用记录。您还可以单击TraceId查看调用链路相关信息。