首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >MongoDB Slowquery慢查询日志分析平台

MongoDB Slowquery慢查询日志分析平台

原创
作者头像
贺春旸的技术博客
修改2020-06-23 11:03:21
修改2020-06-23 11:03:21
1.6K0
举报
文章被收录于专栏:DBA 平台和工具DBA 平台和工具

简介

MongoDB的慢SQL日志是记录到业务库的system.profile表里,当线上DB运行缓慢时,开发通常联系DBA去排查问题,那么可以将这种机械化的工作,做成一个平台化、可视化的工具出来,让开发在网页里点点鼠标即可查看数据库运行状况,这将大大提高工作效率,降低对DBA的依赖。

参考了Percona pt-mongodb-query-digest工具抓取分析的展示思路,并用PHP重构,将分析结果插入MySQL表里,用前端页面展现出来,方便开发定位问题。

每次抓取最近的1000条超过1秒的慢SQL记录入库。

执行

代码语言:javascript
复制
php check_mongo_slowsql.php

相当于执行:

代码语言:javascript
复制
db.getSiblingDB("samples").system.profile.find({millis:{$gte:1000}},    
{millis:1,ns:1,query:1,ts:1,client:1,user:1}).sort({ts:-1}).limit(1000)

采用远程连接方式获取慢SQL,所以无需要在数据库服务器端部署相关agent或计划任务。

首页汇总
首页汇总

首页汇总了生产业务库31天内的慢SQL集合。

详细信息
详细信息

点击《选择数据库标签》可以查看具体的业务库慢SQL趋势走向。

执行计划
执行计划

点击抽象语句栏目的✚号,会弹出一个新连接,展示慢SQL的来源用户名,IP,集合的大小,集合的索引信息,以及SQL的Explain执行计划。

Github地址:https://github.com/hcymysql/mongo_slowquery

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档