背景: 使用开源软件 Box Anemometer 来展现aws数据库慢日志,实现可视化查询
工具:Box Anemometer(pt-query-digest)
定时抽取脚本:
#!/bin/bash
#这是拉取从库慢查询日志脚本
#获取当前时间
HStime=`date +%H%M`
#获取最新慢日志文件
name=`aws rds describe-db-log-files --db-instance-identifier b2b5 | tail -n 5 | grep LogFileName | awk -F"/" '{print $2}'|cut -c1-33`
oldname=`cat /data/script/b2b5-master.log | tail -n 1`
if [[ "$oldname" == "$name" ]]; then
echo "文件还没有生成!"
else
#拉取最新完整慢日志文件
aws rds download-db-log-file-portion --db-instance-identifier b2b5 --log-file-name slowquery/$name --starting-token 0 --output text > /data/slow/b2b/master/$name
echo $name > /data/script/b2b5-master.log
#将慢日志文件数据,写入工具数据库
sudo pt-query-digest --user=xxxx --password=xxxxxxxx --charset=utf8 --review h=127.0.0.1,D=slow_query_log,t=global_query_review --history h=127.0.0.1,D=slow_query_log,t=global_query_review_history --no-report --limit=0% --filter=" \$event->{Bytes} = length(\$event->{arg}) and \$event->{hostname}=\"b2b5-cluster\"" /data/slow/b2b/master/$name
fi
页面展现: