统计网站访问量
log_path=/usr/local/nginx/logs/access.log
maketime=`date +%Y-%m-%d" "%H":"%M`
logdate=`date -d "yesterday" +%Y-%m-%d`
total_visit=`wc -l ${log_path} | awk '{print $1}'`
total_bandwidth=`awk -v total=0 '{total+=$10}END{print total/1024/1024}' ${log_path}`
total_unique=`awk '{ip[$1]++}END{print asort(ip)}' ${log_path}`
ip_pv=`awk '{ip[$1]++}END{for (k in ip){print ip[k],k}}' ${log_path} | sort -rn | head -20`
url_num=`awk '{url[$7]++}END{for (k in url){print url[k],k}}' ${log_path} | sort -rn | head -20`
echo -e "概况\n报告生成时间:${maketime}\n总访问量:${total_visit}\n总带宽:${total_bandwidth}M\n独立访客:${total_unique}\n\n访问IP统计\n${ip_pv}\n\n访问url统计\n${url_num}"
统计磁盘使用情况,并发邮件报警
for d in `df -P | grep /dev | awk '{print $5}' | sed 's/%//g'`
do
if [ $d -gt 90 ];
then
IP=`/sbin/ifconfig|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"|head -n 1`
cat > /tmp/diskmonitor.log <<EOF
服务器IP:$IP
磁盘空间:
`df -h`
EOF
cat /tmp/diskmonitor.log | mail -s "$HOSTNAME 磁盘空间不足 `date +"%F %H:%M:%S"`" 121655898@qq.com
#echo "$HOSTNAME 磁盘空间不足 `date +"%F %H:%M:%S"`"
fi
done
监控并发连接数,超过100,发邮件报警
mail_account="121655898@qq.com"
IP=`/sbin/ifconfig |grep -A1 "ens33: "|awk '/inet/ {print $2}'`
web=`netstat -ant |grep ':80' |grep -c ESTABLISHED`
web_gt=100
if (($web > $web_gt))
then
echo "$IP监控web服务器的并发连接数为$web_gt,超过警戒值100,请立即处理!!!" | mutt -s "$IP 服务器并发连接数严重告警!!!" $mail_account
fi