为Python应用安装探针后,ARMS即可开始监控Python应用,您可以查看应用拓扑、调用链路、SQL分析等一系列监控数据。本文介绍如何为Python应用手动安装探针。
说明
对于部署在Kubernetes环境的应用,不推荐手动安装探针,建议通过安装组件的方式接入ARMS。具体操作,请参见容器服务ACK通过ack-onepilot组件安装Python探针。
如果您在使用Python探针过程中有任何问题,欢迎通过钉钉答疑群(群号:35568145)与我们联系。
前提条件
确保您的编译环境和公网或阿里云内网连通,且编译环境所在安全组已开放80、443的TCP出方向权限。
检查您的Python版本和框架版本。具体要求,请参见Python探针兼容性要求。
注意事项
如果应用使用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
步骤一:下载并安装探针
从PyPI仓库下载探针安装器。
pip3 install aliyun-bootstrap
使用aliyun-bootstrap安装Python探针。
aliyun-bootstrap -a install
步骤二:配置环境变量
您需要手动为Python应用添加以下环境变量:
export ARMS_APP_NAME=xxx # 应用名称。
export ARMS_REGION_ID=xxx # 对应的阿里云账号的RegionID。
export ARMS_LICENSE_KEY=xxx # 阿里云 LicenseKey。
export ARMS_IS_PUBLIC=True # 添加该环境变量表示使用公网访问。
其中LicenseKey可以通过OpenAPI获取,具体方法,参见DescribeTraceLicenseKey - 列出LicenseKey。
(可选)Docker环境安装参考
对于Docker环境,可以参考以下Dockerfile示例修改您的Dockerfile文件。
# 添加环境变量
ENV ARMS_APP_NAME={AppName}
ENV ARMS_REGION_ID={regionId}
ENV ARMS_LICENSE_KEY={licenseKey}
## 原有环境
步骤三:启动应用
通过ARMS Python探针启动应用
aliyun-instrument python app.py
(可选)不使用Python探针启动的方式
在应用主入口文件引入Python探针,然后启动应用。
例如在main.py/app.py
文件中引入Python探针。
from aliyun.opentelemetry.instrumentation.auto_instrumentation import sitecustomize
结果验证
约一分钟后,若Python应用出现在ARMS控制台的 页面中且有数据上报,则说明接入成功。