Reportando o uso crítico de disco com fabric

4

Por exemplo, estamos executando cerca de 50 servidores.

Digamos que eu gostaria de ver se algum deles está chegando perto de preencher uma partição. Eu posso fazer uma tarefa que execute df -h em cada um deles, mas a saída é muito detalhada.

Gostaria de poder capturar a saída, processá-la e apenas retornar os servidores com mais de X%

Existe alguma maneira de fazer isso com tecido?

    
por Adrian Mester 08.05.2012 / 19:02

1 resposta

4

$ 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))

Essa é uma tentativa rápida de mostrar como você pode usar o tecido para isso.

    
por 01.06.2012 / 17:41

Tags