卸载Golang探针

当您不需要使用ARMS监控您的Golang应用时,可以通过卸载Golang探针停止监控。本文介绍如何移除Golang探针的代码增强,以及如何清理混合编译失败后的探针残留。

卸载Golang探针

在正常情况下,instgo工具会在完成混合编译后将您的代码库复原。如果您不再需要Golang探针提供的代码增强,无需删除instgo工具,只需将instgo工具换回Golang本身,重新编译您的应用即可,具体操作步骤如下:

  1. (可选)拉取应用代码库,并使用go build命令重新编译。

  2. 将编译好的应用部署到线上,替换原先已接入Golang探针的应用。

清理Golang探针编译残留

在混合编译过程中,Golang探针会对您的部分文件进行修改,以实现代码增强。编译完成后,一般情况下Golang探针会自动对修改过的文件进行清理,但在以下几种情况下需要您手动清理残留:

  • 编译未完成时强制停止或杀死了编译进程。

  • 编译工具由于panic等原因异常退出。

如果出现以上几种情形,您可以手动运行clean命令,恢复探针对代码的修改:

Linux/Darwin

./instgo clean

Windows

.\instgo.exe clean

删除instgo编译工具

如果您不再需要使用instgo编译工具,可以按照以下步骤彻底删除:

  1. 删除缓存目录(编译时通过--cacheDir指定的目录)下的所有文件,如果未指定缓存目录,默认缓存目录如下:

    Linux/Darwin

    # 指定的缓存目录(请将${cacheDir}替换为您指定的缓存目录)
    rm -rf ${cacheDir}/aliyun-go-agent
    # 默认的缓存目录
    rm -rf /opt/.opt/aliyun-go-agent

    Windows

    # 指定的缓存目录(请将${cacheDir}替换为您指定的缓存目录)
    rmdir ${cacheDir}\aliyun-go-agent -Recurse
    # 默认的缓存目录
    rmdir C:\ProgramData\.opt\aliyun-go-agent -Recurse
  2. 删除instgo工具。