溫馨提示×

Python在Debian如何監控

小樊
48
2025-09-30 02:06:33
欄目: 編程語言

使用psutil監控系統資源
psutil是跨平臺的Python庫,可獲取CPU、內存、磁盤、網絡及進程等系統信息,是Python監控的基礎工具。安裝方式為pip install psutil。示例代碼:獲取CPU使用率(psutil.cpu_percent(interval=1))、內存使用情況(psutil.virtual_memory().percent)、磁盤使用率(psutil.disk_usage('/').percent)及列出所有進程(psutil.process_iter(['pid', 'name']))。

代碼性能分析與優化

  • cProfile:Python內置模塊,用于分析函數執行時間,找出性能瓶頸。使用方法:import cProfile; cProfile.run("函數名()"),輸出結果包含函數調用次數、總時間及單次耗時。
  • line_profiler:逐行分析代碼性能,精準定位慢行。安裝:pip install line_profiler;使用:添加裝飾器@profile到目標函數,運行kernprof -l -v 腳本.py,輸出每行代碼的執行時間及占比。
  • tracemalloc:監控內存分配,檢測內存泄漏。安裝:Python內置;使用:tracemalloc.start()開始跟蹤,tracemalloc.get_traced_memory()獲取當前內存使用,tracemalloc.stop()停止跟蹤。

第三方系統監控工具

  • Glances:跨平臺系統監控工具,基于psutil,實時顯示CPU、內存、磁盤、網絡等指標,支持終端動態刷新及Web界面(glances -w)。安裝:sudo apt install glancespip install glances。
  • dstat:多功能系統資源統計工具,取代vmstat、iostat等命令,支持實時數據展示及模塊化擴展。安裝:sudo apt install dstat,運行dstat即可查看系統狀態。
  • NetData:實時性能監控工具,提供Web界面(http://IP:19999),監控CPU、內存、磁盤、網絡等指標,支持告警及歷史數據查詢。安裝:sudo apt install netdata或通過kickstart腳本快速部署。

日志監控與告警

  • inotify監控日志文件:使用Python的inotify_simple庫監控日志文件的修改、創建等事件。安裝:pip install inotify;示例代碼:創建INotify實例,添加監控規則(如flags.MODIFY),循環讀取事件并處理。
  • Python腳本監控錯誤日志并發送告警:結合watchdog(監控文件變化)和smtplib(發送郵件),實現日志中“ERROR”關鍵字的實時檢測與告警。示例代碼:定義LogFileHandler類繼承FileSystemEventHandler,重寫on_modified方法讀取日志最后10行,若包含“ERROR”則發送郵件。

集成到現有監控系統
若已使用Nagios、Zabbix、Prometheus等監控系統,可通過其API或插件機制集成Python腳本。例如,Prometheus通過prometheus_client庫暴露監控指標,Zabbix通過Python腳本采集數據并推送至Zabbix Server,實現集中化監控。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女