首页 > 编程语言 >使用python自动监控程序运行过程数据

使用python自动监控程序运行过程数据

时间:2023-03-18 21:36:28浏览次数:46  
标签:程序运行 命令 python cmd 获取 监控 使用

操作系统 :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 获取。

标签:程序运行,命令,python,cmd,获取,监控,使用
From: https://www.cnblogs.com/MikeZhang/p/20230318-pythonProcessMonitor.html

相关文章

  • [oeasy]python0111_字型码_字符字型编码_点阵字库_ascii演化
    编码进化回忆上次内容上次回顾了早期的英文字符点阵最小的3*5通用的5*7点阵字库逐渐规范化这些点阵字符的字型究竟是如何被存储的呢?......
  • python安装
    一、python安装1.windows下的python安装*下载安装包https://www.python.org/downloads/release/python-352/*安装默认安装路径:C:\python3......
  • Python操作pdf文件|pdfpiumbe&PyPDF2
    Python操作pdf文件1pdfpiumber库pdfpiumber是一个免费、开源的Python库,用于提取PDF文件中的文本和表格数据。它包括一个PDF解析器,可以找到和提取PDF文档中的文本和表格......
  • python并发编程
    1.协程示例1:importtimeimportasyncioasyncdefcrawl_page(url):print('crawling{}'.format(url))sleep_time=int(url.split('_')[-1])awaitasyncio.slee......
  • 这13个Python GUI库,正在学习Python的你必须知道
    Python是一种高级编程语言,它用于通用编程,由GuidovanRossum在1991年首次发布。Python的设计着重于代码的可读性。Python有一个非常大的标准库,并且有一个动态类型系......
  • Python3使用WOL唤醒群晖NAS
    1.pip3installwakeonlanpip3installwakeonlanLookinginindexes:https://pypi.tuna.tsinghua.edu.cn/simpleCollectingwakeonlanDownloadinghttps://pypi.t......
  • Python中TypeError: ‘str‘ object is not callable 问题的解决方法
    Python中TypeError:‘str’objectisnotcallable问题的解决方法‘str’objectisnotcallable一般出现在企图调用一个不可被调用的对象。细看了一下代码......
  • CentOS7.3 + python2.7离线安装paramiko库
    环境操作系统版本python版本CentOS7.3python2.7.5资源准备​​https://ceekay.lanzouw.com/b012qfntc​​,密码:fa68资源包版本gccpython-devel-2.7.5-89.el7.x86_64.rpmpy......
  • Python上下文管理器with的用法
    通常我们使用with关键字,作为上下文管理器进入标志。上下文管理器是一个包装任意代码块的对象,当退出上下文管理器时,保证相关的资源能够得到正确处理。最常用的用法是打......
  • 13 个非常有用的 Python 代码片段
    1:将两个列表合并成一个字典假设我们在Python中有两个列表,我们希望将它们合并为字典形式,其中一个列表的项作为字典的键,另一个作为值。这是在用Python编写代码时经常遇......