mirror of
https://github.com/ansible/awx.git
synced 2026-02-18 11:40:05 -03:30
Add munin monitors for mongo
This commit is contained in:
51
tools/munin_monitors/mongo_conn
Executable file
51
tools/munin_monitors/mongo_conn
Executable file
@@ -0,0 +1,51 @@
|
||||
#!/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)
|
||||
|
||||
name = "connections"
|
||||
|
||||
|
||||
def doData():
|
||||
print name + ".value " + str( getServerStatus()["connections"]["current"] )
|
||||
|
||||
def doConfig():
|
||||
|
||||
print "graph_title MongoDB current connections"
|
||||
print "graph_args --base 1000 -l 0"
|
||||
print "graph_vlabel connections"
|
||||
print "graph_category MongoDB"
|
||||
|
||||
print name + ".label " + name
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
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()
|
||||
53
tools/munin_monitors/mongo_docs
Executable file
53
tools/munin_monitors/mongo_docs
Executable file
@@ -0,0 +1,53 @@
|
||||
#!/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)
|
||||
|
||||
name = "documents"
|
||||
|
||||
|
||||
def doData():
|
||||
ss = getServerStatus()
|
||||
for k,v in ss["metrics"]["document"].iteritems():
|
||||
print( str(k) + ".value " + str(v) )
|
||||
|
||||
def doConfig():
|
||||
|
||||
print "graph_title MongoDB documents"
|
||||
print "graph_args --base 1000 -l 0"
|
||||
print "graph_vlabel documents"
|
||||
print "graph_category MongoDB"
|
||||
|
||||
for k in getServerStatus()["metrics"]["document"]:
|
||||
print k + ".label " + k
|
||||
print k + ".min 0"
|
||||
print k + ".type COUNTER"
|
||||
print k + ".max 500000"
|
||||
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()
|
||||
56
tools/munin_monitors/mongo_mem
Executable file
56
tools/munin_monitors/mongo_mem
Executable file
@@ -0,0 +1,56 @@
|
||||
#!/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()
|
||||
52
tools/munin_monitors/mongo_ops
Executable file
52
tools/munin_monitors/mongo_ops
Executable file
@@ -0,0 +1,52 @@
|
||||
#!/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 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__":
|
||||
|
||||
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()
|
||||
Reference in New Issue
Block a user