使用 Fabric 报告关键磁盘使用情况

使用 Fabric 报告关键磁盘使用情况

例如,我们运行大约 50 台服务器。

假设我想查看其中是否有任何一个即将填满分区。我可以创建一个df -h在每个分区上运行的任务,但输出非常冗长。

我希望能够捕获输出,处理它,并仅返回超过 X% 的服务器

有没有什么办法可以用布料来实现这一点?

答案1

$ cat fabfile.py
from fabric.api import *

def crit_disk(warn=80,crit=90):
    x = run("df -hP | awk 'NR>1{print $1,$5}' | sed -e's/%//g'")
    drives = dict([y.split() for y in x.split('\n')])
    for drive,percent in drives.iteritems():
         if warn<int(percent)<crit:
             print("WARN: %s at %d%%" % (drive,percent))
         if int(percent)>crit:
             print("CRIT: %s at %d%%" % (drive,percent))

这是一个快速尝试,展示如何使用织物来实现这一点。

相关内容