首页 游戏 软件 资讯 排行榜 专题
首页
编程语言
Ubuntu系统Python环境监控配置详细教程

Ubuntu系统Python环境监控配置详细教程

热心网友
70
转载
2026-05-07

在 Ubuntu 上配置 Python 监控

当你的Python应用在Ubuntu服务器上跑起来之后,如何确保它健康、稳定地运行?一套有效的监控体系就是你的“眼睛”和“耳朵”。今天,我们就来聊聊如何从零开始,搭建一个既轻量又实用的Python监控方案。

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

一 监控目标与方案选型

首先,得明确我们要监控什么。核心目标通常围绕这几个方面展开:

  • 监控对象:系统资源(CPU、内存、磁盘、网络)、Python进程数量与资源占用、关键目录的文件变更、以及日志中的异常关键字。

明确了目标,接下来就是选择实现路径。这里提供三种不同思路的方案,你可以根据自身的技术栈和运维复杂度来权衡:

  • 轻量自研:这是最灵活的方式。使用 Python 配合强大的 psutil 库来采集各项指标,然后设定阈值进行判断。一旦超过阈值,就通过 SMTP 发送邮件告警。最后,利用 Linux 自带的 cron 定时任务来驱动整个脚本周期执行。
  • 现成一体化:如果你追求快速部署和开箱即用的可视化,Glances 是个绝佳选择。它本身基于 Python 开发,支持本地查看和远程客户端-服务器模式,能够将多指标以彩色高亮的方式集中展示,状态一目了然。
  • 进程与服务视角:对于临时性的快速排查,命令行工具永远是利器。组合使用 pspgreptophtop 可以迅速定位问题。而如果你的 Python 应用是以服务形式运行的,那么通过 systemd 来管理并查看其状态,则是更规范的做法。

二 快速上手:系统资源监控脚本与告警

理论说再多,不如动手写一段。我们从最核心的系统资源监控开始,打造一个“最小可用”的告警脚本。

  • 安装依赖
    • 首先,确保系统已更新并安装 Python 和 pip:sudo apt update && sudo apt install -y python3 python3-pip
    • 然后,安装我们需要的核心库:pip3 install psutil
  • 最小可用脚本(阈值告警示例)
    • 说明:这段脚本会采集 CPU(1秒平均使用率)和内存使用率。一旦超过预设的阈值,就会调用邮件告警函数。
    • 使用:你需要将脚本中的发信参数(SMTP服务器、端口、账号、密码等)替换为你自己的信息。建议将脚本保存在固定路径,例如 /opt/monitor/monitor.py
    • 定时:要让脚本自动运行,需要借助 cron。执行 crontab -e 命令,添加如下一行(表示每分钟执行一次):
      * * * * * /usr/bin/python3 /opt/monitor/monitor.py
  • 参考代码
    import time, smtplib
    from email.mime.text import MIMEText
    import psutil
    
    CPU_THRESHOLD = 80
    MEM_THRESHOLD = 90
    
    def send_alert(subject, body):
        smtp_host, smtp_port = “smtp.example.com”, 587
        sender, password, receiver = “you@example.com”, “APP_PASSWORD”, “ops@example.com”
        msg = MIMEText(body, “plain”, “utf-8”)
        msg[“From”], msg[“To”], msg[“Subject”] = sender, receiver, subject
        with smtplib.SMTP(smtp_host, smtp_port) as s:
            s.starttls()
            s.login(sender, password)
            s.sendmail(sender, [receiver], msg.as_string())
    
    def check():
        cpu = psutil.cpu_percent(interval=1)
        mem = psutil.virtual_memory().percent
        print(f“CPU: {cpu}%, MEM: {mem}%”)
        if cpu > CPU_THRESHOLD:
            send_alert(“CPU 告警”, f“CPU 使用率 {cpu}% 超过阈值 {CPU_THRESHOLD}%”)
        if mem > MEM_THRESHOLD:
            send_alert(“内存告警”, f“内存使用率 {mem}% 超过阈值 {MEM_THRESHOLD}%”)
    
    if __name__ == “__main__”:
        check()
    
  • 安全建议
    • 邮件告警环节务必注意安全。强烈建议使用邮箱服务商提供的“应用专用密码”或 SMTP Token,避免在脚本中直接使用明文密码。同时,尽量通过本地或内网的邮件传输袋里(MTA)发送,或者确保使用 465/587 等加密端口进行提交。

