myawr以mysql instance 为单位,每隔一段时间进行采样,然后把数据保存到数据库,以便分析。目前myawr脚本收集的信息包括5个部分:
1 系统方面的:
负载、cpu、io、网络、swap、磁盘空间
2 Mysql状态方面的:
Mysql整体的一些指标;
Myisam 引擎的一些指标;
Innodb 引擎的一些指标。
具体到一些QPS、TPS、key Buffer 命中率、InnoDB Buffer命中率、Query Cache命中率、Table Cache状态量、Tmp Table状况、innodb status、
Threads_connected、Opened_tables、Select_full_join、Innodb_log_waits量等等。
3 Mysql slow query方面的信息,可通过mysql instance id进行关联:
4 如果Mysql开启了performance schema:
还会收集events_waits_summary_global_by_event_name、file_summary_by_event_name等
5 Mysql peak 信息的收集,包括
当时的active session 信息,包括sql;
当时的lock信息
当时的innodb status
具体展示可以通过myawrrpt来生成报告。
开源地址见:https://github.com/noodba/myawr
WorkLoad Report 样例见:http://www.noodba.com/myawr.html
snapshot report 样例见: http://www.noodba.com/myawr_snapshot.html
本着资源共享的原则,欢迎各位朋友在此基础上完善,并进一步分享,让我们的实现更加优雅。如果有任何疑问和需要进一步交流可以留言沟通
Testner创始人(testner.club) Sea