#!/srv/newsblur/venv/newsblur3/bin/python import os import subprocess from vendor.munin import MuninPlugin class PathSizePlugin(MuninPlugin): args = "--base 1024 -l 0" vlabel = "bytes" scale = True category = "other" fields = ( ('size', dict( label = "size", info = "Size", type = "GAUGE", )), ) def __init__(self, *args, **kwargs): super(PathSizePlugin, self).__init__(*args, **kwargs) self.path = os.environ["PATHSIZE_PATH"] @property def title(self): return "Size of %s" % self.path def execute(self): p = subprocess.Popen("du -sk " + self.path, shell=True, stdout=subprocess.PIPE) du = p.communicate()[0] size = int(du.split('\t')[0].strip()) * 1024 return dict(size=size) if __name__ == "__main__": PathSizePlugin().run()