慢日志的邮件提醒脚本,算是运维和开发沟通效率的加速器。你有没有遇到过 SQL 慢得像蜗牛,还得手动查日志?这个脚本就是为了这事儿的,逻辑不复杂,直接把慢 SQL 输出成表格,通过邮件丢你邮箱里,醒目得,省得你每天 SSH 翻日志。

脚本的核心就是把/data/mysql/tmp/sqlcount.xls里的慢 SQL 抓出来,格式还行,一目了然。用echo把字段标题写入/tmp/sqlcount.xls,包括IP 地址所属业务库名执行时间SQL 语句,能直接看哪个业务掉链子,效率提升不少。

结合你平时的监控脚本,这玩意儿还能自动发邮件。配合像Kafka 集群节点异常邮件通知脚本或者邮件接收脚本一起用,效果更稳。比如凌晨定时跑脚本,把昨天的慢 SQL 打包发你邮箱,早上起来就能看数据,不香吗?

不过也有一点要注意,xls文件其实是文本格式模拟出来的,Excel 能打开,但不是真正的 Office 格式。如果你需要更规范的格式,推荐后续接个 Python 脚本用pandas生成.xlsx,体验会更好。

顺带给你几个相关资源,想拓展一下功能或者对接其他系统的,可以看看:

如果你维护数据库,想定期了解慢 SQL 情况,又懒得手动查日志,建议你把这个脚本挂到定时任务里,配上邮件服务,用着还挺省心的。