大家周末好,今天的第二篇原创文章来了。今天主要给大家带来的一个系统管理员日常用到的一个运维工具,希望大家有收获。

这个工具叫psutil,psutil(process and system utilities)这是一个跨平台库,日常我们都是通过ps,top(htop),ifconfig,kill 这些命令来进行管理查看系统资源等。

有了它之后我们可以更好的进行系统监控,分析和限制系统资源使用,是系统管理员必备工具。

安装:

pip install psutil(权限不够需要加sudo)

 1> import psutil
 2> psutil.cpu_count() # 获取CPU逻辑个数
 31
 4> psutil.cpu_count(logical=False) # CPU物理个数
 5> mem = psutil.virtual_memory() # 获取内存信息
 6> mem.total
 72097369088  # 可以看到性能有点差
 8> mem.free    # 获取空闲内存数
 9166760448
10> psutil.disk_partitions() # 获取磁盘信息
11[sdiskpart(device='/dev/vda1', mountpoint='/', fstype='ext4', opts='rw,relatime,errors=remount-ro,stripe=32639,data=ordered'),
12 sdiskpart(device='/dev/vda1', mountpoint='/var/lib/docker/aufs', fstype='ext4', opts='rw,relatime,errors=remount-ro,stripe=32639,data=ordered')]
13> psutil.pids() # 获取所有进程ID
14> pp = psuitl.Process(32470).name() # 获取进程名字
15'apache2'
16> 

psutil除了上面提到的CPU,内存,磁盘,进程等,其实还有网络,用户登录,开机时间等信息。

我们获取到这些信息之后就可以做一个简易的服务器内存监控,不用像之前需要用到stastsd+promeuthus或graphite+grafana等全套工具进行大规模监控系统服务及API的数据了。

可以参考往期文章牛逼了| 从0到1 搭建Web性能监控系统

最后大家也可以通过ipython进行查看其他相关用法,这点我很久就提到过了。

推荐一个系统管理员常用的Python工具_Python

希望大家有所收获,周末愉快!