Function Compute內建的Go運行時支援接入ARMS(Application Real-Time Monitoring Service)應用監控。本文介紹如何將Go運行時接入ARMS應用監控。
背景資訊
Function Compute無縫對接ARMS應用監控平台後,您可以通過ARMS應用監控平台對目標函數進行監控追蹤,擷取相關資訊,例如執行個體層級的可觀測性、鏈路追蹤資訊、Go Runtime指標、CPU Profiling資訊等。
前提條件
Go版本在1.18及以上。
擷取License Key
通過OpenAPI擷取LicenseKey,具體方法,參見DescribeTraceLicenseKey - 列出LicenseKey。
方式一:在FC中直接使用編譯後的Go二進位檔案建立函數
使用ARMS Go探針編譯Go應用,具體操作,請參見編譯Go二進位檔案。
在Function Compute中上傳運行編譯後的Go二進位檔案,具體操作,請參見建立事件函數。
配置環境變數。
TYPE_IS_ARMS=true ARMS_APP_NAME=xxx # 應用程式名稱。 ARMS_REGION_ID=xxx # 對應的阿里雲帳號的RegionID。 ARMS_LICENSE_KEY=xxx # 擷取到的LicenseKey。
完成配置後運行函數,即可在ARMS控制台的 頁面看到上述配置的應用函數。
單擊應用程式名稱,在應用概覽頁面可以查看到該函數接受到的請求數、錯誤數以及處理的平均耗時,同時能查看到函數內部其他的調用資料。
方式二:通過FC的應用中心構建Go應用
在s.yaml中修改actions內容。
以下範例程式碼使用的是杭州地區的下載地址,請根據對應作業系統和地區替換編譯工具下載地址,具體地址請參見擷取下載地址。
LicenseKey需替換為實際擷取到的LicenseKey。
edition: 3.0.0 name: hello-world-app access: "{{ access }}" vars: # 全域變數 region: "{{ region }}" resources: hello_world: component: fc3 actions: pre-${regex('deploy|local')}: - run: GO111MODULE=on go mod tidy path: ./code - run: wget "http://arms-apm-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/instgo/instgo-linux-amd64" -O instgo path: ./code - run: chmod +x instgo path: ./code - run: GOOS=linux GOARCH=amd64 CGO_ENABLED=0 ./instgo build --licenseKey="{licenseKey}" --cacheDir=./ -- -o target/main main.go path: ./code props: region: ${vars.region} functionName: "{{ functionName }}" description: 'hello world by serverless devs' runtime: "{{ runtime }}" code: ./code/target handler: main memorySize: 128 timeout: 10 # triggers: # - triggerName: httpTrigger # 觸發器名稱 # triggerType: http # 觸發器類型 # description: 'xxxx' # qualifier: LATEST # 觸發服務的版本 # triggerConfig: # authType: anonymous # 鑒權類型,可選值:anonymous、function # disableURLInternet: false # 是否禁用公網存取 URL # methods: # HTTP 觸發器支援的存取方法,可選值:GET、POST、PUT、DELETE、HEAD # - GET # - POST
在FC的應用中心通過倉庫匯入應用。具體操作,請參見匯入應用。
應用建立完成後,進入應用詳情頁面,在配置環境變數。
地區單擊函數名稱,然後添加以下環境變數。具體操作,請參見TYPE_IS_ARMS=true ARMS_APP_NAME=xxx # 應用程式名稱。 ARMS_REGION_ID=xxx # 對應的阿里雲帳號的RegionID。 ARMS_LICENSE_KEY=xxx # 擷取到的LicenseKey。
啟動應用,即可在ARMS控制台的 頁面看到上述配置的應用。
單擊應用程式名稱,在應用概覽頁面可以查看到該應用接受到的請求數、錯誤數、以及處理的平均耗時等資訊。