卸載Golang探針
當(dāng)您不需要使用ARMS監(jiān)控您的Golang應(yīng)用時(shí),可以通過(guò)卸載Golang探針停止監(jiān)控。本文介紹如何移除Golang探針的代碼增強(qiáng),以及如何清理混合編譯失敗后的探針殘留。
卸載Golang探針
在正常情況下,instgo工具會(huì)在完成混合編譯后將您的代碼庫(kù)復(fù)原。如果您不再需要Golang探針提供的代碼增強(qiáng),無(wú)需刪除instgo工具,只需將instgo工具換回Golang本身,重新編譯您的應(yīng)用即可,具體操作步驟如下:
(可選)拉取應(yīng)用代碼庫(kù),并使用
go build
命令重新編譯。將編譯好的應(yīng)用部署到線上,替換原先已接入Golang探針的應(yīng)用。
清理Golang探針編譯殘留
在混合編譯過(guò)程中,Golang探針會(huì)對(duì)您的部分文件進(jìn)行修改,以實(shí)現(xiàn)代碼增強(qiáng)。編譯完成后,一般情況下Golang探針會(huì)自動(dòng)對(duì)修改過(guò)的文件進(jìn)行清理,但在以下幾種情況下需要您手動(dòng)清理殘留:
編譯未完成時(shí)強(qiáng)制停止或殺死了編譯進(jìn)程。
編譯工具由于panic等原因異常退出。
如果出現(xiàn)以上幾種情形,您可以手動(dòng)運(yùn)行clean
命令,恢復(fù)探針對(duì)代碼的修改:
Linux/Darwin
./instgo clean
Windows
.\instgo.exe clean
刪除instgo編譯工具
如果您不再需要使用instgo編譯工具,可以按照以下步驟徹底刪除:
刪除緩存目錄(編譯時(shí)通過(guò)
--cacheDir
指定的目錄)下的所有文件,如果未指定緩存目錄,默認(rèn)緩存目錄如下:Linux/Darwin
# 指定的緩存目錄(請(qǐng)將${cacheDir}替換為您指定的緩存目錄) rm -rf ${cacheDir}/aliyun-go-agent # 默認(rèn)的緩存目錄 rm -rf /opt/.opt/aliyun-go-agent
Windows
# 指定的緩存目錄(請(qǐng)將${cacheDir}替換為您指定的緩存目錄) rmdir ${cacheDir}\aliyun-go-agent -Recurse # 默認(rèn)的緩存目錄 rmdir C:\ProgramData\.opt\aliyun-go-agent -Recurse
刪除instgo工具。