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循环来针对性的使用你的报警方式,比如邮件,微信,等等。
谢土豪
如果有帮到你的话,请赞赏我吧!