Например, у нас работает около 50 серверов.
Скажем, я хотел бы увидеть, приближается ли кто-нибудь из них к заполнению раздела. Я могу сделать задачу, которая выполняется df -h
по каждому из них, но вывод очень подробный.
Я хотел бы иметь возможность захватывать вывод, обрабатывать его и просто возвращать серверы, которые превышают X%
Есть ли способ сделать это с тканью?
$ 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))
Это быстрая попытка показать, как для этого можно использовать ткань.