Назад | Перейти на главную страницу

Отчетность об использовании критического диска с помощью фабрики

Например, у нас работает около 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))

Это быстрая попытка показать, как для этого можно использовать ткань.