千家信息网

面向开发的MongoDB图形可视化监控是怎样的

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,面向开发的MongoDB图形可视化监控是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。简介一款面向研发人员查看的MongoDB
千家信息网最后更新 2026年10月31日面向开发的MongoDB图形可视化监控是怎样的

面向开发的MongoDB图形可视化监控是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

简介

一款面向研发人员查看的MongoDB图形可视化监控工具,借鉴了Percona PMM Grafana以及官方自带的mongostat工具输出的监控指标项,去掉了一些不必要、看不懂的监控项。目前采集了数据库连接数、QPS/TPS、内存使用率统计,副本集replset状态信息和同步复制延迟时长。

采用远程连接方式进去获取数据,所以不需要在数据库服务器端部署相关agent或计划任务,可实现微信和邮件报警。

注:监控环境为MongoDB 3.2以上版本,2.X版本未测试。

Mongo状态监控,点击图表,可以查看历史曲线图:

1、连接数

2、QPS图表

环境搭建

1、php-mysql驱动安装:

shell> yum install -y php-pear php-devel php gcc openssl openssl-devel cyrus-sasl cyrus-sasl-devel httpd mysql php-mysql

2、php-mongo驱动安装:

shell> pecl install mongo

把extension=mongo.so加入到/etc/php.ini最后一行

重启httpd服务,service httpd restart

注:如果通过pecl安装报错,请参考以下链接,进行源码安装。PHP 5.4版本对应的驱动版本是mongodb-1.3.4.tgz

参考链接:https://www.runoob.com/mongodb/mongodb-install-php-driver.html

3、创建MongoDB超级用户权限(监控采集数据时使用):

首先我们在被监控的数据库端创建授权帐号,允许采集器服务器能连接到MongoDB数据库。由于需要执行命令db.runCommand({serverStatus:1,repl:1}).repl和db.adminCommand( { replSetGetStatus: 1 } ).members,所以需要授予root角色,授权方式如下所示:

> use admin >db.createUser({user:"admin",pwd:"123456",roles:[{role:"root",db:"admin"}]})

mongo_monitor部署

把https://github.com/hcymysql/mongo_monitor/archive/master.zip安装包解压缩到 /var/www/html/目录下:

cd /var/www/html/mongo_monitor/

chmod 755 ./mail/sendEmail

chmod 755 ./weixin/wechat.py

注:邮件和微信报警调用的第三方工具,所以这里要赋予可执行权限755。

1、导入Mongo Monitor监控工具表结构(mongo_monitor库):

cd /var/www/html/mongo_monitor/

mysql -uroot -p123456 < mongo_monitor_schema.sql

2、录入被监控主机的信息:

INSERT INTO `mongo_status_info` (ip,tag,USER,pwd,PORT,authdb,send_mail_to_list,send_weixin_to_list,threshold_alarm_connection,threshold_alarm_repl) VALUES('10.10.159.31','MongoDB测试机1','admin','hechunyang','27017','admin','hechunyang','hechunyang@126.com',1000,60);

注,以下字段可以按照需求变更:

  • ip字段含义:输入被监控Mongo的IP地址

  • tag字段含义:输入被监控Mongo的业务名字

  • user字段含义:输入被监控Mongo的用户名(ROOT权限)

  • pwd字段含义:输入被监控Mongo的密码

  • port字段含义:输入被监控MySQL的端口号

  • authdb字段含义:输入被监控Mongo的数据库登录权限认证库名

  • monitor字段含义:0为关闭监控(也不采集数据,直接跳过);1为开启监控(采集数据)

  • send_mail字段含义:0为关闭邮件报警;1为开启邮件报警

  • send_mail_to_list字段含义:邮件人列表

  • send_weixin字段含义:0为关闭微信报警;1为开启微信报警

  • send_weixin_to_list字段含义:微信公众号

  • threshold_alarm_connection字段含义:设置连接数阀值(单位个)

  • threshold_alarm_repl字段含义:设置主从复制延迟阀值(单位秒)

3、修改conn.php配置文件:

vim /var/www/html/mongo_monitor/conn.php

$con = mysqli_connect("127.0.0.1","admin","hechunyang","mongo_monitor","3306") or die("数据库链接错误".mysql_error());

改成你的Mongo Monitor监控工具表结构(mongo_monitor库)连接信息。

4、修改邮件报警信息:

cd /var/www/html/mongo_monitor/mail/

vim mail.php

system("./mail/sendEmail -f chunyang_he@139.com -t '{$this->send_mail_to_list}' -s smtp.139.com:25 -u '{$this->alarm_subject}' -o message-charset=utf8 -o message-content-type=html -m '报警信息:

{$this->alarm_info}' -xu chunyang_he@139.com -xp '123456' -o tls=no");

改成你的发件人地址、账号密码,里面的变量不用修改。

5、修改微信报警信息:

cd /var/www/html/mongo_monitor/weixin/

vim wechat.py

微信企业号设置移步https://github.com/X-Mars/Zabbix-Alert-WeChat/blob/master/README.md看此教程配置。

6、定时任务每分钟抓取一次:

crontab -l

*/1 * * * * cd /var/www/html/mongo_monitor; /usr/bin/php /var/www/html/mongo_monitor/check_mongo_status.php > /dev/null 2 >&1 */1 * * * * cd /var/www/html/mongo_monitor; /usr/bin/php /var/www/html/mongo_monitor/check_mongo_repl.php > /dev/null 2 >&1

check_mongo_status.php(用来采集被监控端Mongo状态信息和触发报警)

check_mongo_repl.php(用来采集被监控端Mongo主从复制信息和触发报警)

7、更改页面自动刷新频率:

vim mongo_replset_monitor.php

http-equiv="refresh" content="600"

默认页面每600秒自动刷新一次。

8、页面访问:

http://yourIP/mongo_monitor/mongo_replset_monitor.php

加一个超链接,可方便地接入你们的自动化运维平台里。

关于面向开发的MongoDB图形可视化监控是怎样的问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

监控 字段 含义 报警 数据 信息 数据库 邮件 输入 工具 权限 版本 链接 图形 可视化 状态 问题 页面 服务 驱动 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 美国互联网保险保险科技 互联网扶贫科技 互联网科技金融 互联网科技英文 深圳艾佳互联网科技 天扬科技互联网广告 互联网科技类展会 互联网与医疗科技 新兴科技互联网创新大赛颁奖典礼 互联网科技研发水平 健康食品互联网创新科技园项目 互联网科技人工智能实验室 996高科技互联网公司 群盈汇互联网科技有限公司 广东工业互联网大赛深圳学泰科技 云南省自由互联网科技有限公司 城市宝互联网科技有限公司 领航科技大厦互联网公司 互联网科技的前景 互联网领先科技成果宣传视频 互联网佳科技有限公司 科技互联网产品 互联网科技行业发展 互联网与科技金融数据 上海亿帐通互联网科技 滨湖区互联网智能科技产品供应 中化能源互联网科技招聘 花神(南京)互联网科技有限公司 用友工业互联网科技发展 山东星卡互联网科技有限公司官网
0