自定义监控脚本,监控mysql的慢查询日志,每分钟超过60条日志需要告警,需要仔细分析慢查询日志的规律,确定日志条数。
#!/bin/bash
# script name: slow_query_count.sh
slow_log=/tmp/dbm-slow.log
grep 'timestamp' $slow_log | awk -F '=' '{print $2}' |awk -F ';' '{print $1}'|sort -r > /tmp/timestamp.log
now=`sed -n '1'p /tmp/timestamp.log`
alert_num=60
one_min_ago=$[$now-60]
num=0
slow_query_sum() {
if [ $1 -ge $2 ]
then
num=$[$num+1]
else
break
fi
}
for n in `cat /tmp/timestamp.log`
do
slow_query_sum $n $one_min_ago
done
rm -f /tmp/timestamp.log
# There are $num slow query in a minute.
echo $num