#!/usr/bin/env bash
#监控 message 模块的异常日志,发送异常日志时
# 记录本机连接redis的数量
# 查询机器的负载
# 重启message模块
LOG_FILE=/opt/message/message.log
MONITOR_LOG_FILE=/opt/message/monitor.log
function log()
{
echo "`date +'%F %T'` $*" >> $MONITOR_LOG_FILE
}
while :
do
if tail -100 "${LOG_FILE}" | grep "连接Redis异常" > /dev/null
then
log "==================================================="
log "出现redis连接不上服务器,即将重启message模块..."
conn_redis_num=`netstat -antl | egrep '6379|6380' | grep 'ESTABLISHED' | wc -l`
log "当前连接redis tcp连接数:$conn_redis_num;配置连接数:10000"
sh /data/message/bin/MessageStartListener.sh >> $MONITOR_LOG_FILE
log "执行重启message模块..."
sleep 100
else
sleep 5
log "执行检测中"
fi
done