全部產品
Search
文件中心

Serverless App Engine:為Golang應用安裝探針

更新時間:Mar 13, 2025

在為Golang應用手動安裝ARMS探針並部署到SAE之後,您就可以通過ARMS監控該應用。通過ARMS,您可以查看包括應用拓撲、調用鏈路分析、SQL效能分析等在內的多種監控資料。本文主要介紹為應用手動安裝ARMS探針並部署至SAE

前提條件

限制條件

此功能僅適用於通過鏡像部署的Go語言應用。

步驟概述

  1. 準備專案:本文以Demo專案為例進行說明。

  2. 製作鏡像並上傳至ACR鏡像倉庫:把專案製作成鏡像,並推送至阿里雲ACR倉庫,為在SAE上建立微服務應用做準備。

  3. 建立應用:將上傳到鏡像倉庫的鏡像部署到SAE,並訪問應用。

  4. 查看應用監控:查看應用產生的多種監控資料。

1. 準備專案

上傳Go語言專案至您準備好的環境中。

2. 製作鏡像並推送至鏡像倉庫

2.1 製作鏡像

本文只介紹下載編譯工具和構建應用的命令。

  1. 下載編譯工具。

    # 下載wget命令。
    RUN yum -y install wget
    
    # 本文以從杭州公網地址下載編譯工具為例進行說明。
    RUN wget "http://arms-apm-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/instgo/instgo-linux-amd64" -O instgo

    在實際的生產環境中,請根據構建機所在地區,選擇對應的下載地址。具體的下載地址,請參見各地區對應的下載命令

    說明

    各地區下載的編譯工具是相同的,如果您的公網環境可以訪問OSS地址,可以直接使用對應作業系統和架構的杭州公網地址擷取編譯工具。

  2. 為二進位檔案添加可執行許可權。

    RUN chmod +x instgo
  3. 通過OpenAPI擷取LicenseKey。具體方法,請參見DescribeTraceLicenseKey - 列出LicenseKey

  4. 使用./instgo build替換go build命令構建應用。

    # 使用./instgo build命令編譯Go專案。
    # 把{licenseKey}替換為上一步擷取到的LicenseKey。
    RUN ./instgo build --licenseKey="{licenseKey}" --cacheDir=./

    如果您需要測試編譯效果,或暫時無法擷取到LicenseKey,可以添加--dev來開啟Dev編譯模式,此模式下不需要傳入LicenseKey。

    說明

    如果您原本編譯命令中含有後續的編譯參數,請在所有選項添加完畢後,添加--分隔字元,並將編譯參數按照原有格式添加在後面。例如:

    RUN ./instgo build --licenseKey="{licenseKey}" --cacheDir=./ -- {arg1} {arg2} ...
    • lnstgo常見命令與釋義如下所示

      命令

      flag

      接收參數類型

      含義

      是否必傳

      build(編譯)

      --licenseKey, -l

      string

      指定ARMS的LicenseKey。

      是(dev 模式下可不傳)

      --dev

      -

      指定編譯模式為開發模式,此模式下無需指定LicenseKey即可編譯,用於測試基本可用性。

      重要

      --agentVersion

      string

      指定探針版本。

      --agentPath

      string

      指定本地探針路徑。

      --cacheDir

      string

      指定探針緩衝目錄。

      --regionId, -r

      string

      指定拉取探針包依賴的OSS所在RegionId,預設為cn-hangzhou。

      --timeout, -t

      int

      指定拉取探針逾時時間,預設為180秒。

      --verbose, -v

      -

      開啟後,打出詳細的編譯日誌。

      --vpc

      -

      開啟後,預設走內網拉取探針包依賴。

      clean

      (清理產物)

      -

      -

      -

      -

      update(更新)

      --licenseKey, -l

      string

      指定ARMS的LicenseKey。

      --cacheDir

      string

      指定探針緩衝目錄。

      --regionId, -r

      string

      指定拉取探針包依賴的OSS所在RegionId,預設為cn-hangzhou。

      --timeout, -t

      int

      指定拉取探針逾時時間,預設為180秒。

      --vpc

      開啟後,預設通過內網拉取探針包依賴。

      version

      (輸出版本號碼)

      -

      -

      -

      -

    • 初次編譯時間,探針會預設被下載到/opt目錄下,可以使用--cacheDir flag指定緩衝目錄。

2.2 推送鏡像至鏡像倉庫

將製作成功的Go語言鏡像推送至阿里雲鏡像倉庫。具體操作,請參見推送拉取鏡像(企業版)推送拉取鏡像(個人執行個體版)

3. 建立Go應用

本文只介紹關鍵步驟。建立應用的詳細步驟,請參見通過鏡像部署應用

3.1 建立應用

  1. 設定鏡像面板,選擇技術棧語言Go,然後選擇具體的鏡像版本。

    Zjyqn9Csms

  2. 進階設定頁面的應用監控地區,開啟應用監控

    qVjKh7KK96

  3. 單擊建立應用

3.2 訪問測試

  1. 為應用添加公網訪問地址。具體操作,請參見為應用綁定CLB並產生應用的公網或私網訪問IP

    oG7Zx8icdv

  2. 複製公網訪問地址,在瀏覽器進行訪問測試。

5. 查看應用監控

在SAE側查看

進入目標應用的基礎資訊頁面,然後在左側導覽列單擊應用監控,最後在應用監控頁面查看監控資料

ZzhYn22HbM

在ARMS側查看

  1. 登入ARMS控制台

  2. 在左側導覽列選擇應用監控 > 應用列表,然後在頂部功能表列選擇目標地區。

    nsyE8WuFPg

  3. 應用列表頁面的搜尋方塊,搜尋目標應用,然後單擊目標應用程式名稱。

    5RZ1EeP2Mx

  4. 在監控詳情頁面查看監控資料。

    eysHShmevA