商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > CentOS如何监控Python应用运行状态

CentOS如何监控Python应用运行状态

  发布于2026-07-19 阅读(0)

扫一扫,手机访问

在CentOS上想盯住Python应用的运行状态,方法其实不少,从命令行快速查看,到搭建完整的监控体系,都能满足不同场景的需求。下面逐一梳理,各位可以根据自己的实际情况来选择。

1. 使用systemd服务管理

假如你的Python应用是通过systemd管理的,那直接一条命令就能查状态——

sudo systemctl status your-python-app.service

输出里会显示进程是否在运行、最近日志、资源占用等关键信息,简单又直观。

2. 使用tophtop

这两个命令堪称系统进程的“实时监控器”,CPU、内存占用一目了然。

top

或者装个更友好的版本:

htop

htop还能按F键排序、搜索进程,找你的Python应用非常方便。

3. 使用ps

想快速确认Python进程是否存活?ps配合grep是最经典的做法:

ps aux | grep your-python-app

输出里能看到PID、CPU/内存占用、运行时长,以及进程启动参数。

4. 使用netstatss

如果你的Python应用提供网络服务(比如Web API),那监控端口状态就很重要了。用netstatss都能查到:

netstat -tuln | grep your-python-app

或者

ss -tuln | grep your-python-app

注意ss通常比netstat更快,而且CentOS 7以上默认安装。

5. 使用lsof

想知道某个Python进程打开了哪些文件、占用了哪些端口?lsof是利器——

lsof -p 

先通过ps拿到PID,然后就能看到这个进程所有的文件句柄和网络连接,排查问题很有用。

6. 使用dstat

如果需要的是一套综合性能仪表盘,dstat可以一次性显示CPU、内存、网络、磁盘的实时数据,还能按进程排序I/O:

sudo dstat -cdngy --top-io --top-bio

这个工具适合快速定位资源瓶颈,而且输出格式清晰,容易读。

7. 使用PrometheusGrafana

对于生产环境,或者需要长期趋势分析的情况,Prometheus + Grafana 是主流选择。先安装它们:

sudo yum install -y prometheus grafana

然后在/etc/prometheus/prometheus.yml里配置监控目标,比如你的Python应用暴露了/metrics接口:

scrape_configs:
  - job_name: 'python-app'
    static_configs:
      - targets: [':']

启动服务:

sudo systemctl start prometheus
sudo systemctl start grafana-server

最后在Grafana里添加Prometheus数据源,创建仪表盘——CPU、内存、请求数、延迟……所有你想看的数据都能可视化。

8. 使用logging模块

监控不只是看进程是否活着,日志里的异常信号同样重要。Python自带的logging模块可以帮上忙:

import logging
logging.basicConfig(filename='app.log', level=logging.INFO)
logging.info('Application started')

当然,日志量大了之后最好接入集中式日志系统(比如ELK、Graylog),方便搜索和告警。

9. 使用supervisor

需要自动管理进程的启动、重启和日志轮转?supervisor是经典方案。安装:

sudo yum install -y supervisor

创建配置文件/etc/supervisor/conf.d/your-python-app.conf

[program:your-python-app]
command=/path/to/your/python-app
autostart=true
autorestart=true
stderr_logfile=/var/log/your-python-app.err.log
stdout_logfile=/var/log/your-python-app.out.log

启动并设置开机自启:

sudo systemctl start supervisord
sudo systemctl enable supervisord

之后,supervisorctl status就能看到所有进程状态,而且如果进程意外退出,它会自动拉起来。

以上九种方法,从轻量级命令行到企业级监控栈,覆盖了CentOS上监控Python应用的主流场景。选择时,重点考虑你的应用规模、运维复杂度以及是否需要历史趋势和告警。选择最适合自己的那一套,然后持续用起来就行了。

本文转载于:https://www.yisu.com/ask/59440957.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注