For jetwick I’m the developer, PR agent and sadly also the admin ;-). All in one, at once. Here is a minor snippet to get an alert email if your solr index is either not available or countains too few entries. And get a resolved mail if all is fine again.
cd /path/
FILE=bla.log
EMAILS="your@email.here"
SUBJECT="OK: jetwick"
STATUS=OK
CNT=`wget --http-user=user --http-password=password -T 10 -q "http://your-host.com/solr/select?q=&rows=1&wt=json" -O - | tr ',' '\n' |grep numFound|tr ':' ' '|awk '{print $3}'`
if [ "x$CNT" == x ] || [ "$CNT" -lt 500000 ]; then
SUBJECT="CRITICAL: check http://your-host.com/solr"
STATUS=CRITICAL
fi
PREV_STAT=`cat .status`
if [ "$STATUS" == "CRITICAL" ]; then
if [ "$PREV_STAT" == "OK" ]; then
cat $FILE | mail $EMAILS -a $FILE -s "$SUBJECT. doc count was only $CNT"
fi
echo CRITICAL > .status
else
if [ "$PREV_STAT" == "CRITICAL" ]; then
cat $FILE | mail $EMAILS -a $FILE -s "SOLVED: http://your-host.com/solr"
fi
echo OK > .status
fi
echo $STATUS > .status
add via this via crontab -e
*/2 * * * * /path/check-health.sh
If you look at the code there is one mini hack which is necessary if the solr index is down and the CNT is empty:
"x$CNT" == x
Here is a list with real monitoring systems:
http://www.junauza.com/2010/12/free-server-monitoring-software.html