python监控脚本的编写

      近来在学习用Python进行一些电脑运维的工作。抱歉我还是大学生其实也谈不上工作,只能说作为学习。Python无可否认是一门很吸引人的语言。运维首先需要对物理机进行监控。物理机资源包括的主要有内存,CPU,磁盘,网络访问情况。这篇博文主要讲述我对机器监控的一些想法不知道对不对,以及自己写的一些代码。不知道对不对。不过是我目前的理解。

     一开始想搞运维这方面首先考虑到的就是监控问题。对一台主机进行监控,这听起来就很难。我第一天想做监控我的思路是,对操作系统中的/proc/下的文件进行读取抽取关键数据。进行文本处理整合。我是打算用Python变成语言进行这方面工作。毕竟Python相对于Shell来说有很大优势。他简单可以帮我们节省很多开发上的时间消耗,可以获取更好的效果。后来发现我的思路没错。不过如果真的在这个时代用Python进行开发没必要这样作。看了刘天斯先生的《Python自动化运维》这本书的基础部分收益挺多。Python可以有个安装模块psutil可以直接使用这个模块调用方法进行系统监控。就不需要再去处理/proc/文本来获取关键信息了。这样确实给运维工作带来了方便。(难怪老师说工作量太少)

   首先对CPU进行监控。模块中并没发现可以获取CPU当前运行频率的方法。可以获取的CPU 信息有CPU的核数CPU的占用率等等。不过我想我们一般运维需要用到的应该就是CPU占用率吧。

   

cpu_used = psutil.cpu_percent(interval=1) 

由于我是放在脚本里面后面需要添加参数才能获取数值,否则显示的数值全是0

我通过绘图工具rrdtool这是一款很好的工具,我分别编写以下三个文件

我的画图方式是分别1.通过create创建CPU.rrd这是一个环形数据库,可以以轮巡的方式以新数据取代旧数据,可以得到准确的近期信息。

以下是我的源代码

#!/usr/bin/env python
#coding:utf8
import rrdtool
import time
import os

cur_time = str(int(time.time()))   #获取当前的Linux时间戳作为rrd的起始时间
file_path =  os.path.split(os.path.realpath(__file__))[0] #该方法可以获取该运行文件所在的目录
rrd = rrdtool.create(file_path + '/CPU.rrd', '--step', '60', '--
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值