當您不需要使用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工具。