工具开发者介绍何春阳,饭铺金科爱千金DBA团队负责人,《MySQL管理之道:性能调优、高可用与监控》第一、二版作者,曾就职于中国移动飞信,Android极风网。致力于MariaDB、MongoDB等开源技术的研究,主要负责数据库性能调优、监控和架构设计。工具下载:https://github.com/hcymysql/mongo_monitor简介一款面向研发人员的MongoDB图形化可视化监控工具。它借鉴了PerconaPMMGrafana和官方的mongostat工具输出的监控指标,去掉了一些不必要的、不可理解的监控项。目前收集数据库连接数、QPS/TPS、内存使用统计、副本集replset状态信息和同步复制延迟时间。采用远程连接方式获取数据,无需在数据库服务器端部署相关代理或定时任务,即可实现微信和邮件告警。注:监控环境为MongoDB3.2及以上版本,2.X版本未测试。mongo状态监控,点击图表,可以查看历史曲线图:1.连接数2.QPS图表环境搭建1.php-mysql驱动安装:shell>yuminstall-yphp-pearphp-develphpgccopensslopenssl-develcyrus-saslcyrus-sasl-develhttpdmysqlphp-mysql2,php-mongo驱动安装:shell>peclinstallmongo在/etc/php.ini最后一行添加extension=mongo.so重启httpd服务,servicehttpdrestart注意:如果通过pecl安装报错,请参考下面的链接安装源码。PHP5.4对应的驱动版本为mongodb-1.3.4.tgz参考链接:https://www.runoob.com/mongodb/mongodb-install-php-driver.html3.创建MongoDB超级用户权限(当监控和采集数据使用):首先,我们在被监控的数据库端创建一个授权账号,让采集服务器连接到MongoDB数据库。由于需要执行命令db.runCommand({serverStatus:1,repl:1}).repl和db.adminCommand({replSetGetStatus:1}).members,因此需要授予root角色。授权方式如下:>useadmin>db.createUser({user:"admin",pwd:"123456",roles:[{role:"root",db:"admin"}]})mongo_monitordeployhttps://github.com/hcymysql/mongo_monitor/解压archive/master.zip安装包到/var/www/html/目录下:cd/var/www/html/mongo_monitor/chmod755./mail/sendEmailchmod755。/weixin/wechat.py注意:邮箱和微信报警调用的第三方工具,所以这里要给可执行权限755。1、导入MongoMonitor监控工具表结构(mongo_monitor库):cd/var/www/html/mongo_monitor/mysql-uroot-p123456