三 进阶:文件变更监控与 Python 进程监控

基础资源监控搞定后,我们可以把监控范围扩大一些,关注更具体的应用层面。

  • 文件变更监控(watchdog)
    • 安装pip3 install watchdog
    • 示例:以下代码可以监控指定目录下文件的创建、修改、删除事件。这个功能非常实用,比如用于触发日志轮转、检测配置文件是否被热加载、或者发现异常文件时立即告警。
      from watchdog.observers import Observer
      from watchdog.events import FileSystemEventHandler
      import time
      
      class Handler(FileSystemEventHandler):
          def on_modified(self, event):
              print(f“修改: {event.src_path}”)
          def on_created(self, event):
              print(f“创建: {event.src_path}”)
          def on_deleted(self, event):
              print(f“删除: {event.src_path}”)
      
      observer = Observer()
      observer.schedule(Handler(), path=“/var/log/myapp”, recursive=True)
      observer.start()
      try:
          while True: time.sleep(1)
      except KeyboardInterrupt:
          observer.stop()
          observer.join()
      
  • Python 进程数量监控
    • 命令行快速查看:在服务器上临时排查时,这几条命令能快速给你答案:
      • ps aux | grep python
      • pgrep -af python
      • tophtop 界面中,按 F3 直接搜索 “python” 关键词。
    • Python 脚本计数:如果想把进程数量也集成到你的监控平台里,可以用一段小脚本来实现:
      import subprocess
      def python_count():
          out = subprocess.check_output(“ps aux | grep python | wc -l”, shell=True, text=True)
          return int(out.strip()) - 1  # 减去 grep 命令自身的进程
      print(“Python 进程数:”, python_count())
      
  • 作为服务运行时的监控
    • 如果你的应用是通过 systemd 管理的服务,那么监控就变得非常规范。使用 sudo systemctl status your-python.service 可以查看其运行状态、是否活跃。
    • 同时,结合 journalctl -u your-python.service -f 命令,可以实时跟踪和查看该服务的所有日志输出,这对排查运行时问题至关重要。

四 一体化监控与可视化

最后,如果你希望有一个集大成的、带界面的解决方案,那么 Glances 值得一试。

  • Glances 安装与特性
    • 安装sudo apt install -y glances
    • 启动:直接在终端输入 glances,一个集成了 CPU、内存、磁盘、网络、进程等信息的实时监控面板就会呈现出来,并用颜色清晰区分状态(正常、警告、严重)。
    • 远程监控:这才是它的强大之处。在目标服务器上以服务端模式启动:glances -s -B 0.0.0.0 -p 61209;然后,在任何客户机上执行 glances -c <服务器IP>,就能远程查看监控数据。
    • 配置文件/etc/glances/glances.conf 文件允许你自定义告警阈值、启用或禁用插件等,实现更精细的控制。
  • 适用场景
    • Glances 非常适合临时上线排查问题、值班巡检,或者作为快速上线的无侵入式监控方案。当然,你也可以通过其提供的接口或配合告警脚本、WebHook 进行二次集成,将它融入更庞大的运维体系中。

好了,从轻量脚本到一体化工具,几种主流的 Python 监控路径都在这里了。关键在于根据你的实际场景和运维能力,选择合适的组合拳。毕竟,监控的终极目的不是堆砌工具,而是清晰地掌控系统的脉搏。

来源:https://www.yisu.com/ask/82303059.html
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关攻略

Ubuntu系统安装Java 8与Java 9环境详细教程
编程语言
Ubuntu系统安装Java 8与Java 9环境详细教程

在Ubuntu16 04系统中安装Java8和Java9。需注意Java9可能不完全向后兼容。安装均通过添加Webupd8PPA仓库、执行安装命令并同意许可协议完成。安装后需分别设置默认版本或环境变量,最后可通过`java-version`命令验证安装结果。

热心网友
05.07
LNMP环境MySQL数据库查询性能优化实战指南
数据库
LNMP环境MySQL数据库查询性能优化实战指南

