mirror of
https://github.com/ansible/awx.git
synced 2026-01-10 15:32:07 -03:30
Add munin monitors for mongo
This commit is contained in:
parent
074e66219d
commit
848bff4220
8
setup.py
8
setup.py
@ -128,7 +128,13 @@ setup(
|
||||
"tools/munin_monitors/postgres_alive",
|
||||
"tools/munin_monitors/redis_alive",
|
||||
"tools/munin_monitors/socketio_alive",
|
||||
"tools/munin_monitors/taskmanager_alive"]),
|
||||
"tools/munin_monitors/taskmanager_alive",
|
||||
"tools/munin_monitors/mongo_btree",
|
||||
"tools/munin_monitors/mongo_cocnn",
|
||||
"tools/munin_monitors/mongo_docs",
|
||||
"tools/munin_monitors/mongo_lock",
|
||||
"tools/munin_monitors/mongo_mem",
|
||||
"tools/munin_monitors/mongo_ops"]),
|
||||
("%s" % munin_plugin_conf_path, ["config/awx_munin_tower_jobs"]),
|
||||
("%s" % bindir, ["tools/scripts/ansible-tower-service"]),
|
||||
("%s" % sosconfig, ["tools/sosreport/tower.py"])]),
|
||||
|
||||
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()
|
||||
Loading…
x
Reference in New Issue
Block a user