0%

Druid开启慢SQL监控

开启慢SQL监控

由于Druid输出的慢SQL只能设定一个判定标准,而实际情况是我们需要根据不同的条件从慢SQL日志中筛选,可以通过grep、sed等命令编写脚本实现。

统计慢SQL

1
2
3
4
5
6
7
# 以 slow sql开头 大于100000 
grep -E "slow sql [1-9][0-9]{5}" file_name
# wc -l 统计次数
grep -E "slow sql [1-9][0-9]{5}" file_name |wc -l

# 压缩日志统计
zgrep -E "slow sql [1-9][0-9]{5}" file_name.zip |wc -l

慢SQL详情输出到单独文件

1
2
3
4
5
# 1.根据关键字slow sql 查询并输出行数 -n
grep -n -E "slow sql" hug-interview-slowlog.log
# 2.遍历查询结果,获取符合条件(例如>10000ms)的记录行数,及下一条慢sql行数
# 3.根据行数获取慢SQL详细内容
sed -n '762,770p' hug-interview-slowlog.log