mirror of
https://github.com/ansible/awx.git
synced 2026-04-14 14:39:26 -02:30
Add munin monitors for mongo
This commit is contained in:
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()
|
||||
Reference in New Issue
Block a user