File: //usr/lib/python2.7/site-packages/lap/solr.py
import requests
def __run__(params):
address = params.get('address', '127.0.0.1')
port = params.get('port', 9001)
core = params.get('core', False)
if core:
url = 'http://%s:%s/solr/%s/admin/mbeans?stats=true&wt=json' % (address, port, core)
else:
url = 'http://%s:%s/solr/admin/mbeans?stats=true&wt=json' % (address, port)
try:
response = requests.get(url).json()
except Exception, e:
return [2, "CRITICAL - Error: %s" % repr(e)]
perfdata = []
values = {}
values['numDocs'] = response['solr-mbeans'][1]['searcher']['stats']['numDocs']
values['QTime'] = response['responseHeader']['QTime']
values['update_requests'] = response['solr-mbeans'][3]['/update']['stats']['requests']
values['update_errors'] = response['solr-mbeans'][3]['/update']['stats']['errors']
values['update_timeouts'] = response['solr-mbeans'][3]['/update']['stats']['timeouts']
values['update_time'] = response['solr-mbeans'][3]['/update']['stats']['avgTimePerRequest']
message = "OK - "
for k, v in values.iteritems():
perfdata.append((k, str(v)))
message = "%s, %s: %s" % (message, k, v)
perfdata = "|".join([ "=".join(x) for x in perfdata])
return [0 , message, perfdata]
if __name__ == '__main__':
print __run__({'address': '10.31.100.173'})