更新时间:2022-06-09 GMT+08:00

如何将APM接入非Web程序中?

非Web程序:没有对外暴漏端口、无法从外部访问的进程,通常在系统中主要负责定时任务的JAVA进程。

操作

当前APM也支持接入到非Web程序中,采集相关数据并呈现在界面中的,您只需要按照如下描述的进程部署方式配套选择APM接入方式即可:

  • 通过云容器引擎服务(CCE)部署的非Web程序,则接入方式详见CCE方式
  • 直接将非Web程序部署在弹性云服务器或裸金属服务器上,未使用CCE,则接入方式详见虚机方式

CCE方式

CCE是云容器引擎,提供容器应用管理服务。在您创建或者是升级非Web程序时按照下图所示设置环境变量并勾选探针,即表示您已经将APM的采集探针安装在非Web程序中了。启动程序3分钟左右后,您只需要登录APM即可在拓扑、事务界面上查看程序情况。

图1 设置环境变量
图2 勾选探针

虚机方式

针对直接将非Web程序部署在弹性云服务器或裸金属服务器上情况,您需要在启动脚本中增加如下配置:

-javaagent:/opt/oss/servicemgr/ICAgent/pinpoint/pinpoint-bootstrap.jar -Dapm_application=应用名称 -Dapm_tier=服务名称 -Dapm_noport=true

配置完成后,启动程序即可在APM界面中看到程序数据。

例如,您原来的启动脚本为:

java -jar app.jar

增加应用名称为vmall,服务名称为vmall-product-service,则增加配置后的启动脚本为:

java -javaagent:/opt/oss/servicemgr/ICAgent/pinpoint/pinpoint-bootstrap.jar -Dapm_application=vmall -Dapm_tier=vmall-product-service -Dapm_noport=true -jar app.jar