2
0
mirror of https://github.com/munin-monitoring/contrib.git synced 2018-11-08 00:59:34 +01:00
contrib-munin/plugins/mongodb/mongo_lock
2017-02-23 20:45:01 +01:00

52 lines
1.1 KiB
Python
Executable File

#!/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"]
name = "locked"
def doData():
status = getServerStatus()
if status["version"] >= "2.2.0":
if status["globalLock"]["lockTime"]["$numberLong"]:
ratio = float(status["globalLock"]["lockTime"]["$numberLong"]) / float(status["globalLock"]["totalTime"]["$numberLong"])
else:
ratio = float(status["globalLock"]["lockTime"]) / status["globalLock"]["totalTime"]
else:
ratio = status["globalLock"]["ratio"]
print name + ".value " + str( 100 * ratio )
def doConfig():
print "graph_title MongoDB write lock percentage"
print "graph_args --base 1000 -l 0 "
print "graph_vlabel percentage"
print "graph_category db"
print name + ".label " + name
if __name__ == "__main__":
if len(sys.argv) > 1 and sys.argv[1] == "config":
doConfig()
else:
doData()