mirror of
https://github.com/munin-monitoring/contrib.git
synced 2018-11-08 00:59:34 +01:00
51 lines
1.3 KiB
Python
Executable File
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
|