手动安装Python探针

Python应用安装探针后,ARMS即可开始监控Python应用,您可以查看应用拓扑、调用链路、SQL分析等一系列监控数据。本文介绍如何为Python应用手动安装探针。

说明

前提条件

  • 确保您的编译环境和公网或阿里云内网连通,且编译环境所在安全组已开放80、443TCP出方向权限。

  • 检查您的Python版本和框架版本。具体要求,请参见ARMS 应用监控支持的 Python 组件和框架

注意事项

  • 如果应用使用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探针初始化配置及无侵入埋点。

  • 如果应用使用uWSGI启动,请参考以下接入文档进行接入:在使用uWSGI启动DjangoFlask项目时接入Python探针

  • 如果有使用gevent协程,则需要设置环境变量GEVENT_ENABLE=true

    例如程序中有使用:

    from gevent import monkey
    monkey.patch_all()

    需要设置环境变量如下:

    GEVENT_ENABLE=true

步骤一:下载探针安装器 aliyun-bootstrap

PyPI仓库下载探针安装器。

pip3 install aliyun-bootstrap

步骤二:配置环境变量

您需要手动为Python应用添加以下环境变量:

# 方式一:为本SHELL中所有进程添加环境变量
export ARMS_APP_NAME=xxx   # 应用名称。
export ARMS_REGION_ID=xxx   # 对应的阿里云账号的RegionID。
export ARMS_LICENSE_KEY=xxx   # 阿里云 LicenseKey。
export ARMS_IS_PUBLIC=True   # 添加该环境变量表示使用公网访问。
# 方式二:为某个进程单独添加环境变量
ARMS_APP_NAME=xxx ARMS_REGION_ID=xxx ARMS_LICENSE_KEY=xxx ARMS_IS_PUBLIC=True aliyun-instrument xxx.py

其中LicenseKey可以通过OpenAPI获取,具体方法,参见DescribeTraceLicenseKey - 列出LicenseKey

(可选)Docker环境安装参考

对于Docker环境,可以参考以下Dockerfile示例修改您的Dockerfile文件。

# 添加环境变量
ENV ARMS_APP_NAME={AppName}
ENV ARMS_REGION_ID={regionId}
ENV ARMS_LICENSE_KEY={licenseKey}

## 原有环境

步骤三:使用aliyun-bootstrap安装Python探针

  1. 为了加快安装,建议您使用如下命令先配置镜像仓库。

    pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ && pip config set install.trusted-host mirrors.aliyun.com
  2. 安装探针。

    aliyun-bootstrap -a install

步骤四:启动应用

通过ARMS Python探针启动应用

aliyun-instrument python app.py

结果验证

约一分钟后,若Python应用出现在ARMS控制台应用监控 > 应用列表页面中且有数据上报,则说明接入成功。

2024-09-23_17-45-22