ELASTIC索引监控脚本

报警方式自定义,我这里用的zabbix调用脚本监控

#!/bin/bash
#power by kerwin
#监控任意索引数据导入情况,若20分钟内无数据,报警触发
#使用方式,给脚本传索引名字的参数即可检测需要的索引,你也可以在脚本内部修改变量INDEX的值,监控指定脚本。报警方式请自定义。
TIMES=$(date -d "20 minute ago" +%FT%H:%M:00+08:00)
INDEX=$1
COUNT=$(curl -s -d "{\"query\":{\"filtered\":{\"filter\":{\"bool\":{\"must\":[{\"range\":{\"date\":{\"gte\":\"$TIMES\"}}}]}}}}}" -l -H "Content-type: application/json" -X POST "http://192.168.2.11:9201/$INDEX/_count")
NUM=`echo $COUNT| sed -n 's#^.*count\"\:\(.*\)\,\"\_shards.*$#\1#gp' `

if [ $NUM -eq 0 ]
then
    echo 1
else
    echo 0
fi

可在修改if循环来针对性的使用你的报警方式,比如邮件,微信,等等。

谢土豪

如果有帮到你的话,请赞赏我吧!

posted @ 2017-02-18 10:29  kerwinC  阅读(397)  评论(0编辑  收藏  举报