检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
在异常,您可以在业务在调用链路查询页面,通过TraceId精确查询调用链路详细情况,或结合多种条件筛选查询调用链路。 接入APM 云下业务接入云上APM 用户需要云下业务接入云上APM,但云专线无法打通网络。因此,用户需要用代理的方式接入APM,本文介绍了云下业务如何接入云上APM的操作过程。
regex四种方式。 业务code采集长度限制 integer JAVA 0 2.0.0 - 解析业务code需要采集body内容的长度限制。 解析业务code的key array JAVA - 2.0.0 - 解析json格式的body内容的key,获取业务状态码。 业务code的正确值
APM支持各业务下的环境及应用进行标签管理,按照业务需求对不同的环境及应用添加对应的标签,用来划分业务,方便对业务进行管理。 告警管理 接入APM的应用在达到设定告警条件时,会触发告警并及时上报信息,以便用户在第一时间获取到服务的异常状况,进而迅速处理故障,避免造成业务损失。 探针管理
JAVA true 2.0.0 - 采集到了日志异常之后,是否将所属调用链数据标记为异常。 关联业务日志与TraceId radio JAVA false 2.3.19 - 关联业务日志与TraceId。 表2 异常指标说明 指标类别 指标 指标名称 指标说明 单位 数据类型 默认聚合方式
调用链 调用链跟踪、记录业务的调用过程,可视化地还原业务请求在分布式系统中的执行轨迹和状态,用于性能及故障快速定界。 应用 应用是提供服务所需功能的软件,可以对相同或者相近业务的一组服务进行逻辑划分。您可以将某类相同业务的服务放到同一个应用中,并实现整个业务的应用性能管理。例如,可
接入APM 云下业务接入云上APM 公网如何接入APM Kubernetes如何接入APM IDE如何接入APM Windows IIS如何安装JavaAgent
-javaagent:/xxx/apm-javaagent/apm-javaagent.jar=appName={appName} 当企业业务很多的情况下,也支持更为复杂一些的配置,添加-javaagent参数的复杂模式如: java -javaagent:/xxx/apm-ja
APM版本 说明 V2.0 APM2.0相比原APM1.0,增加监控指标数量、增加监控中间件数量,提高端到端调用链路完整性,并且进一步优化了业务保护、数据采样和安全隐私。
APM支持各业务下的环境及应用进行标签管理,按照业务需求对不同的环境及应用添加对应的标签,用来划分业务,方便对业务进行管理。 智能告警 接入APM的应用在达到设定的告警条件时,会触发告警并及时上报信息,以便用户在第一时间获取到服务的异常状况,进而迅速处理故障,避免造成业务损失。 A
Code,聚合维度:Method,发现有两个方法占用了较多内存。 单击“方法路径”列,对应的方法名找到该方法的调用栈,向上找到调用此方法的业务代码。 定位到业务代码块,该代码使用了一个缓存来存放每个instance的信息。通过自监控查看该sql的调用,发现每分钟会调10万次,进一步证实是缓存失效了。
额外采集一条。如果打开正常调用采集开关,正常调用抽样采样,如果关闭此开关,不采集正常调用。 单击开启内存检测机制。 为了避免业务极度繁忙时,采集探针对业务性能造成影响,可开启内存检测机制,使采集探针进入休眠状态。您还可以单击,设置持续周期和内存占用。 内存占用=java进程实际使用内存/可用内存上限。
SDK拓展配置项可以不选择、选择一个或多个配置项。未被选择的配置项,将不在指标中体现其数据。 图3 iOS SDK拓展配置项 在iOS添加探针。 图4 iOS业务埋码探针 单击“创建移动端App”,完成创建。 父主题: 开始监控iOS应用
配置项。未被选择的配置项,将不在指标中体现其数据。 图3 Android SDK拓展配置项 在Android添加探针 图4 Android业务埋码探针 单击“创建移动端App”,完成创建。 父主题: 开始监控Android应用
内存泄漏、线程异常等问题。 调用链追踪 调用链:APM能够针对应用的调用情况,对调用次数、响应时间和出错次数进行全方面的监控,可视化地还原业务的执行轨迹和状态,协助性能及故障快速定界。如图 调用链追踪所示,在拓扑图中发现红色的服务出现异常后,通过查看调用状态、耗时、接口调用的详细信息,进一步定界问题产生的原因。
序号 功能名称 功能描述 阶段 相关文档 1 优化ServiceComb调用链 调用链可跟踪、记录业务的调用过程,对应用的调用状态、调用耗时等关键指标进行全方位的监控,可视化地还原业务请求在分布式系统中的执行轨迹和状态,用于性能及故障快速定界。 商用 调用链 2 优化JVM线程监控
从火焰图中可以看到,java.util.LinedList.node(int) 方法占用了 66% 的 CPU,而相应的业务代码方法是 countPages(List)。 图4 Profiler火焰图分析 分析业务代码,结合代码可以发现该方法countPages(List)是对入参集合list进行下标遍历,而通过火焰图运行时数据发现,传入的是
应用异常调用快速定位。 操作步骤 登录应用性能管理控制台。选择左侧导航中的“全链路拓扑”,进入APM拓扑界面。 查看拓扑数据图中各指标、业务拓扑关系、TOP统计信息等。 右键单击有问题的调用链,并选择“调用链搜索”。 进入调用链界面,查看失败/高时延调用链,单击操作列的“查看调用关系”。
限制并在Java标准输出中打印警告信息perf_event mmap failed...。出现这个告警信息,对Java的运行没有副作用,对业务也没有影响,实际的影响是火焰图中看不到Native的栈。一般来说定位CPU热点问题时,只看Java方法栈就够了,您可以忽略此告警。 解决方案
该全局TraceID搜索。 选填 应用码 已配置url监控项的业务code采集长度限制、解析业务code的key、业务code的正确值参数后,会采集相应的应用码,这里可以根据应用码进行搜索。一般情况下,应用码的值与业务code的正确值相同。配置url监控项详见配置url监控项。 选填
链方法;若未设置该选项,则表示根据采集配置时设置的采样率(普通采样或智能采样)采集调用链方法。 在页面下方通过总调用耗时、调用状态初步定位业务性能问题。 单击问题调用所在行“操作”列的“查看调用关系”,查看方法级的调用关系。 父主题: 调用链追踪