SkyWalking Python Agent部署
介绍
SkyWalking Python Agent 是一个轻量级的代理工具,用于监控和追踪Python应用程序的性能。它通过收集应用运行时的数据(如HTTP请求、数据库调用等),帮助开发者分析系统瓶颈和优化性能。本指南将详细介绍如何部署SkyWalking Python Agent,并展示其在实际项目中的应用。
备注
SkyWalking Python Agent 支持 Python 3.6+,兼容主流框架(如Django、Flask、FastAPI等)。
安装与配置
1. 安装依赖
通过pip安装SkyWalking Python Agent包:
pip install apache-skywalking
2. 基础配置
在Python应用的入口文件(如main.py
)中初始化Agent:
from skywalking import agent, config
config.init(
agent_name='your-service-name', # 服务名称
agent_instance_name='instance-1', # 实例名称
collector_address='localhost:11800', # SkyWalking OAP服务地址
)
agent.start()
警告
确保collector_address
指向正确的SkyWalking OAP服务器地址,否则数据无法上报。
集成示例
示例1:监控Flask应用
以下是一个完整的Flask应用集成案例:
from flask import Flask
from skywalking import agent, config
config.init(
agent_name='flask-demo',
collector_address='localhost:11800',
)
agent.start()
app = Flask(__name__)
@app.route('/')
def hello():
return "Hello, SkyWalking!"
if __name__ == '__main__':
app.run(port=5000)
启动应用后,访问http://localhost:5000
,SkyWalking将自动记录请求链路。
示例2:自定义追踪
手动创建Span以监控特定代码块:
from skywalking.trace import tag
from skywalking.trace.context import get_context
def slow_operation():
with get_context().new_entry_span(op='slow_operation') as span:
span.tag(tag.Tag(key='param', val='value'))
# 模拟耗时操作
import time
time.sleep(1)