全部產品
Search
文件中心

Application Real-Time Monitoring Service:卸載Golang探針

更新時間:Dec 13, 2024

當您不需要使用ARMS監控您的Golang應用時,可以通過卸載Golang探針停止監控。本文介紹如何移除Golang探針的代碼增強,以及如何清理混合編譯失敗後的探針殘留。

卸載Kubernetes環境中的探針

警告

ack-onepilot組件由MSE和ARMS共用,卸載ack-onepilot前請確認您的產品沒有接入MSE,否則卸載ack-onepilot將會導致MSE無法使用。

為叢集下所有應用卸載探針

方式一:通過Container Service管理主控台卸載

  1. 登入Container Service管理主控台

  2. 在左側導覽列單擊叢集,然後在叢集列表頁面單擊目的地組群名稱。

  3. 在左側導覽列選擇營運管理 > 組件管理,然後在右上方通過關鍵字搜尋ack-onepilot

  4. ack-onepilot卡片上單擊卸載

  5. 在彈出的對話方塊中單擊確定

  6. 重啟您的業務Pod。

方式二:通過命令列卸載

  1. 執行以下命令卸載ack-onepilot。

    helm3 uninstall --namespace ack-onepilot ack-onepilot
  2. 重啟您的業務Pod。

為叢集下指定應用卸載探針

  1. Container Service管理主控台左側導覽列單擊叢集,在叢集列表頁面上的目的地組群右側操作列單擊應用管理

  2. 無狀態頁面目標應用右側選擇更多 > 查看Yaml

  3. 編輯YAML對話方塊中刪除安裝探針時添加的labels,然後單擊更新

  4. 重啟Pod。

卸載手動安裝的探針

在正常情況下,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工具。