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

512 阅读2分钟

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

这个工具叫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    # 获取空闲内存数 916676044810> 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() # 获取所有进程ID14> pp = psuitl.Process(32470).name() # 获取进程名字15'apache2'16> 

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

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

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

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


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

往期文章

聊聊技术圈最近发生的尴尬的事儿

从今天起,做一个闲人,喂马、劈柴,周游世界。。。