2
0
mirror of https://github.com/munin-monitoring/contrib.git synced 2018-11-08 00:59:34 +01:00
contrib-munin/plugins/sphinx/sphindex_

51 lines
1.3 KiB
Python
Executable File

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# vim: set fileencoding=utf-8
#
# Munin plugin to show number of documents in Sphinx index
#
# Copyright Igor Borodikhin
#
# License : GPLv3
#
# parsed environment variables:
# server: hostname or ip-address of Sphinx server
# port: port number of Sphinx server
#
#%# capabilities=autoconf
#%# family=contrib
import os, sys, sphinxsearch
progName = sys.argv[0]
indexName = progName[progName.find("_")+1:]
if len(sys.argv) == 2 and sys.argv[1] == "autoconf":
print "yes"
elif len(sys.argv) == 2 and sys.argv[1] == "config":
print "graph_title Sphinx index %s stats"%indexName
print "graph_vlabel docs count"
print "graph_category search"
print "documents_count.label Documents count in index"
print "graph_args --base 1000 -l 0"
else:
if "server" in os.environ and os.environ["server"] != None:
server = os.environ["server"]
else:
server = "localhost"
if "port" in os.environ and os.environ["port"] != None:
try:
port = int(os.environ["port"])
except ValueError:
port = 9312
else:
port = 9312
client = sphinxsearch.SphinxClient()
client.SetServer(server, port)
result = client.Query("", indexName)
docCount = result["total_found"]
print "documents_count.value %d"%docCount