munin-contrib/plugins/mongodb/mongo_conn

63 lines
1.1 KiB
Python
Executable File

#!/usr/bin/env python
"""
=head1 NAME
mongo_conn - MongoDB connections Plugin
=head1 APPLICABLE SYSTEMS
Works until MongoDB 3.6. The httpinterface was later removed.
=head1 CONFIGURATION
[mongo_lock]
env.MONGO_DB_URI mongodb://user:password@host:port/dbname
=head1 AUTHOR
Original script there : https://github.com/comerford/mongo-munin
Doc added by Alban Espie-Guillon <alban.espie@alterway.fr>
=cut
"""
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 = "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 db"
print name + ".label " + name
if __name__ == "__main__":
if len(sys.argv) > 1 and sys.argv[1] == "config":
doConfig()
else:
doData()