LNMP环境中优化数据库查询需系统实施。关键步骤包括:根据业务选择存储引擎,优化表结构与字段类型,合理创建索引,编写高效SQL语句避免全表扫描。引入缓存层减轻数据库压力,使用连接池管理连接,必要时采用查询提示或分区表。定期维护数据库并监控慢查询,以实现持续性能提升。

热心网友
05.07
HBase数据恢复的完整流程与详细步骤解析
数据库
HBase数据恢复的完整流程与详细步骤解析

HBase数据恢复需按步骤进行:先确认集群状态并定位故障,操作前备份数据。恢复时可选用内置工具、快照、WAL回放或手动替换文件等方法。完成后验证数据完整性与集群健康,持续监控优化。注意版本兼容性,在业务低峰期操作,并建立定期备份策略。

热心网友
05.07
HBase数据备份的常用方法与最佳实践指南
数据库
HBase数据备份的常用方法与最佳实践指南

HBase数据备份主要有五种方法。使用自带工具可进行全量或增量备份。快照功能通过创建元数据引用实现快速备份与恢复。直接备份HDFS底层文件适合长期归档或迁移。第三方工具如DistCp和XtraBackup提供压缩、加密等增强功能。集群间复制机制支持实时同步,满足异地容灾需求。

热心网友
05.07
Apache2服务器优化数据库连接性能的实用方法
数据库
Apache2服务器优化数据库连接性能的实用方法

优化Apache2应用的数据库连接可提升性能,主要方法包括:使用持久连接或连接池复用连接以降低开销;限制并发连接数防止数据库过载;利用缓存减少查询;优化SQL语句与索引;调整数据库配置以适应负载;持续监控并动态调优,保障系统高效运行。

热心网友
05.07

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

CentOS系统下PHP-FPM进程监控与性能优化指南
编程语言
CentOS系统下PHP-FPM进程监控与性能优化指南

要监控CentOS上的PHP-FPM,您可以使用以下方法 使用命令行工具 对于习惯与终端打交道的运维人员来说,命令行工具是最直接的选择。 top:这是最经典的实时系统监控工具。想快速聚焦PHP-FPM进程?很简单,运行top后,按下u键,再输入运行PHP-FPM的用户名,界面就会立刻筛选出相关进程,

热心网友
05.07
CentOS 系统下 PHP 应用容器化部署指南
编程语言
CentOS 系统下 PHP 应用容器化部署指南

在CentOS上使用Docker容器化部署PHP应用 将PHP应用进行容器化部署,如今已成为提升开发一致性和运维效率的标准操作。在CentOS环境下,借助Docker平台,我们可以快速搭建起一个独立、可移植的运行环境。下面,就让我们一起梳理一下从零开始的基本部署流程。 1 安装Docker 万事开

热心网友
05.07
CentOS系统下PHP并发处理的实现方法与优化
编程语言
CentOS系统下PHP并发处理的实现方法与优化

在CentOS上使用PHP实现并发处理,可以采用以下几种方法: 想让PHP在CentOS上跑得更快、处理更多任务?并发处理是关键。别担心,PHP生态里其实有不少成熟的方案可选,每种都有其独特的适用场景。下面我们就来聊聊几种主流的方法,从多线程到消息队列,帮你找到最适合你项目的那一款。 1 使用多线

热心网友
05.07
CentOS系统下vsFTP服务与其他应用集成配置指南
编程语言
CentOS系统下vsFTP服务与其他应用集成配置指南

在CentOS系统中集成VSFTPD与其他服务 在CentOS服务器环境中,VSFTPD(Very Secure FTP Daemon)因其出色的安全性和稳定性,成为搭建FTP服务的首选。但你是否想过,让这个传统的FTP守护进程与现代的Web服务(比如Apache或Nginx)联动起来?这样一来,用

热心网友
05.07
币安Binance现货交易入门教程 新手如何买卖加密货币
web3.0
币安Binance现货交易入门教程 新手如何买卖加密货币

币安现货交易是加密货币买卖的基础方式,适合新手入门。操作前需完成账户注册、身份验证和资金充值。交易界面主要分为行情、交易对选择和订单簿区域,下单时可选择市价单或限价单。掌握基本的买入卖出操作后,还需了解止盈止损等风险管理工具,并注意资产安全与市场波动性,从小额交易开始实践。

热心网友
05.07