#!/srv/newsblur/venv/newsblur3/bin/python # -*- coding: utf-8 -*- from vendor.munin.mongodb import MuninMongoDBPlugin class MongoDBSizePlugin(MuninMongoDBPlugin): args = "-l 0 --base 1024" vlabel = "bytes" info = "Size of database" dbname_in_args = True fields = ( ('storagesize', dict( label = "Storage size (bytes)", info = "Storage size", type = "GAUGE", draw = "AREA", )), ('datasize', dict( label = "Data size (bytes)", info = "Data size", type = "GAUGE", draw = "AREA", )), ('indexsize', dict( label = "Index size (bytes)", info = "Index size", type = "GAUGE", draw = "AREA", )), ) @property def title(self): return "MongoDB size of database %s" % self.dbname def execute(self): stats = self.db.command("dbstats") return dict( storagesize = stats["storageSize"], datasize = stats["dataSize"], indexsize = stats["indexSize"], ) if __name__ == "__main__": MongoDBSizePlugin().run()