一、学习目标:
如果你的需求是需要对你自己管理的ecs进行一个监控,比如cpu或者内存使用百分百,需要定时读取ecs的使用情况,那接下的就是我们学习目标。
1、安装psutil模块:
windows电脑:
直接pip安装即可:
pip install psutil
重点说下ecs上:
我的是centos系统:
直接安装上面的pip install psutil
会报错。
正确安装
sudo yum install gcc python3-devel
pip3 install psutil
2、cpu和内存监控代码:
这个是对机器的使用情况统计的模块,很方便。
下面是我已经封装好的函数,直接使用即可。
import psutil
def get_ecs_cpu_and_memory():
data = psutil.virtual_memory()
total = data.total # 总内存,单位为byte
total = round(total / 1024 / 1024 / 1024, 2) # 转换成GB
free = data.available # 可用内存
free = round(free / 1024 / 1024 / 1024, 2) # 转换成GB
memory = "Memory usage:%0.2f" % (int(round(data.percent))) + "%" # 内存使用情况
cpu = "CPU:%0.2f" % psutil.cpu_percent(interval=1) + "%" # CPU占用情况
return cpu, memory, total, free
if __name__ == "__main__":
cpu, memory, total, free = get_ecs_cpu_and_memory()
print('cpu', cpu)
print('memory', memory)
print('total: {} GB'.format(total))
print('free: {} GB'.format(free))
3、钉钉群机器人监控:
如果是生产环境,肯定需要接受通知的,这个我就使用钉钉群的机器人吧,很方便,而且适合团队协作使用。
具体这个我就不写了,我之前有个文章,可以参考下:python 之钉钉群监控信息
总结:
根据学习上面的,我们可以配合Linux的crontab定时监控机器的使用情况了,也可以设置CPU或者内存使用百分百大于80%再将消息钉钉群发送。这样可以达到一个很好的生成环境。
如果有帮助,欢迎关注我哈,给我点个赞哈