在CentOS上监控Python应用的性能,可以采用多种工具和方法。以下是一些常用的监控方法:
top
和htop
top
top
的增强版,提供更友好的用户界面和更多功能。htop
psutil
psutil
是一个跨平台的库,用于访问系统使用情况和进程信息。
import psutil
# 获取当前进程的CPU和内存使用情况
process = psutil.Process()
print(f"CPU usage: {process.cpu_percent(interval=1.0)}%")
print(f"Memory usage: {process.memory_info().rss / 1024 ** 2} MB")
prometheus
和grafana
下载并安装Prometheus:
wget https://github.com/prometheus/prometheus/releases/download/v2.30.3/prometheus-2.30.3.linux-amd64.tar.gz
tar xvfz prometheus-2.30.3.linux-amd64.tar.gz
cd prometheus-2.30.3.linux-amd64
配置Prometheus:
编辑prometheus.yml
文件,添加你的Python应用的监控目标。
scrape_configs:
- job_name: 'python_app'
static_configs:
- targets: ['localhost:8000']
启动Prometheus:
./prometheus --config.file=prometheus.yml
下载并安装Grafana:
wget https://dl.grafana.com/oss/release/grafana-8.2.0.linux-amd64.tar.gz
tar xvfz grafana-8.2.0.linux-amd64.tar.gz
cd grafana-8.2.0
启动Grafana:
./bin/grafana-server
在Grafana中添加Prometheus数据源,并创建仪表盘来监控你的Python应用。
py-spy
py-spy
是一个用于Python程序的采样分析器。
pip install py-spy
py-spy record -o profile.svg -- python your_script.py
Flask-MonitoringDashboard
如果你使用的是Flask框架,可以集成Flask-MonitoringDashboard
来监控应用性能。
pip install flask-monitoringdashboard
在Flask应用中配置:
from flask import Flask
from flask_monitoringdashboard import monitor
app = Flask(__name__)
monitor.bind(app)
@app.route('/')
def index():
return "Hello, World!"
if __name__ == '__main__':
app.run(debug=True)
New Relic
New Relic
是一个商业监控服务,提供全面的性能监控和分析。
Datadog
Datadog
是另一个商业监控服务,提供实时监控和分析。
通过这些工具和方法,你可以有效地监控CentOS上Python应用的性能,并及时发现和解决问题。