一、功能概要
时速云APM模块即应用性能管理,完美兼容 Pinpoint,通过跟踪服务之间的调用来解决微服务监控问题。APM 主要从应用性能方面对微服务进行监控和管理,保证业务服务的性能和可靠性。其中,微服务拓扑主要是查看服务间的拓扑,使得服务间的关系不再是一个“黑盒”。可实时了解各服务之间的调用关系及请求次数,及时发现并排查问题;同时可查看服务实例之间的请求响应时间和响应次数。
二、Dockerfile启动jar增加参数($JAVA_OPTS)
三、开通 APM 性能管理
APM性能管理对应用程序无侵入性,只需添加代理参数即可。
为 PaaS 平台的微服务开通性能管理的操作步骤如下:
- 创建服务时,在「配置服务」那一步,切换至 开启 后可注入pinpoint agent,将服务开通 APM 性能管理功能,可对Java应用提供应用调用链、拓扑等监控能力,如下图1、图2、图3:
图1 开启性能管理开关
图2 开启APM性能管理服务要求
根据图2要求添加-Dpinpoint.agentId=${POD_IP}参数到程序的JVM中,例如JAVA_OPTS参数,或者其他自定义参数
图3 环境变量参数设置
- 待服务启动后,可在微服务拓扑页面选择该服务,并查看该服务与其他服务之间的调用关系。
- 在左侧导航的 性能管理(APM)中,单击 微服务拓扑 ,拓扑页面上部可下拉选择一个想要查看的服务,并选择时间过滤查看拓扑的时间段。
图4 性能管理控制台
与选择的服务有调用关系的服务也会显示在拓扑图中,拓扑图中可清晰的查看调用次数、请求错误次数,右侧可见各实例的请求响应时间分布、请求响应时间摘要、请求分时段负载等信息,从而定位服务存在的问题。
四.优势
- 安装的采集端代理组件对原有的服务代码无侵入
- 根据请求流量自动的生成微服务调用的拓扑结构
- 通过可视化的结构显示网络微服务调用的关系
- 实时监控活动线程,并通过图形形式展示
- 可视化的显示请求超时发生的位置,帮助快速定位问题
- 可以收集和显示CPU、内存、垃圾收集、请求吞吐量和JVM运行情况