Created by
Edelberto Mania
last modified
| #!/usr/bin/env python
# mongodb query
# Edelberto Mania <ed@zenoradio.com>
# 20160118 EST
ok=0 # green, yehey!
warning=1 # yellow, warning
critical=2 # red, critical
# threshold in seconds - to be deliberated by sysadmins
warning_threshold=1
critical_threshold=2
# do we want output of db query?
db_output_printed=False
import os,sys
from pymongo import MongoClient # yum install python-pymongo
from timeit import timeit
class devnull():
def write(*args):pass
def mongo_query(mongodb_server,mongodb_port):
if not db_output_printed:
t=sys.stdout
sys.stdout=devnull()
client=MongoClient(mongodb_server,mongodb_port)
db=client.zenoradio
for i in db.HostSession.find().limit(10):print(i)
if not db_output_printed:sys.stdout=t
def return_status(elapsed):
if elapsed>=critical_threshold:return critical
if elapsed>=warning_threshold:return warning
return ok
if __name__=='__main__':
elapsed_time_in_seconds=timeit("mongo_query('172.x.x.x',27017)",number=1,setup="from __main__ import mongo_query")
print("MongoDB sample Query time: {0:.4f} secs|dbtime={0:.4f}".format(elapsed_time_in_seconds))
sys.exit(return_status(elapsed_time_in_seconds))
|