作業系統 :CentOS 7.6.1810_x64
Python 版本 : 2.7.5
一、背景描述
作業中會遇到需要監控程式運行程序資料的情況,比如定時執行監控的cmd并記錄執行結果,本文提供一種實作方式,便于后續排查問題,
二、具體實作
使用python實作該功能很簡單,大致分為以下幾個步驟:
1、撰寫cmd命令,確保執行后有控制臺輸出且退出命令;
2、使用 popen 執行cmd命令,并獲取cmd的執行結果;
3、將執行結果以日志形式寫入檔案,并設定日志檔案總大小,避免占用過多磁盤;
自動監控腳本示例代碼如下:

完整代碼可從該地址獲取:聊聊博文-使用python自動監控程式運行程序資料
或關注微信公眾號(聊聊博文,文末可掃碼)后回復 2023031801 獲取,
其中,cmd 可以根據實際情況進行調整,這里列舉下我常用的幾個場景,
-
監控某行程cpu、記憶體使用情況
先使用ps獲取程式pid,再使用top命令監控進行運行資料:
top -b -n 1 -p 15653

- 監控磁盤使用情況
可使用iostat命令獲取指定設備的使用資料:
iostat -d sda

-
監控某應用程式運行資料
比如監控freeswitch的呼叫資料,可以使用如下命令:
/usr/local/freeswitch/bin/fs_cli -x "show calls count"
如果是在docker容器中,可使用如下命令:
docker exec -t fs /usr/local/freeswitch/bin/fs_cli -x "show calls count"

三、運行效果
這里以監控行程為例演示下使用效果,命令如下:
top -b -n 1 -p 15653
效果如下:

本文涉示例代碼,可從如下途徑獲取:
關注微信公眾號(聊聊博文,文末可掃碼)后回復 2023031801 獲取,
微信公眾號:
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/547282.html
標籤:其他
