From 1f23e26d954035ac6a5c6b0b88a327a9ad0f4c8a Mon Sep 17 00:00:00 2001 From: Eliot Horowitz Date: Mon, 7 Jun 2010 08:28:55 +0200 Subject: [PATCH] Initial version --- plugins/other/mongo_ops | 45 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100755 plugins/other/mongo_ops diff --git a/plugins/other/mongo_ops b/plugins/other/mongo_ops new file mode 100755 index 00000000..2bb9c973 --- /dev/null +++ b/plugins/other/mongo_ops @@ -0,0 +1,45 @@ +#!/usr/bin/python + +## GENERATED FILE - DO NOT EDIT + +import urllib2 +import sys + +try: + import json +except ImportError: + import simplejson as json + + +def getServerStatus(): + raw = urllib2.urlopen( "http://127.0.0.1:28017/_status" ).read() + return json.loads( raw )["serverStatus"] + + +def doData(): + ss = getServerStatus() + for k,v in ss["opcounters"].iteritems(): + print( str(k) + ".value " + str(v) ) + +def doConfig(): + + print "graph_title MongoDB ops" + print "graph_args --base 1000 -l 0" + print "graph_vlabel ops / ${graph_period}" + print "graph_category MongoDB" + print "graph_total total" + + for k in getServerStatus()["opcounters"]: + print k + ".label " + k + print k + ".min 0" + print k + ".type COUNTER" + print k + ".max 500000" + print k + ".draw LINE1" + +if __name__ == "__main__": + if len(sys.argv) > 1 and sys.argv[1] == "config": + doConfig() + else: + doData() + +