#!/usr/bin/env python ## GENERATED FILE - DO NOT EDIT import urllib2 import sys import os import pymongo def getServerStatus(): host = "127.0.0.1" port = 27017 c = pymongo.MongoClient(host, port) return c.admin.command('serverStatus', workingSet=True) def ok(s): return s == "resident" or s == "virtual" or s == "mapped" def doData(): for k,v in getServerStatus()["mem"].iteritems(): if ok(k): print( str(k) + ".value " + str(v * 1024 * 1024) ) def doConfig(): print "graph_title MongoDB memory usage" print "graph_args --base 1024 -l 0 --vertical-label Bytes" print "graph_category MongoDB" for k in getServerStatus()["mem"]: if ok( k ): print k + ".label " + k print k + ".draw LINE1" if __name__ == "__main__": from os import environ if 'HOST' in environ: host = environ['HOST'] if 'PORT' in environ: port = environ['PORT'] if 'USER' in environ: user = environ['USER'] if 'PASSWORD' in environ: password = environ['PASSWORD'] if len(sys.argv) > 1 and sys.argv[1] == "config": doConfig() else: doData()