为Python应用安装探针

在为Python应用手动安装ARMS探针并部署到SAE之后,您就可以通过ARMS监控该应用。通过ARMS,您可以查看包括应用拓扑、调用链路分析、SQL性能分析等在内的多种监控数据。本文主要介绍为应用手动安装ARMS探针并部署至SAE

前提条件

注意事项

  • 如果应用使用Unicorn启动,需要替换为Gunicorn。

    例如:

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

    修改为:

    gunicorn -w 4 -k uvicorn.workers.UvicornWorker -b 0.0.0.0:8000 app:app
  • 如果有使用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

    oG7Zx8icdv

  2. 复制公网访问地址,在浏览器进行访问测试。

在Webshell中进行访问测试

  1. 进入目标应用的基础信息页面,然后单击实例列表页签。

    Z3G4SkQoR7

  2. 单击目标实例ID操作列的Webshell

    4dI9DAwxpA

  3. Webshell页面,输入curl 127.0.0.1:容器端口进行测试。

通过代码包的方式创建Python应用

3.1 创建应用

本文只介绍关键步骤。创建应用的详细步骤,请参见在SAE控制台使用ZIP包部署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

    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