当您不需要使用ARMS监控您的Golang应用时,可以通过卸载Golang探针停止监控。本文介绍如何移除Golang探针的代码增强,以及如何清理混合编译失败后的探针残留。
卸载Golang探针
在正常情况下,instgo工具会在完成混合编译后将您的代码库复原。如果您不再需要Golang探针提供的代码增强,无需删除instgo工具,只需将instgo工具换回Golang本身,重新编译您的应用即可,具体操作步骤如下:
(可选)拉取应用代码库,并使用
go build
命令重新编译。将编译好的应用部署到线上,替换原先已接入Golang探针的应用。
清理Golang探针编译残留
在混合编译过程中,Golang探针会对您的部分文件进行修改,以实现代码增强。编译完成后,一般情况下Golang探针会自动对修改过的文件进行清理,但在以下几种情况下需要您手动清理残留:
编译未完成时强制停止或杀死了编译进程。
编译工具由于panic等原因异常退出。
如果出现以上几种情形,您可以手动运行clean
命令,恢复探针对代码的修改:
Linux/Darwin
./instgo clean
Windows
.\instgo.exe clean
删除instgo编译工具
如果您不再需要使用instgo编译工具,可以按照以下步骤彻底删除:
删除缓存目录(编译时通过
--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
删除instgo工具。