mirror of
https://github.com/samuelclay/NewsBlur.git
synced 2025-04-13 09:42:01 +00:00
58 lines
1.5 KiB
Python
Executable file
58 lines
1.5 KiB
Python
Executable file
#!/srv/newsblur/venv/newsblur3/bin/python
|
|
|
|
## GENERATED FILE - DO NOT EDIT
|
|
|
|
import urllib2
|
|
import sys
|
|
import os
|
|
|
|
try:
|
|
import json
|
|
except ImportError:
|
|
import simplejson as json
|
|
|
|
|
|
def getServerStatus():
|
|
host = os.environ.get("host", "127.0.0.1")
|
|
port = 28017
|
|
url = "http://%s:%d/_status" % (host, port)
|
|
req = urllib2.Request(url)
|
|
user = os.environ.get("user")
|
|
password = os.environ.get("password")
|
|
if user and password:
|
|
passwdmngr = urllib2.HTTPPasswordMgrWithDefaultRealm()
|
|
passwdmngr.add_password(None, 'http://%s:%d' % (host, port), user, password)
|
|
authhandler = urllib2.HTTPDigestAuthHandler(passwdmngr)
|
|
opener = urllib2.build_opener(authhandler)
|
|
urllib2.install_opener(opener)
|
|
raw = urllib2.urlopen(req).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()
|
|
|
|
|