1.前言
今天大致看了下自动化运维的东西,里面介绍到了psutil模块,其封装了linux 下的大部分shell命令,用起来比较方便。但是基本都是介绍在本地如何使用,而实际情况大家很少这样使用,一般都是在一台监控机器上远程读取目标服务器的信息。拓扑大致如下:
读取信息的方式一般分两种:
1)推式:在每台主机上部署获取信息的脚本,然后采用某种方式发送给监控机。
2)拉式:脚本只部署在监控机上,主动从目标主机上读取信息。
这两种方式无所谓好坏,根据自己的实际环境选择一个合适的即可。下面我要讲的是采用拉式读取信息。
监控机:window7
目标主机:linux
2.环境准备
1)paramiko在windows下的安装方式,详见:
2)psutil模块是需要安装在目标服务器的,一般情况下都是linux系统,安装比较简单,下载安装包解压后,执行:python setup.py install 即可。这里需要重点提一下:目前此模块只支持python2.7到pythonpthon3.4,安装的时候注意下版本问题。
3.监控机上运行的脚本
这个脚本主要是作为示范,演示下怎么实现上述功能,所以没有写特别复杂。
importparamikoimportosimportpsutilimportjson##读取当前路径
base_dir=os.getcwd()##读取在远程主机执行的脚本
cmd_filepath=ba