-
使用限制 目前支持主流的jdk8、jdk11、jdk17以及jdk21。 jdk8环境请选用末尾不带-jdkxx的版本,jdkxx环境请选用末尾带-jdkxx的版本,需要支持profiler则选用带-profiler的版本。 Agent下载规则:末尾带-jdk17、-jdk11或-jdk21的版本,请在Agent下载路径的末尾增加对应的-jdk17、-jdk11或-jdk21即可。 例如:2.4.12版本Agent的下载地址为:https://apm2-javaagent***/apm2_javaagent/apm-javaagent-2.4.12.tar,则2.4.12-jdk17版本Agent的下载地址为:https://apm2-javaagent***/apm2_javaagent/apm-javaagent-2.4.12-jdk17.tar
-
使用限制 目前支持主流的jdk8、jdk11、jdk17以及jdk21。 jdk8环境请选用末尾不带-jdkxx的版本,jdkxx环境请选用末尾带-jdkxx的版本,需要支持profiler则选用带-profiler的版本。 下载Agent请参见探针下载地址。 Agent下载规则:末尾带-jdk17、jdk11或-jdk21的版本,请在Agent下载路径的末尾增加对应的-jdk17、jdk11或-jdk21即可。 例如:2.4.8版本Agent的下载地址为:https://apm2-javaagent***/apm2_javaagent/apm-javaagent-2.4.8.tar,则2.4.8-jdk17版本Agent的下载地址为:https://apm2-javaagent***/apm2_javaagent/apm-javaagent-2.4.8-jdk17.tar
-
应用体验管理 业务痛点 在用户体验至上的互联网时代,即使后台业务稳定运行,仍然无法获悉用户访问系统时的具体情况,因而定位线上用户偶现的前端问题变得非常困难。一个系统上线之后,访问时的大量报错导致用户无法正常使用,如果
APM 无法及时获知,就会导致流失大量用户,如果用户反馈页面的使用情况,APM能否第一时间复现用户的使用场景;能否知晓用户遇到的详细报错信息而快速修复。 业务实现 APM提供应用体验管理能力,实时分析应用事务从用户请求、服务器到数据库,再到服务器、用户请求的完整过程,实时感知用户对应用的满意度,帮助您全面了解用户体验状况。对于用户体验差的事务,通过拓扑和调用链完成事务问题定位。 应用KPI分析:吞吐量、时延、成功率指标分析,实时掌控用户体验健康状态,用户体验一览无遗。 全链路性能追踪:Web服务、缓存、数据库全栈跟踪,性能瓶颈轻松掌握。
-
故障诊断 业务痛点 海量业务下,出现百种指标监控、调用跟踪数据等丰富但无关联的应用运维数据,如何通过应用、组件和URL跟踪等多视角分析关联指标和告警数据,自动完成故障根因分析,对异常事务分析给出可能原因。 业务实现 当URL跟踪出现异常时,通过URL跟踪可以让用户跟踪某一些重要接口调用与下游的服务调用关系,从更细粒度角度发现问题。 针对应用的调用情况,对调用进行全方面的监控,可视化地还原业务的执行路线和状态,协助性能及故障快速定位。 APM的应用在达到设定的告警条件时,会触发告警并及时上报信息,以便用户在第一时间获取到服务的异常状况,进而迅速处理故障,避免造成业务损失。
-
应用异常诊断 业务痛点 分布式微服务架构下的应用,虽然丰富多样且开发效率高,但是给传统运维诊断技术带来了巨大挑战。以电商为例,主要遇到如下问题: 定位问题难 客服人员接到用户反馈商品购买出现问题后,会交由技术人员排查解决。而微服务分布式架构中的一个业务请求通常要经过多个服务/节点后返回结果。一旦请求出现错误,往往要在多台机器上反复翻看日志才能初步定位问题,对简单问题的排查也常常涉及多个团队。 架构梳理难 在业务逻辑变得逐渐复杂以后,很难从代码层面去梳理某个应用依赖了哪些下游服务(数据库、HTTP API、缓存),以及被哪些外部调用所依赖。业务逻辑的梳理、架构的治理和容量的规划(例如:某活动的准备过程中,需要为每个应用准备多少台机器)也变得更加困难。 业务实现 APM提供大型分布式应用异常诊断能力,当应用出现崩溃或请求失败时,通过应用拓扑+调用链下钻能力分钟级完成问题定位。 可视化拓扑:应用拓扑自发现,异常应用实例无处躲藏。 调用链追踪:发现异常应用后,通过调用链一键下钻,代码问题根因清晰可见。 慢SQL分析:提供数据库、SQL语句的调用次数、响应时间、错误次数等关键指标视图,支持异常SQL语句导致的数据库性能问题分析。
-
系统管理 系统管理包括:采集中心、数据脱敏、用量统计、访问密钥以及通用配置。 采集中心:集中管理、展示APM中支持的采集器插件的入口,在这里可以看到APM中支持的各种采集器插件、指标以及支持的可配置的参数信息。 数据脱敏:APM支持配置脱敏策略,对依赖APM2.0上报的接口相关数据,按照脱敏配置策略进行脱敏处理。 用量统计:探针接入后,可以在用量统计中查看“探针量统计”以及“写入量统计”。 访问密钥:访问密钥(AK/SK,Access Key ID/Secret Access Key)包含访问密钥ID(AK)和秘密访问密钥(SK)两部分,是您在华为云APM服务的长期身份凭证,JavaAgent携带密钥ID(AK)上报数据,华为云通过该AK识别访问用户的身份,通过SK对请求数据进行签名认证,用于确保上报请求的机密性、完整性和请求者身份的正确性。 通用配置:系统通用配置,包括:停止Agent字节码方式拦截,慢请求阈值、监控指标数据采集的最大行数、慢SQL请求阈值、前端监控聚合设置以及应用性能报表推送。
-
应用拓扑 应用拓扑主要分两种: 单组件拓扑:是单个组件下的单个环境的拓扑,同时可以展开直接或间接上下游的组件的拓扑关系。 全局应用拓扑:可以查看这个应用下面全部或者部分组件的全局拓扑关系。 拓扑图展示服务之间一段时间的调用关系,可以是从调用方统计的,也可以是从被调用方统计的,并且可以查看这个调用关系的趋势图。通过拓扑图,一方面可以自动梳理服务之间的调用关系,同时也可以从全局视角查看服务之间调用是否正常,快速定位问题所在。可以清晰地展示应用间关系、调用数据(服务、实例指标)、健康状况等详细内容。
-
URL跟踪 在某些场景下,用户需要关注某个重要应用调用的拓扑关系,称之为URL跟踪分析,比如电子商务系统的创建订单的接口调用。在APM系统,由于URL跟踪消耗资源较大,并不会默认将入口的url调用标示为URL跟踪,需要用户自己将某个环境的某个监控项的调用标示为URL跟踪。APM对于总体URL跟踪标示个数有限制,对于标示为URL跟踪的接口,APM会重点跟踪由此引起的下游的一系列调用关系。通过URL跟踪可以让用户跟踪某一些重要接口调用与下游的服务调用关系,从更细粒度角度发现问题。
-
应用指标监控 APM应用指标监控可以度量应用的整体健康状况。包括:应用监控详情、应用监控配置、监控项视图、实例、采集状态以及组件设置。 应用监控详情:APM Agent会采集Java、Python、Go、Php、C++、.Net和Node.js应用的Profiler性能分析、Debugging诊断、JVM,GC,服务调用,异常,外部调用,数据库访问以及其他中间件的指标数据,帮助用户全面掌握应用的运行情况。 APM支持通过普罗实例,将应用指标上报到
AOM 界面。 应用监控配置:可以对监控项对应的部分采集器自定义采集参数,实现自定义采集配置。 监控项视图:监控项视图当前支持汇总表格、趋势图、最近数据表格和原始表格几种类型。 实例:通过实例页面您可以查看实例的相关信息,并且能对实例的Agent进行停止、启动和删除等操作。 采集状态:通过采集状态页面您可以查看主机的采集状态。 组件设置:组件设置包括关联日志服务、Profiler性能剖析配置以及全采样设置。
-
API失败率趋势图 API失败率趋势图展示调用次数、慢请求占比以及API失败率的趋势图。鼠标停留在某个时间节点处,可以展示调用次数、慢请求占比以及API失败率。 图2 API失败率趋势图 表2 API失败率趋势图相关参数说明 参数名称 说明 调用次数 调用API次数。 慢请求占比 调用API慢请求占比=调用API慢请求次数/调用API总次数。 API失败率 调用API失败率=网络API失败次数/网络调用API总次数。
-
网络请求列表 网络请求列表展示某个应用网络请求的相关信息,指标包括:API、请求方式、请求总数、请求耗时、慢请求次数、慢请求占比、错误次数、错误率以及操作。 图4 网络请求列表 表4 网络请求列表相关参数说明 参数名称 说明 API API信息。 请求方式 API请求方式。 请求总数 API请求总次数。 请求耗时 API请求耗时。 慢请求次数 API慢请求次数。 慢请求占比 调用API慢请求占比=调用API慢请求次数/调用API总次数。 错误次数 调用API错误次数。 错误率 调用API错误率=调用API错误次数/调用API总次数。 在网络请求列表左上的搜索框中输入“API”的关键字,单击,查看满足搜索条件的网络请求列表。注意:关键字区分大小写。 单击网络请求列表右上角的自定义列表项,使界面上显示您需要查看的指标数据。 网络请求列表默认按照“请求总数”降序排列。 单击“API”列的某一行对应的“操作”列的“分析”按钮,展示某条网络请求的详细信息。包括:API失败率趋势图、调用平均耗时趋势图、网络请求列表以及请求状态码分布。 某条网络请求没有正确的Trace ID,因此找不到对应的调用链。此时,网络请求对应的“操作”列的“分析”按钮置灰。 网络请求列表默认按照“发生时间”列默认降序排列。 图5 网络请求详细信息 单击“设备型号/ID”列的某一行对应的“操作”列的“查看详情”。展示该跳转至Trace ID对应的调用链详情页,调用链相关内容,请参见查看调用链详情。
-
卡顿列表 卡顿列表展示卡顿信息的卡顿摘要、卡顿类型、卡顿次数、影响设备数、影响版本数、首次发生时间、最后发生时间以及操作。 图5 卡顿列表 表5 卡顿列表相关参数说明 参数名称 说明 卡顿摘要 卡顿信息的摘要。 卡顿类型 卡顿的类型。 卡顿次数 卡顿的次数。 影响设备数 卡顿影响设备数量。 影响版本数 卡顿影响版本数量。 首次发生时间 首次发生卡顿的时间。 最后发生时间 最后发生卡顿的时间。 在卡顿列表左上的搜索框中输入“卡顿摘要”或者“卡顿类型”的关键字,单击,查看满足搜索条件的卡顿信息。 单击卡顿列表右上角的自定义列表项,使界面上显示您需要查看的指标数据。 卡顿列表默认按照“卡顿次数”降序排列。 单击“卡顿摘要”列的某一行对应的“操作”列的“分析”按钮,展示某条卡顿记录的详细信息。包括:卡顿总览趋势图、TOP5版本卡顿、TOP5设备卡顿以及卡顿列表。 在卡顿列表左上的搜索框中输入“设备型号/ID”或者“卡顿类型”的关键字,单击,查看满足搜索条件的卡顿列表。注意:输入的关键字区分大小写。 单击卡顿列表右上角的自定义列表项,使界面上显示您需要查看的指标数据。 卡顿列表默认按照“发生时间”降序排列。 图6 卡顿摘要详细信息 单击“设备型号/ID”列的某一行对应的“操作”列的“查看详情”。展示该卡顿记录的基本信息以及卡顿堆栈。 图7 卡顿-查看详情 仅iOS应用支持堆栈分析功能。 图8 卡顿-iOS应用支持堆栈分析 表6 卡顿-查看详情相关参数说明 参数名称 说明 发生时间 发生卡顿的时间。 用户标识 用户的唯一标识。 设备型号 设备的型号。 摘要 卡顿信息摘要。 接入方式 App接入方式。 系统版本 系统版本号。 App版本 App版本号。 内存占用 内存占用大小。 内存空闲 内存空闲大小。 CPU使用 CPU已经使用率。 CPU架构 CPU的架构。 可用磁盘 磁盘可使用大小。 已用磁盘 磁盘已使用大小。 应用包名 应用包名称。 卡顿堆栈 卡顿堆栈。 在崩溃堆栈框中输入符号表的OBS桶地址,如何通过OBS客户端上传符号表文件,上传操作请查看 通过控制台快速使用OBS。 单击“堆栈分析”,分析结果展示在框中。 图9 堆栈分析
-
支持审计的关键操作列表 表1
云审计 服务支持的云服务器操作列表 操作名称 资源类型 事件名称 创建AKSK AKSK create-AKSK 删除AKSK AKSK delete-AKSK 修改AKSK AKSK update-AKSK 更改agent采集状态 AGENT change-agent-status 删除agent AGENT delete-agent 更改agent的profiler状态 AGENT profiler-status 创建账号 account create-account 删除账号 account delete-account 分页查询账号 account get-accounts 更新账号 account update-account 创建应用 application create-application 删除应用 application delete-application 更新应用 application update-application 修改应用默认属性 application update-default-application 删除环境 environment delete-env 解除标签与环境的关联 envTag delete-envTag 修改标签下的环境 envTag update-envs-of-tag 修改环境关联的标签 envTag update-tags-of-env 新增子应用 subApplication create-subApplication 删除子应用 subApplication delete-subApplication 更新子应用 subApplication update-subApplication 创建标签 tag create-tag 删除标签 tag delete-tag 获取标签列表 tag get-envTag-List 更新标签 tag update-tag 保存租户的通用配置信息 domain-common-config save-domain-common-config 更改监控项状态 monitor-item change-monitor-item-status 保存监控项的信息 monitor-item save-monitor-item-config 更改规格 spec change-spec 开通APM服务企业版 open-normal-service open-APM-service 开通APM服务免费版 open-trail-service open-trail-version 套餐询价 billing inquiry-price 生成cbc订单号 billing create-order 区域注册 region register-region 探针注册 agent register-agent 同步探针信息 agent sync 注册处理单元 process-unit register-process-unit 添加告警规则 alarm add-an-alarm-rule 删除告警规则 alarm delete-an-alarm-rule 更新告警规则 alarm update-an-alarm-rule 更新告警规则状态 alarm update-an-alarm-rule-status 复制告警模板 alarm copy-alarm-templates 添加告警模板规则 alarm add-an-alarm-template-rule 添加告警模板基础信息 alarm add-an-alarm-template-base 删除告警模板规则 alarm delete-an-alarm-template-rule 删除模板绑定关系 alarm delete-an-alarm-template-relation 删除告警模板 alarm delete-an-alarm-template 更新告警模板规则 alarm update-an-alarm-template-rule 更新告警模板规则与环境的状态 alarm update-an-alarm-template-rule-with-env-status 更新告警模板规则状态 alarm update-template-alarm-rule-status 更新告警模板基础信息 alarm update-template-base 添加或者更新模板绑定关系 alarm update-template-relation 更新调试的告警信息 alarm update-debug-config 添加smn-topic配置信息 alarm add-smn-topic-info 删除smn-topic配置信息 alarm delete-smn-topic-info 更新smn-topic配置信息 alarm update-smn-topic-info 添加用户信息 alarm add-user-information 删除用户信息 alarm delete-user-information 更新用户信息 alarm update-user-information 增加事务配置 transaction add-transaction-config 事务配置删除 transaction delete-transaction-config 环境下脱敏配置保存 desensitization create-env-config 环境下脱敏配置修改 desensitization update-env-config 删除对应环境下的配置信息 desensitization delete-env-config 创建资源标签 tms-tag batch-create-tms-tag 删除资源标签 tms-tag delete-tms-tag 修改资源标签 tms-tag update-tms-tag tms侧创建资源标签 tms-tag create-tms-tags tms侧删除资源标签 tms-tag delete-tms-tags 创建前端监控站点 rum create-rum-instance 更新前端监控站点 rum update-rum-instance 删除前端监控站点 rum delete-rum-instance 更新前端监控站点状态 rum update-rum-instance-status 创建前端监控规则配置 rum create-rum-config 更新前端监控规则配置 rum update-rum-config 删除前端监控规则配置 rum delete-rum-config 上传sourcemap文件 rum sourcemap-upLoad 创建链路追踪应用 skywalking create-sw-business 更新采样率 skywalking update-samplingrate 定义慢接口 skywalking update-slow-interface 定义慢sql skywalking update-slow-sql 生成token skywalking creat-token 删除业务 skywalking delete-business 删除agent skywalking delete-agent 删除环境 skywalking delete-sw-env 保存关联日志服务设置 lts-mapping create-lts-mapping 保存Profiler性能剖析配置 profiler-mapping create-profiler-mapping 查询Profiler性能剖析配置 profiler-mapping list-profiler-mapping 保存微服务与基础设施关联分析设置 aom-mapping create-aom-mapping 查询微服务与基础设施关联分析设置 aom-mapping list-aom-mapping 删除微服务与基础设施关联分析设置 aom-mapping remove-aom-mapping 批量复制自定义设置 aom-mapping create-custom-setting-mapping 创建APP应用 rum-app create-rum-app-instance 更新APP应用 rum-app update-rum-app-instance 删除APP应用 rum-app delete-rum-app-instance 更新APP应用状态 rum-app update-rum-app-instance-status 创建报表推送规则 report create-report-rule 删除报表推送规则 report delete-report-rule 编辑报表推送规则 report update-report-rule 创建或编辑组件设置 component-setting create-or-update-component-setting
-
对未成年人的保护 华为非常重视对未成年人个人信息的保护,华为将严格按照国家法律法规要求对未成年人提供服务并对未成年人提供保护。如果您是未成年人,需要您的父母或其他监护人同意您使用开发者应用并同意相关应用的服务条款。父母或其他监护人也应采取适当的预防措施来保护未成年人,包括监督其对开发者应用的使用。 特别地,如果您是儿童(不满十四周岁的未成年人),在您使用开发者应用和华为的服务前,请务必通知您的父母或其他监护人一起仔细阅读开发者应用隐私声明、本声明,并在您的父母或其他监护人同意或指导后,使用开发者应用和华为的服务或向华为提供信息。如果您是儿童的父母或其他监护人,请确保您监护的儿童在您的同意或指导下使用开发者应用和华为的服务以及向华为提供信息。
-
管理您的个人信息 华为非常尊重您对个人信息的关注,华为将遵照相关法律法规的要求,协调、支持并保障您行使访问、复制、更正、删除等个人信息主体权利。 由于您是通过开发者应用使用【
应用性能管理 服务数据采集SDK】和服务,如果您希望访问、复制或更正与【应用性能管理服务数据采集SDK】和服务相关的个人信息,您应通过开发者应用提供的路径实现您的个人信息主体权利。 为保障您访问、复制、更正和删除个人信息的权利实现,华为在与开发者的协议中,明确要求开发者承诺根据法律法规要求向您提供便捷的权利实现方式。【同时,华为的开放能力也向开发者提供了相关的接口,支持开发者通过接口调用方式来执行您关于个人信息的访问、复制、更正和删除的权利请求。】您也可以通过本声明“如何联系华为”章节中所述联系方式与华为取得联系,华为将尽力协调、支持并保障您的上述权利实现。 当您直接向华为提出个人信息主体权利时,为了保障您的数据安全和其他合法权益,华为可能会对您的身份进行验证并要求您提供验证身份所必要的个人信息,同时华为也可能会向开发者提供收集的身份验证信息以核实您的身份。在验证确认您的身份后,华为会根据法律法规要求及时响应您的相关请求。 如您对您的数据主体权利有进一步要求或存在任何疑问、意见或建议,可通过本声明中“如何联系华为”章节中所述方式与华为取得联系,并行使您的相关权利。