应用探针#

下载 & 解压#

探针压缩包 cloudquery-probe.zip 拷贝至应用所在服务器,如 docker 方式运行的应用需将压缩包拷贝至 docker 容器内,解压该 zip 包,执行命令:

unzip cloudquery-probe.zip

效果如下:

探针解压目录

安装部署#

解压完成,在 cloudquery-probe/lib/sandbox/cfg 下找到 jvm_info.properties 并打开,编辑里面的各个属性项,没装 vim 可用 vi 命令:

vim jvm_info.properties

探针安装

属性说明#

  • cq.user.host.ip=192.168.1.159

    安装了 cloudquery 的主机的 IP

  • cq.user.host.port=9898

    cloudquery 暴露的端口,如果是使用了一些反向代理服务器,可以使用反向代理服务器。暴露的端口,例如这里使用 nginx 作为反向代理,统一暴露的端口就是 9898

  • app.code=IUHFGKLKSJH

    这里是应用唯一的逻辑标识码,可以将当前部署的应用与其他应用区别开来,例如当前:

    • 部署的应用名称是 taobao-order, 这里你可以为该应用使用 cloudquery 应用管理生成

    • 一个 应用标识码,如“IUHFGKLKSJH”与 cloudquery 平台创建的应用 id 保持一致

  • app.id=

    这里是 java 应用进程的 id,但这里不推荐进行配置,原因是只有应用启动了才会有进程 id

  • app.pname= taobao-order

    还是拿上述提到的 应用名称 “taobao-order”来说事,当该应用启动之后,需保证进程描# 述中含有“taobao-order”这样的字符串(确认命令一般为:ps -aux | grep “taobao- order”)(推荐使用)

    这样探针在启动之后才能保证从一些列 jvm 进程中找到目标进程。

启动运行#

配置完成后进入主目录下的 lib/sandbox/bin 目录下,执行 probe.sh 脚本 , 执行命令如下:

cd cloudquery-probe/lib/sandbox/bin

​ ./probe.sh (执行之前请保证当前用户对该脚本具有执行权限)

​ 结果页面如下:

探针启动

{"requestId":null,"code":200,"success":true,"result":"{\"target\":\"mysql\",\"matcher\":{\"matchers\":{}},\"action\":{\"name\":\"delay\"},\"actionName\":\"delay\"}","error":null}
{"requestId":null,"code":200,"success":true,"result":"{\"target\":\"mysql8\",\"matcher\":{\"matchers\":{}},\"action\":{\"name\":\"delay\"},\"actionName\":\"delay\"}","error":null}
{"requestId":null,"code":200,"success":true,"result":"{\"target\":\"oracle\",\"matcher\":{\"matchers\":{}},\"action\":{\"name\":\"delay\"},\"actionName\":\"delay\"}","error":null}
{"requestId":null,"code":200,"success":true,"result":"{\"target\":\"mssql\",\"matcher\":{\"matchers\":{}},\"action\":{\"name\":\"delay\"},\"actionName\":\"delay\"}","error":null}
{"requestId":null,"code":200,"success":true,"result":"{\"target\":\"psql\",\"matcher\":{\"matchers\":{}},\"action\":{\"name\":\"delay\"},\"actionName\":\"delay\"}","error":null}

到此探针安装启动成功。