不可不知的mongodb图形化监视器
历史
接触到mongodb有一段时间了,随着用户数据的不断上涨,线上环境出现了卡顿的现象,打开htop发现cpu直接爆表了,思索着到底该优化什么地方?可有没有好的工具,只有面对mongo的log文件暗暗发呆。在这期间我了解到了mtools这是我看的入门文章,使用mlogfilter mloginfo 等一些命令,你可以知道日志中对那个集合的数据查询集中,查询耗损时间的最大值,最小值,平均值。那些查询是慢查询。当然通过mtools 想要最快的知道mongodb服务目前的性能表现来说,还是太繁琐了,并且每次分析虽然可以指定日志的时间,cut mongodb的log文件的一部分在进行统计分析,mtools不够及时,不够直观。他适合你知道你的mtools需要优化了,然后通过这个工具集具体的分析历史日志,然后找到需要优化的地方。当然mtools本身的功能不仅仅局限于日志过滤,它能非常方便的搭建一个mongo集群,正副本集1主2从读写分离,需要搭建这种mongo集群,在mtools的世界里,通常你只需要一行命令。
主角
那有没有那种,开箱即用,实时可查,图形数据的监视器了?答案是有!那就是 mongo free monitoring 某一天当我打开shell连接上mongo服务器时,弹出了 mongo free monitoring的推荐。于是我按提示输入了那行命令
db.disableFreeMonitoring().
开启之后将会展示给你一个唯一的URL,然后访问这个唯一属性的URL,就可以体验到mongo的这个新功能了,不过在文档中写着,New in version 4.0.,看来3.6的版本时不支持了。考虑到网络状况,这里把关于这部分的官网描述贴出来
Free Monitoring New in version 4.0.
MongoDB offers free Cloud monitoring for standalones or replica sets.
By default, you can enable/disable free monitoring during runtime using db.enableFreeMonitoring() and db.disableFreeMonitoring().
Free monitoring provides up to 24 hours of data. For more details, see Free Monitoring.
通过db.disableFreeMonitoring()关闭,db.disableFreeMonitoring()开启这个功能,提供了近24小时的数据展示。
开启之后你将得到一个这样子的反馈
最后的步骤当然就是用浏览器打开它了。效果图如下
时间x轴的时间是