dba+开源工具:可视化分析MongoDB慢查询日志
发布网友
发布时间:2024-10-22 14:39
我来回答
共1个回答
热心网友
时间:2024-10-28 01:18
DBA+开源工具:MongoDB慢查询日志的可视化分析
贺春旸,凡普金科爱钱进DBA团队的负责人,曾参与《MySQL管理之道:性能调优、高可用与监控》一、二版的编写,曾任中国移动飞信和安卓机锋网的技术专家。他专注于MariaDB和MongoDB等开源技术,专长在于数据库性能优化、监控和架构设计。
为了简化开发人员在排查MongoDB慢查询问题时的工作,贺春旸借鉴了Percona的pt-mongodb-query-digest工具的思路,用PHP重构了一个平台化的可视化工具。该工具通过抓取system.profile表中的数据,展示超过1秒的慢SQL记录,用户只需在网页上操作即可了解数据库实时状态,提高效率并减少对DBA的依赖。
运行工具的命令是`php check_mongo_slowsql.php`,其等效于查询`db.getSiblingDB("samples").system.profile`,筛选出耗时超过2秒的记录,并按时间倒序展示前1000条。此工具支持远程连接,无需在数据库服务器上安装额外的代理或计划任务。
工具首页展示31天内业务库的慢SQL汇总,并允许用户通过“选择数据库标签”查看具体库的性能趋势。点击SQL语句后,会弹出详细信息,包括用户名、IP、相关集合信息及SQL的执行计划。
要使用此工具,首先需要安装PHP的mysql和mongo驱动。通过`yum`或`pecl`命令安装相关库,然后配置MongoDB管理员权限,以便监控工具能访问数据库。将github上的mongo_slowquery工具包解压到服务器的`/var/www/html/`目录,并根据指南导入表结构、配置连接信息,以及设置定时任务每10分钟抓取一次慢日志。
最后,通过`yourIP/mongo_slowquery/...`访问页面,确保已开启MongoDB的慢查询功能。该工具已在dbaplus社群免费提供,如需支持或反馈,欢迎访问相关下载链接和更多信息页面。