Python 支持的组件和版本
为确保 Instana Python 软件包与您的当前环境兼容,请查看 Instana Python 软件包所支持的组件及版本。
有关监控 Python 应用程序的更多信息,请参阅《 监控 Python 》。
Instana AutoTrace webhook
Instana ( AutoTrace ) 的 webhook 可以自动对整个 Kubernetes 集群中的 Python 进程进行监控。
Python 运行时
| Python | 版本 | Instana Python 软件包版本 |
|---|---|---|
| CPython | >= 3.9 且 <= 3.14 | >= 3.9.0 |
| CPython | >=3.8和 <=3.13 | >= 3.0.0 |
| CPython | >= 3.8 和 < 3.13 | >= 2.5.0 |
| CPython | >= 3.7 且 < 3.10 | < 2.5.0 |
| CPython | >= 2.7 且 <= 3.6 | < 2.0.0 |
长期支持
Instana 遵循 Python 上的官方长期支持(LTS)和生命周期结束(EOL)时间表。
支持的环境
Instana Python 软件包支持多种环境。
平台
支持以下平台和 CPU 架构:
| 平台 | x86_64/amd64 | ppc64le | s390x | aarch64/arm64 |
|---|---|---|---|---|
| Linux | ✅ | ✅ | ✅ | ✅ |
| Red Hat1 | ✅ | ✅ | ✅ | ✅ |
| Windows2 | ✅ | ❌ | ❌ | ❌ |
| AWS Fargate | ✅ | ❌ | ❌ | ❌ |
| AWS Lambda | ✅ | ❌ | ❌ | ✅ |
| Kubernetes | ✅ | ✅ | ✅ | ✅ |
| Google Cloud | ✅ | ❌ | ❌ | ❌ |
| 容器3 | ✅ | ✅ | ✅ | ✅ |
| IBM AIX 4 | ❌ | ✅ | ❌ | ❌ |
| IBM i5 | ❌ | ✅ | ❌ | ❌ |
| LinuxOne | ❌ | ❌ | ✅ | ❌ |
ppc64le 和 s390 的支持,而 3.6.0 则新增了对 Windows 的支持。跟踪
Instana Python 包支持在其他已集成 Instana 的平台、技术和语言之间进行分布式追踪。
Any 表示该包版本 >= 3.0.0。规格支持
HTTP
下表列出了由 Instana Python 软件包支持的 HTTP 框架和库:
Web 框架
下表列出了 Instana Python 包所支持的 HTTP Web框架:
| 框架 | 支持策略 | 最低版本 | 最高版本 | Instana Python 软件包版本 |
|---|---|---|---|---|
| Django | 45 天 | 1.11.0 | 6.0.7 | 任何 |
| FastAPI | 45 天 | 0.51.0 | 0.141.1 | 任何 |
| Flask | 45 天 | 0.12.0 | 3.1.3 | 任何 |
| Pyramid | 45 天 | 1.6.5 | 2.1 | 任何 |
| Sanic | 按需 | 21.9.0 | 25.12.1 | 任何 |
| 新星 | 45 天 | 0.12.13 | 1.3.1 | 任何 |
| 龙卷风 | 45 天 | 6.0.0 | 6.5.7 | 任何 |
| 工具 | 45 天 | 2.2.0 | 3.1.8 | >= 3.15.0 |
客户端和库
下表列出了 Instana Python 软件包所支持的 HTTP 客户端和库:
| 库 | 支持策略 | 最低版本 | 最高版本 | Instana Python 软件包版本 |
|---|---|---|---|---|
| aiohttp | 45 天 | 3.1.0 | 3.14.3 | 任何满足 Python >= 3.9 的情况 |
| Httpx | 45 天 | 0.20.0 | 0.28.1 | >= 3.5.0 |
| 请求数 | 45 天 | 2.16.1 | 2.34.2 | 任何 |
| Urllib3 | 45 天 | 1.26.5 | 2.7.0 | 任何 |
RPC
下表列出了由 Instana Python 软件包支持的 RPC 库:
| 库 | 支持策略 | 最低版本 | 最高版本 | Instana Python 软件包版本 |
|---|---|---|---|---|
| grpcio | 45 天 | 1.14.1 | 1.83.0 | 任何 |
| Spyne | 45 天 | 2.13.1a0 | 2.14.0 | >= 3.4.0 与 Python < 3.12 |
数据库
下表列出了 Instana Python 软件包所支持的数据库库:
| 库 | 支持策略 | 最低版本 | 最高版本 | Instana Python 软件包版本 |
|---|---|---|---|---|
| AWS DynamoDB6 | 45 天 | 1.15.0 | 1.43.59 | 任何 |
| AWS S36 | 45 天 | 1.15.0 | 1.43.59 | 任何 |
| Cassandra -驱动程序 | 45 天 | 3.20.2 | 3.30.1 | 任何 |
| Couchbase | 按需 | 2.3.5 | 2.5.12 | 任何 |
| Elasticsearch | 45 天 | 8.0.0 | 9.4.1 | >= 3.16.0 |
| mysqlclient | 45 天 | 1.3.14 | 2.2.8 | 任何 |
| PyMySQL | 45 天 | 0.6.7 | 1.2.0 | 任何 |
| pymongo | 45 天 | 3.7.0 | 4.17.0 | 任何 |
| Psycopg2 | 45 天 | 2.7.2 | 2.9.12 | 任何 |
| Redis | 45 天 | 2.10.6 | 8.0.1 | 任何 |
| SQLAlchemy | 45 天 | 1.1.5 | 2.0.51 | 任何 |
消息传递
下表列出了 Instana Python 软件包所支持的消息传递库:
| 库 | 支持策略 | 最低版本 | 最高版本 | Instana Python 软件包版本 |
|---|---|---|---|---|
| Aioamqp | 45 天 | 0.15.0 | 0.15.0 | >= 3.4.0 |
| Aio-pika | 45 天 | 9.1.0 | 10.0.1 | >= 3.5.0 |
| Confluent Kafka | 45 天 | 2.0.0 | 2.15.0 | >= 3.4.0 |
| Kafka -python | 45 天 | 2.0.0 | 2.2.15 | >= 3.4.0 与 Python < 3.12 |
| Kafka -python-ng | 45 天 | 2.0.0 | 2.2.3 | >= 3.4.0 及 Python >= 3.12 |
| pika | 45 天 | 1.0.0 | 1.4.2 | 任何 |
云服务
Python 内置模块
下表列出了由 Instana Python 软件包支持的 Python 内置库:
| 库 | 支持策略 | 最低版本 | 最高版本 | Instana Python 软件包版本 |
|---|---|---|---|---|
| Asyncio | 0 天 | 1.4 | 23.7.0 | 任何 |
| 正在记录 | 0 天 | 4.3.0 | 5.5.3 | 任何 |
其他库
下表列出了由 Instana Python 软件包支持的其他库:
| 库 | 支持策略 | 最低版本 | 最高版本 | Instana Python 软件包版本 |
|---|---|---|---|---|
| gevent | 按需 | 23.9.0.post1 | 26.7.0 | >= 3.4.0 |
| Celery | 45 天 | 4.3.0 | 5.6.3 | 任何 |
追踪说明与限制
查看 Instana Python Tracer 的权限和限制。
创建主题的权限
Instana Python 追踪器需要权限来创建和启动 Python threading.Timer 对象。 在大多数系统上,缺省情况下会授予此许可权。 在某些嵌套式容器化场景中,例如某些 Docker 嵌套在 Docker 中的容器版本,该权限默认情况下并未授予。
如果您看到 RuntimeError: can't start new thread之类的异常,那么许可权不足是最可能的原因。 如果您升级或更换了位于 Docker 中的 Docker 容器,但内部应用程序容器未被授予所需权限,则可以将该 --privileged 权限作为最后手段来启动应用程序容器。
跨越线程边界
Instana Python 包不支持跨线程边界的跟踪。 例如,当先在单个线程上处理请求,然后在 multiprocessing.ThreadPool的帮助下将工作负载分发到多个其他线程时,不会捕获在这些其他线程中发生的传出调用。 因为每个出口范围都需要有一个入口范围,并且启动的入口范围超出线程范围,所以不会记录此类传出调用。 这是由于默认的 OpenTracing 的固有 ThreadLocalScopeManager特性,以及缺少特定的范围 ThreadPool 管理器所导致的。
在 FastAPI 中追踪非异步函数
Instana Python 包仅支持在 FastAPI 中对基于协程的并发进行跟踪。 这是因为在线程池 上执行的非异步函数不能后跟线程边界。
使用多个追踪器进行追踪
不支持同时使用 Instana 和第三方跟踪工具(例如 New Relic 跟踪工具或 OpenTelemetry )来跟踪单个 Python 应用程序。
受支持的 Web 服务器
Instana Python 软件包支持以下 Web 服务器:
- uWSGI
- Gunicorn
- mod_wsgi
- Nginx WSGI
- uvicorn
传感器数据采集
Instana Python 传感器收集以下数据:
跟踪的配置
Instana Python 传感器收集以下配置数据:
- 名称
- 运行时
- PID
- 已装入模块
度量
Instana Python 传感器收集以下指标:
- GC 活动
- 内存使用率
- 线程
- 分页
- I/O
- 事件
- 上下文切换
AutoProfile
Instana Python 包会生成以下配置文件:
| 概要文件 | Python 版本 | 平台 |
|---|---|---|
| CPU 使用率 | > = 2.7 和> = 3.4 | Linux 和 macOS |
| 内存分配速率 | >= 3.4 | Linux 和 macOS |
| 阻止调用 | >= 3.4 | Linux 和 macOS |
其他信息
- Python 概述
- Python 配置
- Python Tracing SDK
- Python OpenTelemetry
- Python OpenTracing (已弃用)
- Python 故障诊断
- Python Github 存储库
Instana Python 软件包支持以下 Red Hat Enterprise Linux 版本: RHEL 8.10、 RHEL 9.6 以及 RHEL 10.0。 ↩︎
Instana Python 软件包支持以下 Windows 版本: Windows 11 和 Windows Server 2025。 ↩︎
Docker、 Podman 和 Rancher 是受支持的容器引擎和容器管理工具。 ↩︎
Instana Python 软件包支持以下 AIX 版本: 7.2 和 7.3。 ↩︎
Instana Python 软件包支持 IBM i 7.5。 ↩︎
Instana Python 包仅支持 Google Pub/Sub 的拉取式消息投递。 ↩︎