APM如何采集探针数据?
如何采集数据
APM是通过采集探针采集应用数据的。采集探针是通过字节码增强技术进行埋点,生成调用数据。调用数据被采集代理ICAgent所获取并处理,然后上报并呈现在界面中。关系如下图所示:
采集哪些数据
APM仅采集应用的业务调用链数据、资源信息、资源属性、内存检测信息、调用请求的KPI数据,不涉及个人隐私数据。所采集的数据仅用于APM性能分析和故障诊断,不会用于其他商业目的。下表为数据采集范围和用途。
数据类型 |
采集数据 |
传输方式 |
存储方式 |
数据用途 |
时限 |
调用链数据 |
调用链Span数据 |
通过https加密结合AKSK鉴权的方式传输 |
APM服务端按照Project隔离存储 |
调用链前台查询展示 |
可配置,最大7天,到期彻底删除 |
调用请求KPI数据 |
调用发起方地址、调用接收方地址、调用接口、调用耗时、调用状态 |
通过https加密结合AKSK鉴权的方式传输 |
APM服务端按照Project隔离存储 |
用于计算事务调用KPI指标(吞吐量、TP99时延、平均时延、错误调用次数等)与绘制应用拓扑,在前台界面展示 |
7天,到期彻底删除 |
资源信息 |
服务类型、服务名称、创建时间、删除时刻、所在节点地址、服务发布端口 |
通过https加密结合AKSK鉴权的方式传输 |
APM服务端按照Project隔离存储 |
资源库前台查询展示 |
7天,到期彻底删除 |
资源属性 |
系统类型、系统启动事件、CPU个数、服务执行用户名称、服务进程id、服务的PodID、CPU标志、系统版本、服务使用的Web框架、JVM版本、时区、系统名称、采集器版本以及LastMail的Url |
通过https加密结合AKSK鉴权的方式传输 |
APM服务端按照Project隔离存储 |
资源库前台查询展示 |
7天,到期彻底删除 |
内存检测信息 |
内存使用率、使用量、最大使用量、剩余内存大小、内存超限时刻以及内存监测机制的配置信息 |
通过https加密结合AKSK鉴权的方式传输 |
APM服务端按照Project隔离存储 |
资源库前台查询展示 |
7天,到期彻底删除 |
APM的资源开销有多大
每个采集探针CPU占用率低于5%,内存约占用250M。