當您不需要使用ARMS監控您的Golang應用時,可以通過卸載Golang探針停止監控。本文介紹如何移除Golang探針的代碼增強,以及如何清理混合編譯失敗後的探針殘留。
卸載Kubernetes環境中的探針
ack-onepilot組件由MSE和ARMS共用,卸載ack-onepilot前請確認您的產品沒有接入MSE,否則卸載ack-onepilot將會導致MSE無法使用。
為叢集下所有應用卸載探針
方式一:通過Container Service管理主控台卸載
在左側導覽列單擊叢集,然後在叢集列表頁面單擊目的地組群名稱。
在左側導覽列選擇
,然後在右上方通過關鍵字搜尋ack-onepilot。在ack-onepilot卡片上單擊卸載。
在彈出的對話方塊中單擊確定。
重啟您的業務Pod。
方式二:通過命令列卸載
執行以下命令卸載ack-onepilot。
helm3 uninstall --namespace ack-onepilot ack-onepilot
重啟您的業務Pod。
為叢集下指定應用卸載探針
在Container Service管理主控台左側導覽列單擊叢集,在叢集列表頁面上的目的地組群右側操作列單擊應用管理。
在無狀態頁面目標應用右側選擇
。在編輯YAML對話方塊中刪除安裝探針時添加的
labels
,然後單擊更新。重啟Pod。
卸載手動安裝的探針
在正常情況下,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工具。