磁盘容量监控检测
host_ip=$(/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:")
storage_num1=$(df -h | grep -v Filesystem | grep -v 文件系统 | awk '{print $5,$6}' | awk -F "%" '{if($1>=85){print $1 }}')
n=0
for a in $storage_num1;do
array1[$n]=$a
let n++
done
max_num1=${array1[0]}
for i in ${array1[@]};do
if [[ ${max_num1} -lt ${array1[${i}]} ]];then
max_num1=${array1[${i}]}
fi
done
echo $max_num1
result=$(df -Ph | grep -v Filesystem | grep -v 文件系统 | awk '{print $5,$6}' | awk -F "%" '{if($1>=85){print "{path:" $2",percent:",$1 "%}"}}')
if [ "$result" = "" ]
then
echo "各文件系统磁盘空间正常,使用率都未超过85%"
else
echo "磁盘空间使用率超过85%的目录及使用率为: ${result}"| mail -s 'xxx 服务器磁盘空间告警' 邮箱地址
fi
ES自动重启脚本
cd `dirname $0`
BIN_DIR=`pwd`
export JAVA_HOME=/opt/modules/jdk
ES_ID=`ps -ef |grep elasticsearch |grep -v 'x-pack-ml' |grep -v 'grep'|awk '{print $2}'`
ESMonitorLog=$BIN_DIR/es-monitor.log
Monitor()
{
if [[ $ES_ID ]];then
echo "[info]当前 ES 进程 ID 为:$ES_ID"
else
echo "[严重告警] MSSQLSEVER ES集群故障! , ES节点开始自动重启... " | mail -s "集群监控状态" 邮箱地址
sleep 1
echo "[严重告警] MSSQLSEVER ES集群故障! , ES节点开始自动重启... " | mail -s "集群监控状态" 邮箱地址
sleep 1
systemctl restart elasticsearch
fi
}
Monitor >> $ESMonitorLog