经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Python » 查看文章
使用python自动监控程序运行过程数据
来源:cnblogs  作者:Mike_Zhang  时间:2023/3/20 8:44:06  对本文有异议

操作系统 :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的呼叫数据,可以使用如下命令:

  1. /usr/local/freeswitch/bin/fs_cli -x "show calls count"

如果是在docker容器中,可使用如下命令:

  1. docker exec -t fs /usr/local/freeswitch/bin/fs_cli -x "show calls count"

三、运行效果

这里以监控进程为例演示下使用效果,命令如下:

top -b -n 1 -p 15653

效果如下:

 

 本文涉示例代码,可从如下途径获取:

关注微信公众号(聊聊博文,文末可扫码)后回复 2023031801 获取。

原文链接:https://www.cnblogs.com/MikeZhang/p/20230318-pythonProcessMonitor.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号