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