全部產品
Search
文件中心

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

更新時間:May 20, 2025

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

前提條件

注意事項

  • 如果應用使用uvicorn啟動,需要替換為以下指令接入探針。

    例如:

    uvicorn -w 4 -b 0.0.0.0:8000 app:app

    修改為:

    aliyun-instrument gunicorn -w 4 -k uvicorn.workers.UvicornWorker -b 0.0.0.0:8000 app:app
    說明

    aliyun-instrument指令負責ARMS Python探針初始化配置及無侵入埋點。

  • 如果有使用gevent協程,則需要設定環境變數GEVENT_ENABLE=true

    例如程式中有使用:

    from gevent import monkey
    monkey.patch_all()

    需要設定環境變數如下:

    GEVENT_ENABLE=true

步驟綜述

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

  2. 將Python專案製作Docker鏡像或將Python專案打包成ZIP包:如果您是通過鏡像的方式部署Python應用,需要在製作鏡像時下載安裝Python探針。如果您是通過程式碼封裝的方式部署Python應用,在部署應用的過程中系統會預設下載安裝Python探針,您只需要通過ARMS Python探針啟動應用即可。

  3. 部署Python應用:在SAE側部署Python應用,並開啟應用監控的開關。如果您是通過程式碼封裝部署Python應用,除了開啟應用監控外還需要設定啟動命令(通過ARMS Python探針啟動應用)。

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

1. 準備專案

  1. 上傳專案至您準備好的環境中。

  2. 安裝運行專案必備的環境進行測試。具體操作,請參見軟體包安裝

  3. 在本地進行測試,確保您的專案能夠正常運行。

2. 將Python專案製作Docker鏡像或將Python專案打包成ZIP包

製作Docker鏡像並將其推送至鏡像倉庫

  1. 製作Python鏡像。

    本文只介紹下載探針、安裝探針和使用ARMS Python探針啟動應用的命令。

    ...
    # 從PyPI倉庫下載探針安裝器。
    RUN pip3 install aliyun-bootstrap
    
    # 使用aliyun-bootstrap安裝Python探針。
    RUN aliyun-bootstrap -a install
    
    ...
    
    # 通過ARMS Python探針啟動應用。
    CMD ["aliyun-instrument","python","main.py"]
    說明

    如果您不需要使用Python探針啟動應用,需要在應用主入口檔案(例如:main.py)引入Python探針,然後啟動應用。

    from aliyun.opentelemetry.instrumentation.auto_instrumentation import  sitecustomize
  2. 將製作成功的Python鏡像推送至阿里雲鏡像倉庫。具體操作,請參見推送拉取鏡像(企業版)推送拉取鏡像(個人執行個體版)

將Python專案打包成ZIP包

在您的本地環境中將Python專案打包成ZIP格式的壓縮包。具體操作,請參見Python ZIP打包說明

3. 建立Python應用

通過鏡像的方式建立Python應用

3.1 建立應用

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

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

    xtP3K5ehBK

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

    qVjKh7KK96

  3. 單擊建立應用

3.2 訪問測試

使用公網訪問地址進行測試

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

    oG7Zx8icdv

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

在Webshell中進行訪問測試

  1. 進入目標應用的基礎資訊頁面,然後單擊執行個體列表頁簽。

    Z3G4SkQoR7

  2. 單擊目標執行個體ID操作列的Webshell

    4dI9DAwxpA

  3. Webshell頁面,輸入curl 127.0.0.1:容器連接埠進行測試。

通過程式碼封裝的方式建立Python應用

3.1 建立應用

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

  1. 設定程式碼封裝部署面板,選擇技術棧語言Python,然後在上傳 ZIP 包地區單擊image表徵圖上傳目標ZIP包。

    Iye539HbsG

  2. 進階設定頁面配置以下資訊。

    1. 啟動命令地區,設定啟動命令。

      aliyun-instrument python main.py
      # 通過ARMS Python探針啟動應用,main.py為本樣本的主入口檔案名稱。

      GZNwXgfjZm

    2. 應用監控地區,開啟應用監控

      qVjKh7KK96

  3. 單擊建立應用

3.2 訪問測試

使用公網訪問地址進行測試

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

    oG7Zx8icdv

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

在Webshell中進行訪問測試

  1. 進入目標應用的基礎資訊頁面,然後單擊執行個體列表頁簽。

    Z3G4SkQoR7

  2. 單擊目標執行個體ID操作列的Webshell

    4dI9DAwxpA

  3. Webshell頁面,輸入curl 127.0.0.1:容器連接埠進行測試。

4. 查看應用監控

在SAE側查看

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

Y3kM5Riwrv

在ARMS側查看

  1. 登入ARMS控制台

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

    ZRS4rlkqyS

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

    p1fXmq3GtR

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

    dq39ionBxZ